New configuration
This update mostly changes experience source configuration. It now uses expressions to calculate experience based on conditions and parameters. Read more here.
Migration
Experience per level
Before:
json
"experience_per_level": [
10,
11,
13,
15,
17,
...
173,
179,
186,
193,
200
]
After (using values):
json
"experience_per_level": {
"type": "values",
"data": {
"values": [
10,
11,
13,
15,
17,
...
173,
179,
186,
193,
200
]
}
}
After (using expression):
json
"experience_per_level": {
"type": "expression",
"data": {
"expression": "min(level ^ 1.432 + 10, 200)"
}
}
Experience Source
Before:
json
{
"type": "puffish_skills:kill_entity",
"data": {
"anti_farming": {
"enabled": true,
"limit_per_chunk": 15,
"reset_after_seconds": 300
}
}
}
After:
json
{
"type": "puffish_skills:kill_entity",
"data": {
"parameters": {
"dropped_xp": {
"type": "entity_dropped_experience"
}
},
"experience": [
{
"expression": "dropped_xp"
}
],
"anti_farming": {
"enabled": true,
"limit_per_chunk": 15,
"reset_after_seconds": 300
}
}
}
Categories
categories.json
is now part of config.json
Before:
File categories.json
:
json
[
"combat",
"mining"
]
After:
File config.json
:
json
{
"version": 1,
"categories": [
"combat",
"mining"
]
}
Category
There is a new property exclusive_root
in category.json
. It decides if root skills should be exclusive, so when one of them is unlocked, the others are locked.
Before:
json
{
"unlocked_by_default": true,
"title": "Combat",
"icon": {
"type": "item",
"data": {
"item": "diamond_sword"
}
},
"background": "textures/gui/advancements/backgrounds/adventure.png"
}
After:
json
{
"exclusive_root": true,
"unlocked_by_default": true,
"title": "Combat",
"icon": {
"type": "item",
"data": {
"item": "diamond_sword"
}
},
"background": "textures/gui/advancements/backgrounds/adventure.png"
}