Skip to content

Fluid Component

Frinn38 edited this page Mar 15, 2021 · 8 revisions

This is the component that will let your machine interact with the Forge Fluid system (like tanks, pipes and so).

It is compatible with any other mods that use the same system (so about all of them) so any pipes will be able to pump fluids in and out of the machine.

Basically adding this component to the machine json will add a fluid tank to the machine.

This component is not unique, you can add as much as you want tanks to your machine.

Fluid component is defined with "type": "custommachinery:fluid" in the json.

Properties

Capacity (Mandatory)

Description : An integer value that define the amount of fluid that can be stored in the tank (Volume in Forge mB, with 1000mB being 1 Bucket of fluid)

Example : "capacity": 10000 The machine will be able to store 10000mB (or 10 Buckets) of any fluid (1 fluid at the time of course)

ID (Mandatory)

Description : A string that define the id of the tank (used in gui rendering), the String must be all lowercase with letters and numbers only (no spaces or special characters).

Example : "id": "tank1"

MaxInput (Optional)

Description : An 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.

MaxOutput (Optional)

Description : An integer that represent the max mB that can be output out of the tank during a single tick.

Default : The capacity of the tank.

Example : "maxOutput": 1000 The machine can give 1000mB/tick.

Filter (Optional)

Description : A list of fluids that the tank can accept. The fluids mus be referenced by their registry name like minecraft:water or minecraft:lava.

Default : No filter, so all fluids are accepted by the tank.

Example : "filter": ["minecraft:water"] The tank will only accept Minecraft vanilla water.

Mode (Optional)

Description : The IO mode of the tank. Available modes are (input/output/both/none). Pipes can only insert in an input tank and extract from an output tank. With a bucket you can both insert and extract fluids in an input tank but only extract fluids from an output tank. While crafting the machine will search for fluids to consume in input tanks and put the recipe results in the output tanks.

Default : both

Example : "mode": "input" Set the tank as an input tank.

Note : An input tank will have a maxOutput value of 0 even if you set it to another value in the maxOutput property, same goes for output tank and maxInput property.

Example

An example of Fluid Component that can store 10000mB of lava only, send 1000mB/tick and receive 666mB/tick.

{
    "type": "custommachinery:fluid",
    "capacity": 10000,
    "id": "lavatank",
    "maxInput": 666,
    "maxOutput": 1000,
    "filter": ["minecraft:lava"]
}

You just have to put that in the components array in the machine json.

Clone this wiki locally