public class GateLogic extends java.lang.Object implements IGate, IWireEmitter, IRedstoneStatementContainer
Modifier and Type | Class and Description |
---|---|
class |
GateLogic.StatementPair |
Modifier and Type | Field and Description |
---|---|
boolean[] |
actionOn
Used at the client to display if an action is activated (or would be activated if its not null), or a trigger is
currently triggering.
|
java.util.List<StatementSlot> |
activeActions |
boolean[] |
connections
Used to determine if gate logic should go across several trigger/action pairs.
|
boolean |
isOn
Used on the client to determine if this gate should glow or not.
|
static int |
NET_ID_CHANGE |
static int |
NET_ID_RESOLVE |
PluggableGate |
pluggable
Deprecated.
|
int |
redstoneOutput |
int |
redstoneOutputSide |
GateLogic.StatementPair[] |
statements |
boolean[] |
triggerOn
Used at the client to display if an action is activated (or would be activated if its not null), or a trigger is
currently triggering.
|
GateVariant |
variant |
Constructor and Description |
---|
GateLogic(PluggableGate pluggable,
GateVariant variant) |
GateLogic(PluggableGate pluggable,
net.minecraft.nbt.NBTTagCompound nbt) |
GateLogic(PluggableGate pluggable,
PacketBufferBC buffer) |
Modifier and Type | Method and Description |
---|---|
void |
emitWire(net.minecraft.item.EnumDyeColor colour)
Emits the given wire colour this tick.
|
java.util.List<IStatementParameter> |
getActionParameters(int slot) |
java.util.List<IStatement> |
getActions() |
java.util.List<StatementSlot> |
getActiveActions() |
java.util.SortedSet<ActionWrapper> |
getAllValidActions() |
java.util.SortedSet<TriggerWrapper> |
getAllValidTriggers() |
net.minecraft.tileentity.TileEntity |
getNeighbourTile(net.minecraft.util.EnumFacing side) |
IPipeHolder |
getPipeHolder() |
int |
getRedstoneInput(net.minecraft.util.EnumFacing side)
Get the redstone input from a given side.
|
net.minecraft.util.EnumFacing |
getSide() |
net.minecraft.tileentity.TileEntity |
getTile() |
java.util.List<IStatementParameter> |
getTriggerParameters(int slot) |
java.util.List<IStatement> |
getTriggers() |
boolean |
isEmitting(net.minecraft.item.EnumDyeColor colour)
Checks to see if this wire emitter is currently emitting the given colour.
|
boolean |
isSplitInTwo() |
boolean |
isValidAction(IStatement statement) |
boolean |
isValidTrigger(IStatement statement) |
void |
onTick() |
void |
readPayload(int id,
PacketBufferBC buffer,
net.minecraftforge.fml.relauncher.Side side,
net.minecraftforge.fml.common.network.simpleimpl.MessageContext ctx) |
void |
resolveActions() |
void |
sendPayload(int id,
IPayloadWriter writer)
Helper method to send a custom payload to the other side via the pluggable.
|
void |
sendResolveData() |
void |
sendStatementUpdate(boolean isAction,
int slot) |
boolean |
setRedstoneOutput(net.minecraft.util.EnumFacing side,
int value)
Set the redstone input for a given side.
|
void |
writeCreationToBuf(PacketBufferBC buffer) |
net.minecraft.nbt.NBTTagCompound |
writeToNbt() |
public static final int NET_ID_RESOLVE
public static final int NET_ID_CHANGE
@Deprecated public final PluggableGate pluggable
public final GateVariant variant
public final GateLogic.StatementPair[] statements
public final java.util.List<StatementSlot> activeActions
public final boolean[] connections
public final boolean[] triggerOn
public final boolean[] actionOn
public int redstoneOutput
public int redstoneOutputSide
public boolean isOn
public GateLogic(PluggableGate pluggable, GateVariant variant)
public GateLogic(PluggableGate pluggable, net.minecraft.nbt.NBTTagCompound nbt)
public GateLogic(PluggableGate pluggable, PacketBufferBC buffer)
public net.minecraft.nbt.NBTTagCompound writeToNbt()
public void writeCreationToBuf(PacketBufferBC buffer)
public final void sendPayload(int id, IPayloadWriter writer)
public void readPayload(int id, PacketBufferBC buffer, net.minecraftforge.fml.relauncher.Side side, net.minecraftforge.fml.common.network.simpleimpl.MessageContext ctx) throws java.io.IOException
java.io.IOException
public void sendStatementUpdate(boolean isAction, int slot)
public void sendResolveData()
public net.minecraft.util.EnumFacing getSide()
getSide
in interface ISidedStatementContainer
public net.minecraft.tileentity.TileEntity getTile()
getTile
in interface IStatementContainer
public net.minecraft.tileentity.TileEntity getNeighbourTile(net.minecraft.util.EnumFacing side)
getNeighbourTile
in interface IStatementContainer
public IPipeHolder getPipeHolder()
getPipeHolder
in interface IGate
public java.util.List<IStatement> getTriggers()
getTriggers
in interface IGate
public java.util.List<IStatement> getActions()
getActions
in interface IGate
public java.util.List<StatementSlot> getActiveActions()
getActiveActions
in interface IGate
public java.util.List<IStatementParameter> getTriggerParameters(int slot)
getTriggerParameters
in interface IGate
public java.util.List<IStatementParameter> getActionParameters(int slot)
getActionParameters
in interface IGate
public int getRedstoneInput(net.minecraft.util.EnumFacing side)
IRedstoneStatementContainer
getRedstoneInput
in interface IRedstoneStatementContainer
side
- The side - use "null" for maximum input.public boolean setRedstoneOutput(net.minecraft.util.EnumFacing side, int value)
IRedstoneStatementContainer
setRedstoneOutput
in interface IRedstoneStatementContainer
side
- The side - use "null" for all sides.public boolean isEmitting(net.minecraft.item.EnumDyeColor colour)
IWireEmitter
isEmitting
in interface IWireEmitter
public void emitWire(net.minecraft.item.EnumDyeColor colour)
IWireEmitter
emitWire
in interface IWireEmitter
public boolean isSplitInTwo()
connections
public void resolveActions()
public void onTick()
public java.util.SortedSet<TriggerWrapper> getAllValidTriggers()
public java.util.SortedSet<ActionWrapper> getAllValidActions()
public boolean isValidTrigger(IStatement statement)
public boolean isValidAction(IStatement statement)