Skip to content

Redstone Component

Frinn38 edited this page Oct 11, 2021 · 2 revisions

This component let you interact with the vanilla redstone logic system. It doesn't store anything on the machine, instead it can be used to define the redstone behaviour of the machine.

This component is fully optional, if not added the machine default redstone behaviour is :

  • Pause processing when any redstone signal is received
  • Never emit a redstone signal

This component must be single, if you try to add more than 1 redstone component only the first will be used.

Redstone component is defined with "type": "custommachinery:redstone" in the machine json.

Properties

powertopause (Optional)

Description : Define the redstone signal power needed to pause the machine. Put a number greater than 15 if you want the machine to never pause on redstone signal (since vanilla max redstone power is 15).

Default : 0 The machine will never pause.

Example : "powertopause": 5 The machine will pause if a redstone signal of 5 or more is applied to it.

craftingpoweroutput (Optional)

Description : Define the redstone signal power emitted when the machine is processing a recipe.

Default : 0 The machine never emit redstone signal.

Example : "craftingpoweroutput": 15 The machine will emit a redstone signal of 15 when processing.

idlepoweroutput (Optional)

Description : Define the redstone signal power emitted when the machine is idle.

Default : 0 The machine never emit redstone signal.

Example : "idlepoweroutput": 15 The machine will emit a redstone signal of 15 when idle.

erroredpoweroutput (Optional)

Description : Define the redstone signal power emitted when the machine is errored.

Default : 0 The machine never emit redstone signal.

Example : "erroredpoweroutput": 15 The machine will emit a redstone signal of 15 when errored.

comparatorinputtype (Optional)

Description : A component type that will be used to determine the redstone signal emitted by a vanilla comparator. All currently supported component types are :

  • custommachinery:item Will output a signal corresponding to the item in it's slot, the same way the vanilla chest does.
  • custommachinery:fluid Will output a signal corresponding to the amount of fluid in it's tank, 0 empty, 15 full, 8 half...
  • custommachinery:energy Will output a signal corresponding to the amount of energy in it's buffer, 0 empty, 15 full, 8 half...

Default : custommachinery:energy The comparator will output a redstone signal based on the machine energy buffer (if present), or 0 if the machine doesn't have an energy component.

Example : "comparatorinputtype": "custommachinery:fluid" The comparator will output a redstone signal based on one of the machine internal fluid tank. Define the used fluid tank with the comparatorinputid property.

comparatorinputid (Optional)

Description : Used with the comparatorinputtype property, define which component will be used in case of the component type specified is not single (so for items and fluid). The id provided must be the same than the id defined in the component json. If no component can be found for this type and with this id, the comparator will output a redstone signal of 0.

Default : nothing

Example : "comparatorinputid": "input" The comparator will search for a component of the type defined in the comparatorinputtype property and with the id input and if found, will output a redstone signal based on this component.

Example

A redstone component that will make the machine :

  • Output a redstone signal of 0 when idle
  • Output a redstone signal of 7 when crafting
  • Output a redstone signal of 14 when errored
  • Pause when a redstone signal of 15 is received
  • Nearby comparators will output a signal based on an item in a slot with id "input"
{
    "type": "custommachinery:redstone",
    "powertopause": 15,
    "craftingpoweroutput": 7,
    "erroredpoweroutput": 14,
    "comparatorinputtype": "custommachinery:item",
    "comparatorinputid": "input"
}
Clone this wiki locally