Pixel Dream StudiosWiki

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

Example:

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

Example:

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

Example:

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

On this page