Folder structure
(data pack name)
├ pack.mcmeta
├ pack.png
└ data
└ (namespace)
├ origins
│ └ (class name)
│ └ baseclass.json
│ └ (ascended class name)
│ ├ ascendedclass.json
│ ├ ascendedclassa.json
│ └ ascendedclassb.json
└ (advancements)
├ (class name)
│ ├ baseclass_upgrade_a.json
│ ├ baseclass_upgrade_b.json
│ └ (ascended class name )
│ ├ ascendedclass_upgrade_a.json
│ └ ascendedclass_upgrade_b.json
└ (other class name)
Class Structure
Below the example of the base blacksmith class. As you can see, at the core it’s essentially an Origin.
{
"name": "origin.exaltation.blacksmith.name",
"description": "origin.exaltation.blacksmith.description",
"powers": [
"exaltation:resetlevel",
"exaltation:branchat50",
"exaltation:blacksmith/blacksmith_consuming",
"exaltation:blacksmith/smithing_armor_power",
"exaltation:blacksmith/smithing_weapon_power",
"exaltation:blacksmith/lucky"
],
"icon": "minecraft:iron_ingot",
"impact": 1,
"upgrades": [
{
"condition": "exaltation:blacksmith/blacksmith_upgrade_a",
"origin": "exaltation:blacksmith/warsmith/warsmith",
"announcement": "Warsmith Activated"
},
{
"condition": "exaltation:blacksmith/blacksmith_upgrade_b",
"origin": "exaltation:blacksmith/arcanesmith/arcanesmith",
"announcement": "Magesmith Activated"
}
]
}
resetlevel, branchatX and the consuming powertype will be written about at a future date. Powers are handled by Origins as per the Origins wiki. There are a handful of additional powers that need to be written about.
Advancement Structure
Extremely simple, this. Every single one of these looks like this. But they have to follow the folder format as per the first entry on this page. The filenames must match exactly.
{
"criteria": {
"simple": {
"trigger": "minecraft:impossible"
}
},
"requirements": [
[
"simple"
]
]
}