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.
|
protected static IdAllocator |
ID_ALLOC |
boolean |
isOn
Used on the client to determine if this gate should glow or not.
|
static int |
NET_ID_CHANGE
Sent when a single statement changed.
|
static int |
NET_ID_DARK
Sent when
isOn is false. |
static int |
NET_ID_GLOWING
Sent when
isOn is true. |
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(PacketBufferBC buffer,
net.minecraftforge.fml.relauncher.Side side,
net.minecraftforge.fml.common.network.simpleimpl.MessageContext ctx) |
void |
resolveActions() |
void |
sendIsOn() |
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() |
protected static final IdAllocator ID_ALLOC
public static final int NET_ID_RESOLVE
public static final int NET_ID_CHANGE
public static final int NET_ID_GLOWING
isOn
is true.public static final int NET_ID_DARK
isOn
is false.@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 void readPayload(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 void sendIsOn()
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)