Reskillable Reimagined
Reskillable is an RPG-style progression mod that introduces a skill-based locking and leveling system for Minecraft.
Players must earn experience and level up skills in order to use powerful gear, defeat strong enemies, and access advanced content.
This guide covers the entire system, including skills, perks, configs, commands, and customization options.
๐ฅ Core Features
Reskillable adds:
- A full skill leveling system
- Gear gating by player skill level
- Entity attack requirements (mobs can require skill levels to damage)
- Crafting requirements
- A modular perk system
- Configurable attribute bonuses
- XP-scaling and level progression
- Full datapack-style JSON customization
๐ฏ Skill System
Each player has multiple skills they can level up using experience.
Available Skills
| Skill | Purpose |
|---|---|
| Attack | Controls ability to use weapons and defeat strong enemies |
| Defense | Controls armor usage and survivability |
| Mining | Controls use of mining tools |
| Gathering | Controls use of gathering tools like shovels & axes |
| Farming | Controls hoe/tool usage for crops |
| Building | Controls building-related actions (block reach, etc.) |
| Agility | Grants movement and mobility perks |
| Magic | Controls magical items & spell-based gear |
๐งช Custom Skills
Reskillable also supports custom skills, allowing modpacks and servers to add their own progression categories beyond the built-in skills.
Custom skills are defined in:
Example: config/reskillable/custom_skills.json
{
"id": "swimming",
"displayName": "Swimming",
"perkAttribute": "forge:swim_speed",
"icon": "reskillable:textures/gui/custom_skills/swimming.png",
"perkOperation": "ADDITION",
"perkAmountPerStep": 0.1,
"perkStep": 5
}Field Breakdown
| Field | Description |
|---|---|
id | Internal skill ID used by the mod, commands, locks, and gates |
displayName | Name shown in the skill screen |
perkAttribute | Attribute granted by this skill's perk |
icon | Texture path used for the skill icon |
perkOperation | Attribute modifier operation, such as ADDITION |
perkAmountPerStep | How much bonus is granted each milestone |
perkStep | How many levels are required per perk milestone |
Notes
idshould be lowercase and unique.- The
idis what you use in:- skill locks
- skill level gates
- commands
- Custom skills start at level 1, just like built-in skills.
- If a custom skill has a valid perk setup, it can also appear in the custom perks page.
- Custom skill icons should point to a valid texture path.
Using Custom Skills in Locks or Gates
Example skill lock:
{
"skillLocks": {
"minecraft:trident": ["swimming:10"]
}
}Example skill gate:
skill_level_gates = [
"SWIMMING:10:TOTAL=25"
]
๐ Leveling & XP System
- Players spend XP to upgrade skills via the skills menu.
- XP cost scales dynamically using both:
- Predefined XP scaling curves
- A configurable multiplier
XP Scaling
- XP requirements scale similarly to vanilla Minecraft levels.
- XP progression beyond level 50 uses a fallback scaling system.
- Fully configurable using:
xpScalingMultiplier
levelsPerHeart
healthPerHeart
maximumLevel๐ฅ Attribute Bonuses
Every 5 levels in a skill grants permanent bonuses.
These bonuses are configurable via the config.
Example Bonuses
| Skill | Bonus |
|---|---|
| Attack | Extra attack damage |
| Defense | Extra armor + armor toughness |
| Agility | Movement speed |
| Magic | Custom attribute (configurable ID) |
| Building | Block reach distance |
| Gathering | Bonus XP gain |
| Mining | Mining speed |
| Farming | Crop growth chance |
All of these are adjustable via config.
๐งฉ Perk System
At certain levels, skills unlock perks that modify gameplay.
Examples:
- Increase movement speed
- Bonus mining reach
- Extra block break power
- Faster gathering speed
- Magical attribute boosts
Perks can be toggled and updated dynamically.
๐ Skill Locking System
Reskillable can restrict:
โ
Item usage
โ
Entity attacks
โ
Crafting recipes
By skill level.
1. Item Skill Restrictions
Controlled by:
config/reskillable/skill_locks.jsonExample:
{
"skillLocks": {
"minecraft:diamond_sword": ["attack:15"],
"minecraft:netherite_chestplate": ["defense:30"]
}
}Meaning:
- You need Attack 15 to use a diamond sword.
- You need Defense 30 for netherite armor.
2. Entity Attack Restrictions
You can restrict attacking mobs:
config/reskillable/attack_skill_locks.jsonExample:
{
"attackSkillLocks": {
"minecraft:warden": ["attack:25"]
}
}If your skill is too low:
- You do no damage
- Or reduced damage (depending on config)
3. Craft Skill Restrictions
Crafting can also be locked:
config/reskillable/craft_skill_locks.jsonYou can make crafting recipes require certain skill levels.
โ Config Options (Config File)
The main config controls mod behavior.
Important Config Options
| Config | Description |
|---|---|
disableWoolDrops | Disables wool drops unless shears are used |
deathSkillReset | Reset skills on player death |
maxSpendableLevels | Maximum total levels a player can spend across all skills |
maximumLevel | Max level a skill can reach |
xpScalingMultiplier | Global XP scaling multiplier |
enableSkillLeveling | Toggle skill leveling entirely |
enableSecondSkillPage | Toggle second page for custom skills! |
enableSkillUpMessage | Shows skill-up chat messages |
levelsPerHeart | Total combined skill levels required per extra heart |
healthPerHeart | Amount of health gained per heart milestone |
magicAttribute | Attribute ID used for the Magic skill |
attackDamageBonus | Attack damage bonus per milestone |
armorBonus | Defense armor bonus per milestone |
movementSpeedBonus | Agility movement speed bonus |
blockReachBonus | Building block reach bonus |
miningSpeedMultiplier | Mining speed bonus per milestone |
cropGrowthChancePer5Levels | Farming crop growth bonus |
gatheringXpBonus | Bonus XP gained from gathering actions |
skill_level_gates | Defines progression gates that restrict skill leveling until requirements are met |
๐ Skill Level Gating
Reskillable supports skill level gating, allowing you to prevent players from leveling a skill until certain progression requirements are met.
This is configured using the skill_level_gates option in the main config.
Skill gates do not prevent XP gain โ they only prevent leveling up until requirements are satisfied.
๐ Config Format
# "Format: SKILL:MIN_CURRENT_LEVEL:REQS",
# "Example: ATTACK:10:TOTAL=30,MINING=5,DEFENSE=5",
# "New token: ADV=<namespace:path> (player must have completed the advancement)",
# "You can include multiple: ADV=minecraft:story/mine_diamond,ADV=minecraft:nether/root",
# "Tokens: TOTAL=<n>, OTHER_SKILL=<n>, ADV=<advancement_id>"skill_level_gates = []
Example's:
skill_level_gates = [
"ATTACK:15:ADV=minecraft:story/mine_diamond"
]Prevents leveling after ATTACK 15 until mine diamonds advancement has been completed:
- you can use custom advancements or default ones
- graet for ftbquests or other ways of preventing skill leveling
skill_level_gates = [
"ATTACK:10:TOTAL=30"
]- Attack can be leveled freely up to level 10
- from level 10 onward, the player must have 30 total skill levels
skill_level_gates = [
"ATTACK:15:TOTAL=40,MINING=10,DEFENSE=10"
]Attack level 15+ requires:
- 40 total skill levels
- MINING level 10
- DEFENSE level 10
all Requirements must be met to level attack past level 15
skill_level_gates = [
"ATTACK:10:TOTAL=25",
"ATTACK:20:TOTAL=50",
"MAGIC:15:ATTACK=10"
]Example of Multiple settings and 2 for 1:
- To level ATTACK past 10 you need 25 levels
- To level ATTACK past 20 you need 50 levels
- to level MAGIC past 15 you need 10 ATTACK levels
โค๏ธ Health Scaling
Reskillable allows players to gain bonus health:
- Every X total skill levels โ gain a heart
- Fully controlled via:
levelsPerHearthealthPerHeart
This makes progression feel more RPG-like.
๐ง Magic Skill Integration
The Magic skill connects to other mods using attributes.
You can define a custom mod attribute:
magicAttribute = "modid:spell_power"If missing or invalid, it defaults to minecraft:generic.luck.
๐ Commands
Reskillable provides powerful commands:
/skills
Base command
/skills set
Set a player's skill level manually.
/skills set <player> all <level>
Sets all built-in and enabled custom skills to the same level.
/skills add <player> all <amount>
Adds levels to all built-in and custom skills (in enabled).
/skills get
Check a player's skill levels.
/skills reload
Reloads all configs and JSON files live. (Works in singleplayer only and only if your file is a certain size after it gets to big you will need to restart game.)
/skills scanmod <modid>
Automatically scans a mod and adds all its items into your skill lock config. (Singleplayer only) (1.21.1 adds all items/1.20.1 only adds weapons/tools/armor. Values added(if any)are merely placeholders you should triple check anything this mod command adds(it does not overwrite existing.))
/skills respec <player>
Resets all built-in and custom skills back to level 1 and refunds the XP spent on leveling them.
Example:
/skills respec PlayerNameThis command:
resets built-in skills
resets custom skills
clears stored skill XP
refunds spent XP
reapplies perks and attributes
๐ JSON Presets & Defaults
Reskillable automatically generates:
skill_locks.jsoncustom_skills.jsonattack_skill_locks.jsoncraft_skill_locks.json
It also includes default vanilla benchmarks for:
- Armor tiers
- Weapon power
- Tool progression
๐ Modpack & Developer Tools
Reskillable is made for:
- Modpacks
- RPG progression systems
- Hardcore difficulty packs
- Servers with progression gates
It supports:
- Easy integration with other mods
- Custom attribute linking
- Datapack-style progression
Tinkers Construct Support Examples
Format for setting skill locks:
#Format:<namespace>:<item>__<material1>__<material2>__<material3>
# Basically all of them will follow "tconstruct:<tool>__tconstruct followed by materails with __ inbetween each.example sets:
"tconstruct:kama__tconstruct_manyullyn__tconstruct_manyullyn__tconstruct_manyullyn": [
"attack:12"
],
"tconstruct:broad_axe__tconstruct_pig_iron__tconstruct_pig_iron__tconstruct_pig_iron__tconstruct_pig_iron": [
"attack:10",
"mining:10"
],
"tconstruct:pickaxe__tconstruct_wood__tconstruct_wood__tconstruct_skyslime_vine": [
"mining:4"
]TacZ Support Examples
Format for setting skill locks:
# Format: tacz:<gun_type>__<gunid>
# The base item path is used first, then "__", then the GunId from NBT.
# Any ":" inside the GunId gets replaced with "_".Example:
Item ID: tacz:modern_kinetic_gun
GunId in NBT: tacz:bf1_tg1918
tacz:modern_kinetic_gun__tacz_bf1_tg1918
"tacz:modern_kinetic_gun__tacz_bf1_tg1918": [
"attack:8"
],
"tacz:modern_kinetic_gun__tacz_ak47": [
"attack:10"
],
"tacz:modern_kinetic_gun__tacz_m82a1": [
"attack:14"
]Irons Spell's and Spellbook's Examples:
# Format: irons_spellbooks:scroll__<spell_name>_<level>
# Scrolls are checked based on the spell stored inside them.
# The spell namespace is removed, and only the spell path is used.Examples with a couple spells with levels:
"irons_spellbooks:scroll__teleport_1": [
"magic:4"
],
"irons_spellbooks:scroll__fireball_2": [
"magic:8"
],
"irons_spellbooks:scroll__chain_lightning_3": [
"magic:12"
]๐ Who Should Use Reskillable?
Perfect for:
โ
RPG modpacks
โ
Progression-based servers
โ
Hardcore survival worlds
โ
Magic-focused packs
โ
Adventure maps
โ FAQ
Can I completely disable leveling?
Yes:
enableSkillLeveling = falseSkills then must be granted via commands or datapacks.
Can I lock modded items?
Yes! Just enter modid:itemid
Can I use my custom magic attribute for perks?
Yes.
Just set:
magicAttribute = "yourmod:attribute"Can players bypass skill locks?
Only via creative mode or commands.
โ Final Notes
Reskillable is designed to be:
- Modular
- Datapack-friendly
- Highly configurable
- Easy to expand
Every aspect of player progression is fully customizable.
โ๏ธ Reskill your world.
๐ Level with purpose.
๐ฅ Earn your power.
