Upgrades
Make an existing item capable of modifying recipe requirements
Machine upgrades are items that can be used to change the behaviors of a custom machine when inserted in an upgrade item component.
Upgrade items can change the following behaviours :
Recipe requirements (items, fluids, energy... consumption and production)
Machine components (capacity, max/min inputs/outputs)
Cores amount of the machine processor.
You can define any item registered in the game as machine upgrade.
The machine upgrade must be defined in a json file placed in a datapack, such as machines and recipes json.
The path of the machine upgrade json file must be : [datapack_name]/data/[namespace]/upgrade/my_upgrade.json
You can use whatever you want as [datapackname] but [namespace] and json file name must be all lowercase without spaces or special characters except _
Properties
The upgrade json has 2 mandatory properties and 5 optional properties.
Mandatory properties
Optional properties
Example
The machine upgrade json below make a vanilla diamond item half the recipe duration in the Custom Machinery Power Crusher included in the test datapack.
{
"item": "minecraft:diamond",
"machines": ["custommachinery:power_crusher"],
"requirements": [
{
"requirement": "custommachinery:speed",
"mode": "input",
"operation": "multiplication",
"modifier": 0.5
}
]
}The upgrade below will double the machine's energy buffer, and add a second core to the machine.
{
"item": "minecraft:diamond",
"machines": ["custommachinery:power_crusher"],
"components": [
{
"component": "custommachinery:energy",
"target": "capacity",
"operation": "multiplication",
"modifier": 2
}
],
"core": {
"operation": "addition",
"modifier": 1
}
}Last updated