diff options
author | Draknyte1 <Draknyte1@hotmail.com> | 2016-01-20 14:24:34 +1000 |
---|---|---|
committer | Draknyte1 <Draknyte1@hotmail.com> | 2016-01-20 14:24:34 +1000 |
commit | 869c206c4fcc8001bd2e1d66f704290331813835 (patch) | |
tree | 96735ce8fe4665e2759c3374221d6f06f4527df2 /src/Java/binnie/core/triggers/TriggerProvider.java | |
parent | ec2c72827f01dd4bb2174137f1ab162f9ddaab62 (diff) | |
download | GT5-Unofficial-869c206c4fcc8001bd2e1d66f704290331813835.tar.gz GT5-Unofficial-869c206c4fcc8001bd2e1d66f704290331813835.tar.bz2 GT5-Unofficial-869c206c4fcc8001bd2e1d66f704290331813835.zip |
Initial Commit
Diffstat (limited to 'src/Java/binnie/core/triggers/TriggerProvider.java')
-rw-r--r-- | src/Java/binnie/core/triggers/TriggerProvider.java | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/src/Java/binnie/core/triggers/TriggerProvider.java b/src/Java/binnie/core/triggers/TriggerProvider.java new file mode 100644 index 0000000000..fc6da191e8 --- /dev/null +++ b/src/Java/binnie/core/triggers/TriggerProvider.java @@ -0,0 +1,57 @@ +package binnie.core.triggers; + +import binnie.core.machines.component.IBuildcraft.TriggerProvider; +import buildcraft.api.statements.IStatementContainer; +import buildcraft.api.statements.ITriggerExternal; +import buildcraft.api.statements.ITriggerInternal; +import buildcraft.api.statements.ITriggerProvider; +import java.util.ArrayList; +import java.util.Collection; +import java.util.LinkedList; +import java.util.List; +import net.minecraft.tileentity.TileEntity; +import net.minecraftforge.common.util.ForgeDirection; + +class TriggerProvider + implements ITriggerProvider +{ + static TriggerProvider instance = new TriggerProvider(); + public static List<BinnieTrigger> triggers = new ArrayList(); + + public Collection<ITriggerExternal> getExternalTriggers(ForgeDirection side, TileEntity tile) + { + LinkedList<TriggerData> list = new LinkedList(); + + LinkedList<ITriggerExternal> triggerData = new LinkedList(); + if ((tile instanceof IBuildcraft.TriggerProvider)) { + ((IBuildcraft.TriggerProvider)tile).getTriggers(list); + } + for (TriggerData data : list) { + if ((data.getKey() != null) && (data.getKey().getUniqueTag() != null)) { + triggerData.add(data.getKey()); + } + } + return triggerData; + } + + public static boolean isTriggerActive(ITriggerExternal trigger, TileEntity tile) + { + LinkedList<TriggerData> list = new LinkedList(); + + LinkedList<ITriggerExternal> triggerData = new LinkedList(); + if ((tile instanceof IBuildcraft.TriggerProvider)) { + ((IBuildcraft.TriggerProvider)tile).getTriggers(list); + } + for (TriggerData data : list) { + if (data.getKey() == trigger) { + return data.getValue().booleanValue(); + } + } + return false; + } + + public Collection<ITriggerInternal> getInternalTriggers(IStatementContainer container) + { + return new ArrayList(); + } +} |