⚔ Skills
A long-term skill progression system for your server
Paper 1.21+ · No hard dependencies · Fully configurable
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
What is this?
Skills adds a fully config-driven skill progression system to your server. Players earn XP by doing what they already do — mining, fighting, fishing, farming — and level up to unlock passive bonuses and powerful active abilities.
Everything is configurable. XP values, drop chances, damage scaling, ability durations, cooldowns, level caps, grind profiles — all of it lives in clean YAML files that you can tweak without touching any code.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⛏ Skills Overview
Every skill has
3 passive perks and
1 active ability that unlocks at Level 50.
- ⛏ Mining — Bonus ore drops + Vein Burst: 3x3 mining mode
- Woodcutting — Bonus log drops + Lumber Rush: instant tree feller
- ⚔ Combat — Melee damage scaling + lifesteal + Berserker: +35% damage burst
- Farming — Bonus crop drops + Abundance: auto-harvest nearby crops
- Fishing — Better catches + Master Angler: duplicate catches
- Excavation — Bonus soil drops + Quake Drill: 3x3 excavation mode
- Archery — Arrow damage scaling + Arrow Storm: +35% ranged damage burst
- ⚗ Alchemy — Brewing XP scaling + Philosopher's Rush: extra potion output
Players can have up to
3 skills active at once — configurable. Only active skills grant their passive bonuses and allow use of their active ability.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚙ Highly Configurable
This plugin was built with server admins in mind. You shouldn't have to compromise on how your server works — so almost everything can be changed.
Three dedicated config files:
- general.yml — Core settings: max level, how many skills can be active at once, the XP curve (base + exponent), active ability durations per skill, cooldowns, milestone intervals, performance preset — plus full UI customization (menu titles, labels, messages via general.ui.*)
- xp.yml — XP values for every single block, mob, and action. Want diamonds to give 10x more XP than coal? Easy. Want specific mobs to award custom XP? Done.
- perks.yml — Fine-tune all perk scaling: double drop chance per level, drop chance cap, melee damage bonus per level, archery damage bonus per level
Grind profiles — switch between
easy,
normal and
hard presets that multiply all XP values globally. Perfect for quickly tuning progression speed without changing individual values.
Performance presets —
low,
medium and
high_population modes control ability block-breaking budgets and actionbar update frequency to fit your server size.
XP curve — the leveling curve uses a simple exponential formula:
xpBase * level^xpExponent. Tweak both values to completely reshape how fast progression feels at any level range.
Seasonal skills — optional time-limited progression tracks (Hunter, Forager, Explorer). Enable or disable each one individually.
Live reload — change any config value and run
/skills admin reload. No restart needed.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✨ Features
- 8 fully working skills with passive + active abilities
- Active ability system — right-click with the matching tool to activate
- XP BossBar — shows XP gained + level progress on every action
- Action bar timer — shows active ability duration and cooldowns in real time
- Level milestones — special messages every N levels (configurable interval)
- Leaderboard GUI — top 10 players by total level with player heads, uses cached last-known names (no Mojang API lookups, no main thread lag)
- Seasonal Skills — optional time-limited progression tracks
- PlaceholderAPI support — %skills_level_mining%, %skills_xp_combat% etc.
- Anti-abuse — placed block tracking prevents XP farming (covers both normal breaks and ability extra breaks), mob spawn reason filtering blocks XP from spawner eggs, commands etc.
- Rate limiting — configurable break/harvest limits per second for abilities
- Async save queue — player data saves in the background, no lag on disconnect
- Full admin commands — set level, add XP, reset players, reload live
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Commands
Code (Text):
/skills — Open the skills GUI
/skills progress <skill> — Show your progress in a skill
/skills top <skill> — Top 10 players for a skill
/skills admin reload — Reload all configs live
/skills admin setlevel <player> <skill|all> <level>
/skills admin setxp <player> <skill> <xp>
/skills admin addxp <player> <skill> <xp>
/skills admin reset <player> — Reset all skills to level 1
/skills admin test <player> [level]
Aliases: /skill, /sk
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Permissions
Code (Text):
skills.admin — Access all admin commands (default: op)
skills.active.* — Use all active abilities (default: true)
skills.active.mining
skills.active.woodcutting
skills.active.combat
skills.active.farming
skills.active.fishing
skills.active.excavation
skills.active.archery
skills.active.alchemy
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Requirements
- Paper / Purpur 1.21+ (other forks untested)
- Java 21+
- PlaceholderAPI (optional — only needed for placeholder support)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Bugs / Suggestions
Found something broken or have a feature idea? Drop it in the
Discussion tab — I check it regularly.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Made with Paper API · v1.0.0