Chemical component (Mekanism)

Add chemical tanks inside the machine.

This component requires Custom Machinery Mekanism to be installed.

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.

Default : both

Example :

"mode": "input" //Set the tank as an input tank.
I/O Config
Unique

Name : unique

Description :

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.

{
    "type": "custommachinery:chemical",
    "capacity": 10000,
    "id": "tank1",
    "maxInput": 666,
    "maxOutput": 1000,
    "whitelist": "mekanism:sulfuric_acid"
}

Last updated