Creating a custom machine with datapack
The basics of creating custom machine using json.
The json file
Custom Machines json files should be located in datapacks/<datapack>/data/<namespace>/machine/<machine>.json
- <datapack> : The name of your datapack, can be whatever you want. 
- <namespace> : The namespace of your machine, must be lowercase without spaces or special characters. 
- <machine> : The id of your machine, must be lowercase without spaces or special characters except "_" and "/". 
Each machines loaded in the game should have a different ID, in the example above the machine Id is : namespace:machine
You can put any number of machines under the same namespace or separate them.
You can also use subfolders like : datapacks/datapack/data/namespace/machine/tier1/machine.json so the machine ID will be namespace:tier1/machine
Just remember that all the machines json files should be under the machine folder.
Machine properties
The machine json has 1 mandatory property and 7 optional properties.
Mandatory properties
Optional properties
Machine appearanceMachine componentsMachine GUIJEI Recipe GUICatalystsProcessorEmpty template
An empty template of a machine json with all it's properties.
{
    "name": "",
    "appearance": {},
    "tooltips": [],
    "components": [],
    "gui": [],
    "jei": [],
    "catalysts": []
}Examples
See a few examples of custom machines in the test datapack.
Last updated
