Locks and requirements
Locking items, blocks, attacks and crafting behind skill levels, and the tooltips that show it.
Skill Locking
Reskillable can restrict:
- Item usage
- Block interaction
- Block breaking
- Entity attacks
- Crafting
Requirements may use built-in or custom skill IDs.
Item & Block Requirements
Configured through:
config/reskillable/skill_locks.jsonExample:
{
"skillLocks": {
"minecraft:diamond_sword": ["attack:15"],
"minecraft:netherite_chestplate": ["defense:30"]
}
}Multiple requirements may be added to the same entry:
{
"skillLocks": {
"examplemod:ancient_blade": [
"attack:20",
"agility:10"
]
}
}The player must satisfy all configured requirements.
Built-in skill IDs can use either the configured public ID or the original compatibility alias.
Wildcard Item Locks
Item requirement configs support prefix wildcards.
The wildcard must appear at the end of the item path.
Example:
{
"skillLocks": {
"examplemod:steel_*": [
"attack:10"
]
}
}This expands against registered items whose paths begin with steel_.
Wildcards are useful for large content mods where many items share a naming prefix.
Entity Attack Requirements
Entity attack requirements are configured in:
config/reskillable/attack_skill_locks.jsonExample:
{
"attackSkillLocks": {
"minecraft:warden": ["attack:25"]
}
}This lets modpacks gate stronger enemies behind character progression.
Crafting Requirements
Crafting restrictions are configured in:
config/reskillable/craft_skill_locks.jsonExample:
{
"craftSkillLocks": {
"minecraft:diamond_sword": [
"attack:15",
"mining:10"
]
}
}This allows crafting progression to be stricter or different from normal item-use requirements.
Requirement Tooltips
Restricted items display their requirements directly in the item tooltip.
The tooltip includes:
- A Requirements: heading
- The configured skill name
- Required level
- Green text when the player meets the requirement
- Red text when the player does not meet the requirement
Configured built-in display names and custom skill display names are respected.
This means renaming attack to Combat in built_in_skills.json also updates the name shown to players in requirement tooltips.
