From 869c206c4fcc8001bd2e1d66f704290331813835 Mon Sep 17 00:00:00 2001 From: Draknyte1 Date: Wed, 20 Jan 2016 14:24:34 +1000 Subject: Initial Commit --- src/Java/binnie/core/triggers/TriggerProvider.java | 57 ++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 src/Java/binnie/core/triggers/TriggerProvider.java (limited to 'src/Java/binnie/core/triggers/TriggerProvider.java') 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 triggers = new ArrayList(); + + public Collection getExternalTriggers(ForgeDirection side, TileEntity tile) + { + LinkedList list = new LinkedList(); + + LinkedList 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 list = new LinkedList(); + + LinkedList 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 getInternalTriggers(IStatementContainer container) + { + return new ArrayList(); + } +} -- cgit