This components is used to make the machine able to hold Mekanism chemicals.
It is compatible with Mekanism pressurized pipes and any other mods that use the same system.
Basically adding this component to the machine json will add a chemical tank to the machine.
You can add as much as you want chemical components to your machine.
Each component will act as a separate chemical tank.
All of Mekanism chemicals types are supported :
Gas
Infusion
Pigment
Slurry
A chemical component can only hold a specific type of chemical (gas OR infusion OR pigment OR slurry). The type of chemical is defined in the type property (see below).
Properties
The chemical component has 3 mandatory properties and 7 optional properties :
Mandatory properties
"type": "custommachinery:gas" //Mandatory to define a gas chemical component.
OR
"type": "custommachinery:infusion" //Mandatory to define an infusion chemical component.
OR
"type": "custommachinery:pigment" //Mandatory to define a pigment chemical component.
OR
"type": "custommachinery:slurry" //Mandatory to define a slurry chemical component.
Capacity
Name : capacity
Description :
A positive integer value that define the amount of chemical that can be stored in the tank (Volume in Forge mB, with 1000mB being 1 Bucket)
Example :
"capacity": 10000 //This component will be able to store 10000mB.
Id
Name : id
Desccription :
A string that define the id of the tank (used in the gui element and recipes), the String must be all lowercase with letters and numbers only (no spaces or special characters).
Example :
"id": "tank1"
Optional properties
Max input
Name : maxInput
Description :
A positive integer that represent the max mB that can be input in the tank during a single tick.
Default :
The capacity of the tank.
Example :
"maxInput": 1000 //The machine can accept 1000mB/tick.
Max output
Name : maxOutput
Description :
A positive integer that represent the max mB that can be output from the tank during a single tick.
Default :
The capacity of the tank.
Example :
"maxOutput": 1000 //The machine can give 1000mB/tick.
Filter
Name : filter
Description :
A blacklist of chemicals that the tank can't accept.
The chemicals must be referenced by their registry name like mekanism:sulfuric_acid .
By default the blacklist is empty so all chemicals are accepted.
Default :
No filter, so all chemicals are accepted by the tank.
Example :
"filter": "mekanism:steam" //The tank will accept all chemicals except mek steam.
Whitelist
Name : whitelist
Description :
A boolean, if true the filter property will act as a whitelist instead of a blacklist, meaning that only chemicals specified in the whitelist will be accepted by the tank.
Default : false
The filter property is a blacklist.
Example :
"whitelist": true //The filter property is a whitelist.
Mode
Name : mode
Description :
The IO mode of the tank, used only by recipes to know which tanks are inputs and outputs.
Available modes are (input/output/both/none).
While crafting the machine will search for chemicals to consume in input tanks and put the recipe results in the output tanks.
For changing I/O mode of a tank for external interaction, such as buckets and pipes see the Config property below.
A boolean property (true/false) that define if the chemical component can accept a chemical that is already in another chemical component in the same machine.
If the component is set as "unique" a player won't be able to insert a chemical that is already in another tank, even if that tank is full (basically prevent overfill).
Default : false
The chemical component won't care if the fluid is already in another tank.
Example :
The chemical component won't accept chemical that already are in another component.
"unique": true
Example
An example of gas chemical component that can store 10000mB of sulfuric acid only, send 1000mB/tick and receive 666mB/tick.