Config-File Skills
You can add a brand-new skill without writing any Java. Experience Skills scans a folder of JSON files at startup and registers a skill for each one, exactly as if a plugin had declared it. This is the easiest way for modpack makers to add skills around attributes that already exist.
Location
Drop .json files into:
config/experienceskills/skills/The folder is created for you on first launch. Every .json file in it (searched recursively) becomes one skill.
File Format
Each file has three top-level keys:
| Key | Description |
|---|---|
name | The skill's unique id. Everything derived from the skill is keyed off this. |
attribute | The registry id of the attribute the skill buffs. |
defaultConfig | The skill's settings — the same fields as a Skill Config block. |
{
"name": "luck",
"attribute": "minecraft:luck",
"defaultConfig": {
"enabled": true,
"incrementPerLevel": 0.1,
"xpAwardActionCount": 100,
"xpPointToAward": 5,
"rgbColor": 43520,
"operation": "add_value",
"maxLevel": 50,
"stat": "minecraft:animals_bred"
}
}That single file adds a Luck skill that trains from animals bred and adds flat Luck as it levels.
Rules & Limits
namemust be unique across all skills, including built-ins and addon skills.attributemust already exist. Config-file skills can only buff an attribute that some mod (vanilla or otherwise) has registered — they can't create a new attribute. To add a new attribute you need the Plugin API.statmust be a custom statistic. Use a built-in Experience Skills stat or aminecraft:customstat. Per-block / per-item statistics can't drive a skill directly.- Config-file skills get the automatic attribute bonus only — they can't attach custom per-update logic (a
Handler). For that, use a Java plugin. - After first run the skill also appears in the main config, where its
defaultConfigbecomes the editable live values.
When to use which
Use config-file skills to buff an existing attribute from an existing stat with no code. Reach for the Plugin API when you need a new attribute, a new stat, or custom logic that a single attribute modifier can't express.
