Skip to content

Custom Skills

Sygikal edited this page Sep 26, 2025 · 12 revisions

Defining the Skill

  • In a datapack with your own namespace and add the skill directory.
  • In the skill directory add a json file and named after the skill you want (eg foraging.json) (Whatever you name the file will be the id of the skill)
 {
   "max_level": 22,
   "index": 0,
   "attributes": [
     {
       "primary": {
           "type": "custom_mod:custom_attribute",
           "mod": "custom_mod"
       },
       "index": 0,
       "type": "generic.max_health",
       "base": 8,
       "set_base_value": true,
       "operation": "ADDITION",
       "value": 1
     }
   ],
   "bonus": [
     {
       "level": 10,
       "key": "bonusapi:health_regen"
     }
   ]
 }
  • max_level (optional, default 20) The skills max level
  • index (optional, default 999) custom order in the Skill Screen
  • texture path for the skills texture
  • attributes is an array of attributes to award the player
    • index: index on the attribute list in the skills menu (optional, default 999)
    • type is the attribute id
    • base is the base value of the attribute (what it will start out as when you have no points)
    • set_base_value whether or not the base value will be used
    • operation how the attribute is calculated per level
      • ADDITION: add constant per level
      • MULTIPLY_BASE: adds a multiplicative of the base value
      • MULTIPLY_TOTAL: adds a multiplicative of whatever the current value is (you should probably never use this)
    • value the value to add or multiply by
  • bonus bonus id that should be unlocked at a certain level

Clone this wiki locally