-
Notifications
You must be signed in to change notification settings - Fork 434
Component Redstone
Vexatos edited this page Jul 13, 2014
·
9 revisions
For those that don't like images: the wiki has moved to a new place, http://ocdoc.cil.li/.
This wiki will no longer be updated.
This component represents a Redstone card. Note that the functions for bundled input/output are only available if a mod providing bundled Redstone (RedLogic, Project Red (with Version 1.1), MineFactory Reloaded) is installed.
Component name: redstone
.
Callbacks:
-
getInput(side: number): number
Gets the current ingoing redstone signal from the specified side. Note that the side is relative to the computer's orientation, i.e.sides.south
is in front of the computer, not south in the world. Likewise,sides.left
is to the left of the computer, so when you look at the computer's front, it'll be to your right.
If you use mods such as RedLogic the input may exceed the vanilla values of [0, 15]. -
getOutput(side: number): number
Gets the currently set output on the specified side. -
setOutput(side: number, value: number): number
Sets the strength of the redstone signal to emit on the specified side. Returns the new value.
This can be an arbitrarily large number for mods that support this. For vanilla interaction it is clamped to the interval [0, 15]. -
getBundledInput(side: number, color: number): number
LikegetInput
, but for bundled input, reading the value for the channel with the specified color. -
getBundledOutput(side: number, color: number): number
LikegetOutput
, but for bundled output, getting the value for the channel with the specified color. -
setBundledOutput(side: number, color: number, value: number): number
LikesetOutput
, but for bundled output, setting the value for the channel with the specified color.
Note that for mods such as ProjectRed, low values (such as the vanilla maximum of 15) may not function as expected for simple on/off values (opening a door for example), because they have a larger value range. You may need to use a higher value, such as 255.
Example use:
local component = require("component")
local sides = require("sides")
local colors = require("colors")
local rs = component.redstone -- get primary redstone component
print(rs.getInput(sides.back))
rs.setBundledOutput(sides.bottom, colors.green, rs.getBundledInput(sides.top, colors.red))