A lightweight RPG skill tree for survival servers. Spend XP levels (and/or resource items) in a GUI to permanently unlock and level up passive skills: speed, faster mining, ore and crop bonuses, more health, better fishing. Per-player, persistent.
A lightweight RPG-style skill tree for survival servers. Players spend vanilla
XP levels (and/or resource items) to permanently unlock and level up passive
upgrades. Everything persists per-player across restarts.
Open /skills to browse the tree in a chest-GUI; click an affordable node to
unlock or level up that skill.
| Skill | What it does | Default tiers |
|---|---|---|
| Swiftness | Permanent movement-speed boost | 4 (+5% / +10% / +15% / +20%) |
| Efficient Mining | Mine blocks faster (ambient hidden Haste) | 3 (Haste I / II / III) |
| Prospector | Fortune-style bonus ore drops without a Fortune pickaxe | 3 (Fortune I / II / III) |
| Cultivator | Extra yield when harvesting mature crops | 3 (+1 / +2 / +3 produce) |
| Iron Stomach | Chance to negate hunger loss | 3 (20% / 40% / 60%) |
| Vitality | More maximum health | 5 (+2 HP per tier, up to +10) |
| Angler's Luck | Chance for an extra fishing catch | 3 (15% / 30% / 50%) |
All magnitudes, tier counts, and costs are configurable in config.yml.
| Command | Description | Permission |
|---|---|---|
/skills |
Open the skill tree GUI | skilltree.use (default: all) |
/skills info |
List your unlocked skills | skilltree.use |
/skills grant <player> <skill> <tier> |
Set an online player's tier (0 = remove) | skilltree.admin |
/skills reset <player> |
Clear all of a player's skills | skilltree.admin |
/skills reload |
Reload config.yml and re-apply effects |
skilltree.admin |
Aliases: /skill, /skilltree, /st. All subcommands and arguments tab-complete
(skill names, online players, valid tiers).
<skill> accepts the config keys: swiftness, efficient-mining, prospector,cultivator, iron-stomach, vitality, anglers-luck.
| Permission | Default | Grants |
|---|---|---|
skilltree.use |
true (everyone) | Open the GUI, view skill info, buy skills |
skilltree.admin |
op | grant / reset / reload (implies skilltree.use) |
config.yml (created on first run). Highlights:
currency.use-xp-levels (default true) - tiers cost vanilla XP levels.currency.use-items (default false) - tiers also require resource items. Setitem-cost as a list of MATERIAL:amount (e.g. DIAMOND:4).gui-title - the chest-GUI title (supports & colour codes).enabled, max-tier, GUI slot, icon, and a tiers: map wheremagnitude, xp-cost, and item-cost.prospector.resource-blocks - the ore list eligible for bonus dropscultivator.crops - the crop list (wheat / carrots / potatoes / beetroots /Run /skills reload after editing to apply changes without a restart.
0.15 = +15%).0 = Haste I, 1 = Haste II ...).0.0 to 1.0.2 = one heart).Per-player tiers are saved to plugins/SkillTree/data/players.yml, keyed by UUID.
Written on every change and on shutdown; loaded on startup. Survives restarts.
Paper / Spigot / Bukkit / Purpur, Minecraft 1.21.1-1.21.11. One jar, built
against the 1.21.1 API (Java 21, class 65), load-tested on Paper 1.21.11; no
Paper-only classes, no NMS, no dependencies.
plugin.yml and Java class version 65; behaviour is from code/skills grant and /skills reset operate onplayers.yml directly.GENERIC_MOVEMENT_SPEED, GENERIC_MAX_HEALTH); these resolve to the sameOriginal concept by u/ColdFire0415 on Reddit (r/Minecraft). Built by BeansNToast.