Pixel Dream StudiosWiki
Mods

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

SkillPurpose
AttackControls ability to use weapons and defeat strong enemies
DefenseControls armor usage and survivability
MiningControls use of mining tools
GatheringControls use of gathering tools like shovels & axes
FarmingControls hoe/tool usage for crops
BuildingControls building-related actions (block reach, etc.)
AgilityGrants movement and mobility perks
MagicControls 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

FieldDescription
idInternal skill ID used by the mod, commands, locks, and gates
displayNameName shown in the skill screen
perkAttributeAttribute granted by this skill's perk
iconTexture path used for the skill icon
perkOperationAttribute modifier operation, such as ADDITION
perkAmountPerStepHow much bonus is granted each milestone
perkStepHow many levels are required per perk milestone

Notes

  • id should be lowercase and unique.
  • The id is 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

SkillBonus
AttackExtra attack damage
DefenseExtra armor + armor toughness
AgilityMovement speed
MagicCustom attribute (configurable ID)
BuildingBlock reach distance
GatheringBonus XP gain
MiningMining speed
FarmingCrop 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.json

Example:

{
  "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.json

Example:

{
  "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.json

You can make crafting recipes require certain skill levels.


โš™ Config Options (Config File)

The main config controls mod behavior.

Important Config Options

ConfigDescription
disableWoolDropsDisables wool drops unless shears are used
deathSkillResetReset skills on player death
maxSpendableLevelsMaximum total levels a player can spend across all skills
maximumLevelMax level a skill can reach
xpScalingMultiplierGlobal XP scaling multiplier
enableSkillLevelingToggle skill leveling entirely
enableSecondSkillPageToggle second page for custom skills!
enableSkillUpMessageShows skill-up chat messages
levelsPerHeartTotal combined skill levels required per extra heart
healthPerHeartAmount of health gained per heart milestone
magicAttributeAttribute ID used for the Magic skill
attackDamageBonusAttack damage bonus per milestone
armorBonusDefense armor bonus per milestone
movementSpeedBonusAgility movement speed bonus
blockReachBonusBuilding block reach bonus
miningSpeedMultiplierMining speed bonus per milestone
cropGrowthChancePer5LevelsFarming crop growth bonus
gatheringXpBonusBonus XP gained from gathering actions
skill_level_gatesDefines 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:
    • levelsPerHeart
    • healthPerHeart

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 PlayerName

This 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.json
  • custom_skills.json
  • attack_skill_locks.json
  • craft_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 = false

Skills 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.

On this page