Create a Minecraft 1.21.x datapack that adds an RPG-style skill leveling system based on what the player actually does.
Main Skills
Add these independent skills:
⛏ Mining – XP from mining blocks and ores.
⚔ Combat – XP from fighting and killing mobs.
🧭 Exploration – XP from walking, sprinting, swimming and exploring.
🌾 Farming – XP from harvesting crops.
🪓 Woodcutting – XP from breaking logs.
🎣 Fishing – XP from catching fish and treasure.
Each skill has its own XP and level, with a maximum level of 100.
XP & Levels
Use a progressive XP curve so higher levels require more XP.
Example rewards:
Coal Ore +5 Mining XP
Iron Ore +10 Mining XP
Diamond Ore +30 Mining XP
Ancient Debris +50 Mining XP
Zombie +10 Combat XP
Creeper +15 Combat XP
Enderman +30 Combat XP
Bosses significantly more XP
Give appropriate XP for the other skills as well.
When a skill levels up:
Increase the skill level.
Give the player 1 Skill Point.
Display a level-up title.
Play a level-up sound.
Show the XP gain through the actionbar instead of spamming chat.
/lvl GUI
Create a GUI opened with:
/lvl
The main GUI should display:
PLAYER LEVEL
Total Level: 47
Skill Points: 8
⛏ Mining Lv. 15
⚔ Combat Lv. 12
🧭 Exploration Lv. 8
🌾 Farming Lv. 6
🪓 Woodcutting Lv. 4
🎣 Fishing Lv. 2
Clicking a skill opens its detailed page showing:
Current level.
Current XP / required XP.
Progress bar.
Passive bonuses.
Available upgrades.
Back button.
Use a vanilla chest-style GUI. A resource pack can optionally be used for custom icons and a better visual design.
Skill Bonuses
Skills should provide real gameplay benefits.
Examples:
Mining: faster mining, small chance for extra ores.
Combat: increased damage, critical-hit chance.
Exploration: movement/swimming bonuses and reduced hunger.
Farming: bonus crop drops and faster farming.
Woodcutting: faster log breaking and bonus logs.
Fishing: faster fishing and increased treasure chance.
Give additional bonuses or unlocks at certain levels, such as 5, 10, 25, 50 and 100.
Skill Points
Players receive 1 Skill Point whenever they level up.
Skill Points can be spent in the GUI on upgrades, for example:
Mining Efficiency I
Cost: 2 Skill Points
Ore Fortune I
Cost: 5 Skill Points
Required Mining Level: 10
Anti-Exploitation
Prevent XP farming by:
Not rewarding XP for repeatedly breaking player-placed blocks.
Preventing AFK movement from giving Exploration XP.
Preventing repeated attacks on the same mob from generating unlimited XP.
Adding reasonable cooldowns where necessary.
Technical Requirements
Use vanilla datapack features such as:
Scoreboards
Advancements
Predicates
Tags
Functions
Scheduled/tick functions
Keep the datapack optimized and suitable for multiplayer servers.
Organize the datapack into separate functions for each skill, GUI, leveling system and admin/debug tools.
The final result should feel like a lightweight MMORPG progression system inside vanilla Minecraft, where a player's levels naturally reflect their playstyle.
minecraftdatapack0 views