Compatibility
Minecraft: Java Edition
Platforms
Tags
Creators
Details
SkillTree
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.
Skills
| 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.
Commands
| 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.
Permissions
| Permission | Default | Grants |
|---|---|---|
skilltree.use |
true (everyone) | Open the GUI, view skill info, buy skills |
skilltree.admin |
op | grant / reset / reload (implies skilltree.use) |
Configuration
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. Set per tier underitem-costas a list ofMATERIAL:amount(e.g.DIAMOND:4). If both currency modes are on, the player pays both.gui-title- the chest-GUI title (supports&colour codes).- Per skill:
enabled,max-tier, GUIslot,icon, and atiers:map where each tier setsmagnitude,xp-cost, anditem-cost. prospector.resource-blocks- the ore list eligible for bonus drops (coal/iron/copper/gold/diamond/emerald/lapis/redstone + deepslate variants, nether gold, nether quartz, ancient debris by default).cultivator.crops- the crop list (wheat / carrots / potatoes / beetroots / nether wart by default).
Run /skills reload after editing to apply changes without a restart.
Magnitude meanings
- Swiftness: fraction of base speed (
0.15= +15%). - Efficient Mining: Haste amplifier (
0= Haste I,1= Haste II ...). - Prospector: effective Fortune level for the bonus-drop roll.
- Cultivator: number of extra produce items dropped.
- Iron Stomach / Angler's Luck: chance from
0.0to1.0. - Vitality: bonus max health in half-hearts (
2= one heart).
Persistence
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.
Compatibility
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.
Known gaps / notes
- Not playtested in a live client. Built and verified to compile cleanly with
the bundled
plugin.ymland Java class version 65; behaviour is from code review, not in-game testing. - Efficient Mining + beacons. Efficient Mining is implemented as an ambient Haste effect. A nearby beacon providing Haste can overwrite or refresh the effect (vanilla keeps the higher amplifier / refreshes duration). When the player leaves the beacon range the plugin's infinite Haste is restored on the next join/respawn; if a stronger plugin/beacon Haste is active it takes precedence while it lasts. This is an inherent limitation of stacking a single potion-effect type and is documented rather than worked around.
- Prospector bonus is an approximation. It mimics a Fortune distribution by dropping the extra items a Fortune pick of the rolled level would have added; it does not perfectly replicate every per-ore vanilla loot table (e.g. redstone / lapis count ranges), and it does not interact with other plugins that also modify ore drops. Redstone-ore "lit" state is treated the same as unlit.
- Online-only admin targets.
/skills grantand/skills resetoperate on online players (effects must be applied to a live entity). Offline edits would require editingplayers.ymldirectly. - Attribute names. Compiled against the 1.21.1 attribute constants
(
GENERIC_MOVEMENT_SPEED,GENERIC_MAX_HEALTH); these resolve to the same registry attributes on 1.21.1-1.21.11.
Original concept by u/ColdFire0415 on Reddit (r/Minecraft). Built by BeansNToast.


