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 any type of chemical.
Chemical component is defined with "type": "custommachinery:chemical" in the json.
Properties
The chemical component has 3 mandatory properties and 7 optional properties :
Mandatory properties
"type": "custommachinery:chemical"//Mandatory to define a 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.
Whitelist
Name : whitelist
Description :
A list of chemicals that the component can accept.
The chemicals must be referenced by their registry name like mekanism:steam or mekanism:redstone.
You can also use a tag here using the # prefix like #mekanism:dirty
Default : empty
All chemicals are accepted by the component.
Example :
"whitelist": ["mekanism:steam","#mekanism:dirty"]
The component will accept only steam gas and chemicals in the mekanism:dirty tag.
Note : The blacklist (see below) takes priority over the whitelist. If a chemical is in both the blacklist and whitelist it won't be accepted by the component.
Blacklist
Name : blacklist
Description :
A blacklist of chemicals that the component can't accept.
The chemicals must be referenced by their registry name like mekanism:steam or mekanism:redstone.
You can also use a tag here using the # prefix like #mekanism:dirty
Default : empty
All chemicals are accepted by the component.
Example :
"blacklist": ["mekanism:steam","#mekanism:dirty"]
The slot will accept all chemicals but steam gas and chemicals in the mekanism:dirty tag.
Note : The blacklist takes priority over the whitelist (see above). If a chemical is in both the blacklist and whitelist it won't be accepted by the component.
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.