📖 Mod Overview & Core Features
⚡ Mastery system
- Persistent XP & levels – every action (mining, fighting, eating, jumping, sprinting) grants XP to specific skills.
- No level cap – skills scale indefinitely; permanent server-side attribute modifiers.
- Granular tracking – per activity, tool family, material, entity, food, and damage type.
- XP Bank – vanilla XP orbs deposit into a bank used to purchase levels and store unlocks.
📈 Attribute scaling
- Movement speed – driven by Movement, Sprinting, Swimming (highest).
- Jump & fall – Acrobatics increases jump strength, safe fall distance, and fall damage reduction (up to 85%).
- Combat & defense – Combat increases attack damage; Defense boosts armor & toughness.
- Block break speed – Mining, Woodcutting, Digging, Building all contribute.
🛒 Store unlocks
- keep_inventory (100 XP) – keep inventory on death.
- auto_food (150 XP) – auto-eat when hungry.
- respawn_death (250 XP) – respawn at death location.
- throw_axe / throw_sword – throw weapons as projectiles.
- elytra_wear (tiered) – reduced elytra durability loss.
- larger_inventory (5 tiers) – extra inventory rows.
- damage_resistance – up to 32% damage reduction.
- water_breathing – applies Water Breathing I–IV underwater.
🎮 GUI & commands
- Stick of Leveling – craftable from 3 planks, opens the leveling/store GUI.
- Action bar notifications – XP gains and level-ups appear in real time.
- Commands –
/mastery,/mastery top,/mastery skill <name>,/mastery bank,/mastery level,/mastery buy. - Full scrollable store – purchase unlocks directly from the GUI.
🛠️ Technical Summary
🧠 Architecture & data
- Oblivion-style skill engine – tracks XP per skill, per entity, per block, per food, etc. All server-side.
- Persistent storage – uses NBT / player data; XP bank and skill levels survive server restarts.
- Granular tracking – separate XP entries for each mob, block, food, and tool combination.
- Attribute application – live stat modifiers via server-side attribute system (no client-side cheats).
📦 Loader & dependencies
- Fabric – requires Fabric API and Fabric Loader. Lightweight and recommended.
- NeoForge – requires Kotlin for Forge (KFF) and NeoForge recommended version.
- Cross-compatible – Fabric and NeoForge clients can connect to the same server.
- Minimal version requirements – follows MCPE LTS versions; updated for latest releases.
⚙️ Core mechanics
- XP Bank – intercepts vanilla XP orbs and redirects to persistent bank.
- Store system – tiered unlocks with configurable costs; purchases are permanent.
- Damage scaling – outgoing damage scales with combat skill; defense reduces incoming damage multiplicatively.
- Auto-food & keep-inventory – implemented via event listeners and player data.
🔧 Advanced features
- No level cap – skills scale indefinitely; attribute bonuses continue to increase.
- Action bar XP notifications – concise, non-intrusive level-up messages.
- Customizable – config files allow tuning XP rates, store costs, and skill multipliers.
- Multiplayer ready – all data is per-player; leaderboards via
/mastery top.
• Skill XP is stored as a map of skill → (level, xp) with per-entity granularity.
• Attribute bonuses are recalculated on level-up and applied as permanent modifiers.
• Store unlocks are stored as a bitmask / tier map per player.
• The Stick of Leveling GUI uses a client‑side screen with server‑side command execution.
• Damage resistance and water breathing are applied via potion effects and custom damage reduction.
📥 Installation Guide
🧵 Fabric Installation
RECOMMENDED Best performance & stability
1. Install the Fabric Loader (recommended version for your MCPE version).
2. Download Fabric API from Modrinth or CurseForge.
3. Download EndlessMastery-Fabric-[version].jar.
4. Place both fabric-api-xxx.jar and EndlessMastery-Fabric-xxx.jar inside .minecraft/mods/.
5. Launch using the Fabric profile.
└── mods/
├── fabric-api-0.92.0+1.20.1.jar
└── EndlessMastery-Fabric-1.2.0+1.20.1.jar
✅ Note: Fabric API is mandatory.
⚙️ NeoForge Installation
ALTERNATIVE For modpacks relying on Forge ecosystem
1. Install the recommended NeoForge version for your MCPE version.
2. Download Kotlin for Forge (KFF) – absolute requirement.
3. Download EndlessMastery-NeoForge-[version].jar.
4. Place both Kotlin-For-Forge-xxx.jar and EndlessMastery-NeoForge-xxx.jar into mods/.
5. Launch the NeoForge profile.
└── mods/
├── Kotlin-For-Forge-4.11.0-all.jar
└── EndlessMastery-NeoForge-1.2.0+1.20.1.jar
⚠️ Important: Without Kotlin for Forge, the mod crashes on launch.
📌 Universal steps & recommendations
- Modpack: Pre-assembled modpack available on Modrinth and CurseForge. Recommended launchers: Modrinth App, Prism Launcher, MultiMC.
- No official server – use singleplayer, host your own, or join a community server.
- Performance tip: Fabric version is lighter; NeoForge works well but may have slightly higher overhead.
- Mod compatibility: Works with Terralith, BYG, Sodium, Lithium, Iris, and most performance mods.
- Data location: Player mastery data is stored in the world folder; config in
/config/endlessmastery/.
1. Download Fabric/NeoForge server launcher.
2. Add Endless Mastery + required API/Kotlin mods to "mods" folder.
3. Start server (agree to EULA).
4. Adjust XP rates and store costs in /config/endlessmastery/.
🏪 Store Unlocks (reference)
| Store ID | Cost (XP) | Tiers | Effect |
|---|---|---|---|
| keep_inventory | 100 | 1 | Keep inventory on death |
| auto_food | 150 | 1 | Auto-eat food when hungry |
| respawn_death | 250 | 1 | Respawn at death location |
| throw_axe | 300 | 1 | Throw axes as weapons |
| throw_sword | 350 | 1 | Throw swords as weapons |
| elytra_wear | 200 × tier | 4 | Reduced elytra durability loss |
| grass_seeds | 75 × tier | 4 | Increased seed drops from grass |
| water_breathing | 125 × tier | 4 | Water Breathing I–IV while underwater |
| less_hunger | 175 × tier | 4 | Decreased hunger drain |
| damage_resistance | 250 × tier | 4 | 8% damage reduction per tier (up to 32%) |
| larger_inventory | 500 × tier | 5 | Extra inventory rows |
Purchase via /mastery buy <id> or through the Stick of Leveling GUI.