Started fix on actions/triggers, untested

Removed Action and Trigger from API
Moved IIconProvider to API
Renamed Action -> BCAction
Renamed Trigger -> BCTrigger
This commit is contained in:
Krapht 2013-03-16 09:21:48 +01:00
parent c5ebbbdf48
commit 0f672972fe
54 changed files with 324 additions and 290 deletions

View file

@ -23,9 +23,8 @@ import net.minecraftforge.common.Configuration;
import net.minecraftforge.common.IPlantable;
import net.minecraftforge.common.Property;
import buildcraft.api.core.BuildCraftAPI;
import buildcraft.api.gates.Action;
import buildcraft.api.core.IIconProvider;
import buildcraft.api.gates.ActionManager;
import buildcraft.api.gates.Trigger;
import buildcraft.api.power.PowerFramework;
import buildcraft.core.BlockIndex;
import buildcraft.core.BlockSpring;
@ -48,9 +47,12 @@ import buildcraft.core.network.PacketUpdate;
import buildcraft.core.proxy.CoreProxy;
import buildcraft.core.triggers.ActionMachineControl;
import buildcraft.core.triggers.ActionMachineControl.Mode;
import buildcraft.core.triggers.ActionTriggerIconProvider;
import buildcraft.core.triggers.BCAction;
import buildcraft.core.triggers.ActionRedstoneOutput;
import buildcraft.core.triggers.DefaultActionProvider;
import buildcraft.core.triggers.DefaultTriggerProvider;
import buildcraft.core.triggers.BCTrigger;
import buildcraft.core.triggers.TriggerInventory;
import buildcraft.core.triggers.TriggerLiquidContainer;
import buildcraft.core.triggers.TriggerMachine;
@ -128,23 +130,23 @@ public class BuildCraftCore {
public static int markerModel;
public static int oilModel;
public static Trigger triggerMachineActive = new TriggerMachine(DefaultProps.TRIGGER_MACHINE_ACTIVE, true);
public static Trigger triggerMachineInactive = new TriggerMachine(DefaultProps.TRIGGER_MACHINE_INACTIVE, false);
public static Trigger triggerEmptyInventory = new TriggerInventory(DefaultProps.TRIGGER_EMPTY_INVENTORY, TriggerInventory.State.Empty);
public static Trigger triggerContainsInventory = new TriggerInventory(DefaultProps.TRIGGER_CONTAINS_INVENTORY, TriggerInventory.State.Contains);
public static Trigger triggerSpaceInventory = new TriggerInventory(DefaultProps.TRIGGER_SPACE_INVENTORY, TriggerInventory.State.Space);
public static Trigger triggerFullInventory = new TriggerInventory(DefaultProps.TRIGGER_FULL_INVENTORY, TriggerInventory.State.Full);
public static Trigger triggerEmptyLiquid = new TriggerLiquidContainer(DefaultProps.TRIGGER_EMPTY_LIQUID, TriggerLiquidContainer.State.Empty);
public static Trigger triggerContainsLiquid = new TriggerLiquidContainer(DefaultProps.TRIGGER_CONTAINS_LIQUID, TriggerLiquidContainer.State.Contains);
public static Trigger triggerSpaceLiquid = new TriggerLiquidContainer(DefaultProps.TRIGGER_SPACE_LIQUID, TriggerLiquidContainer.State.Space);
public static Trigger triggerFullLiquid = new TriggerLiquidContainer(DefaultProps.TRIGGER_FULL_LIQUID, TriggerLiquidContainer.State.Full);
public static Trigger triggerRedstoneActive = new TriggerRedstoneInput(DefaultProps.TRIGGER_REDSTONE_ACTIVE, true);
public static Trigger triggerRedstoneInactive = new TriggerRedstoneInput(DefaultProps.TRIGGER_REDSTONE_INACTIVE, false);
public static BCTrigger triggerMachineActive = new TriggerMachine(DefaultProps.TRIGGER_MACHINE_ACTIVE, true);
public static BCTrigger triggerMachineInactive = new TriggerMachine(DefaultProps.TRIGGER_MACHINE_INACTIVE, false);
public static BCTrigger triggerEmptyInventory = new TriggerInventory(DefaultProps.TRIGGER_EMPTY_INVENTORY, TriggerInventory.State.Empty);
public static BCTrigger triggerContainsInventory = new TriggerInventory(DefaultProps.TRIGGER_CONTAINS_INVENTORY, TriggerInventory.State.Contains);
public static BCTrigger triggerSpaceInventory = new TriggerInventory(DefaultProps.TRIGGER_SPACE_INVENTORY, TriggerInventory.State.Space);
public static BCTrigger triggerFullInventory = new TriggerInventory(DefaultProps.TRIGGER_FULL_INVENTORY, TriggerInventory.State.Full);
public static BCTrigger triggerEmptyLiquid = new TriggerLiquidContainer(DefaultProps.TRIGGER_EMPTY_LIQUID, TriggerLiquidContainer.State.Empty);
public static BCTrigger triggerContainsLiquid = new TriggerLiquidContainer(DefaultProps.TRIGGER_CONTAINS_LIQUID, TriggerLiquidContainer.State.Contains);
public static BCTrigger triggerSpaceLiquid = new TriggerLiquidContainer(DefaultProps.TRIGGER_SPACE_LIQUID, TriggerLiquidContainer.State.Space);
public static BCTrigger triggerFullLiquid = new TriggerLiquidContainer(DefaultProps.TRIGGER_FULL_LIQUID, TriggerLiquidContainer.State.Full);
public static BCTrigger triggerRedstoneActive = new TriggerRedstoneInput(DefaultProps.TRIGGER_REDSTONE_ACTIVE, true);
public static BCTrigger triggerRedstoneInactive = new TriggerRedstoneInput(DefaultProps.TRIGGER_REDSTONE_INACTIVE, false);
public static Action actionRedstone = new ActionRedstoneOutput(DefaultProps.ACTION_REDSTONE);
public static Action actionOn = new ActionMachineControl(DefaultProps.ACTION_ON, Mode.On);
public static Action actionOff = new ActionMachineControl(DefaultProps.ACTION_OFF, Mode.Off);
public static Action actionLoop = new ActionMachineControl(DefaultProps.ACTION_LOOP, Mode.Loop);
public static BCAction actionRedstone = new ActionRedstoneOutput(DefaultProps.ACTION_REDSTONE);
public static BCAction actionOn = new ActionMachineControl(DefaultProps.ACTION_ON, Mode.On);
public static BCAction actionOff = new ActionMachineControl(DefaultProps.ACTION_OFF, Mode.Off);
public static BCAction actionLoop = new ActionMachineControl(DefaultProps.ACTION_LOOP, Mode.Loop);
public static boolean loadDefaultRecipes = true;
public static boolean forcePneumaticPower = true;
@ -154,6 +156,8 @@ public class BuildCraftCore {
public static Logger bcLog = Logger.getLogger("Buildcraft");
public IIconProvider actionTriggerIconProvider = new ActionTriggerIconProvider();
@Instance("BuildCraft|Core")
public static BuildCraftCore instance;

View file

@ -24,7 +24,6 @@ import net.minecraftforge.liquids.LiquidDictionary;
import net.minecraftforge.liquids.LiquidStack;
import buildcraft.api.fuels.IronEngineCoolant;
import buildcraft.api.fuels.IronEngineFuel;
import buildcraft.api.gates.Trigger;
import buildcraft.api.recipes.RefineryRecipe;
import buildcraft.core.BlockIndex;
import buildcraft.core.DefaultProps;
@ -32,6 +31,7 @@ import buildcraft.core.ItemBuildCraft;
import buildcraft.core.Version;
import buildcraft.core.network.PacketHandler;
import buildcraft.core.proxy.CoreProxy;
import buildcraft.core.triggers.BCTrigger;
import buildcraft.energy.BlockEngine;
import buildcraft.energy.BlockOilFlowing;
import buildcraft.energy.BlockOilStill;
@ -76,10 +76,10 @@ public class BuildCraftEnergy {
public static TreeMap<BlockIndex, Integer> saturationStored = new TreeMap<BlockIndex, Integer>();
public static Trigger triggerBlueEngineHeat = new TriggerEngineHeat(DefaultProps.TRIGGER_BLUE_ENGINE_HEAT, EnergyStage.Blue);
public static Trigger triggerGreenEngineHeat = new TriggerEngineHeat(DefaultProps.TRIGGER_GREEN_ENGINE_HEAT, EnergyStage.Green);
public static Trigger triggerYellowEngineHeat = new TriggerEngineHeat(DefaultProps.TRIGGER_YELLOW_ENGINE_HEAT, EnergyStage.Yellow);
public static Trigger triggerRedEngineHeat = new TriggerEngineHeat(DefaultProps.TRIGGER_RED_ENGINE_HEAT, EnergyStage.Red);
public static BCTrigger triggerBlueEngineHeat = new TriggerEngineHeat(DefaultProps.TRIGGER_BLUE_ENGINE_HEAT, EnergyStage.Blue);
public static BCTrigger triggerGreenEngineHeat = new TriggerEngineHeat(DefaultProps.TRIGGER_GREEN_ENGINE_HEAT, EnergyStage.Green);
public static BCTrigger triggerYellowEngineHeat = new TriggerEngineHeat(DefaultProps.TRIGGER_YELLOW_ENGINE_HEAT, EnergyStage.Yellow);
public static BCTrigger triggerRedEngineHeat = new TriggerEngineHeat(DefaultProps.TRIGGER_RED_ENGINE_HEAT, EnergyStage.Red);
@Instance("BuildCraft|Energy")
public static BuildCraftEnergy instance;

View file

@ -20,18 +20,18 @@ import net.minecraft.util.Icon;
import net.minecraft.world.World;
import net.minecraftforge.common.Configuration;
import net.minecraftforge.common.Property;
import buildcraft.api.gates.Action;
import buildcraft.api.core.IIconProvider;
import buildcraft.api.gates.ActionManager;
import buildcraft.api.gates.Trigger;
import buildcraft.api.recipes.AssemblyRecipe;
import buildcraft.api.transport.IExtractionHandler;
import buildcraft.api.transport.IPipe;
import buildcraft.api.transport.PipeManager;
import buildcraft.core.DefaultProps;
import buildcraft.core.IIconProvider;
import buildcraft.core.ItemBuildCraft;
import buildcraft.core.Version;
import buildcraft.core.proxy.CoreProxy;
import buildcraft.core.triggers.BCAction;
import buildcraft.core.triggers.BCTrigger;
import buildcraft.transport.BlockGenericPipe;
import buildcraft.transport.GateIconProvider;
import buildcraft.transport.GuiHandler;
@ -147,24 +147,24 @@ public class BuildCraftTransport {
public static Item pipeStructureCobblestone;
public static int groupItemsTrigger;
public static Trigger triggerPipeEmpty = new TriggerPipeContents(DefaultProps.TRIGGER_PIPE_EMPTY, Kind.Empty);
public static Trigger triggerPipeItems = new TriggerPipeContents(DefaultProps.TRIGGER_PIPE_ITEMS, Kind.ContainsItems);
public static Trigger triggerPipeLiquids = new TriggerPipeContents(DefaultProps.TRIGGER_PIPE_LIQUIDS, Kind.ContainsLiquids);
public static Trigger triggerPipeEnergy = new TriggerPipeContents(DefaultProps.TRIGGER_PIPE_ENERGY, Kind.ContainsEnergy);
public static Trigger triggerRedSignalActive = new TriggerPipeSignal(DefaultProps.TRIGGER_RED_SIGNAL_ACTIVE, true, IPipe.WireColor.Red);
public static Trigger triggerRedSignalInactive = new TriggerPipeSignal(DefaultProps.TRIGGER_RED_SIGNAL_INACTIVE, false, IPipe.WireColor.Red);
public static Trigger triggerBlueSignalActive = new TriggerPipeSignal(DefaultProps.TRIGGER_BLUE_SIGNAL_ACTIVE, true, IPipe.WireColor.Blue);
public static Trigger triggerBlueSignalInactive = new TriggerPipeSignal(DefaultProps.TRIGGER_BLUE_SIGNAL_INACTIVE, false, IPipe.WireColor.Blue);
public static Trigger triggerGreenSignalActive = new TriggerPipeSignal(DefaultProps.TRIGGER_GREEN_SIGNAL_ACTIVE, true, IPipe.WireColor.Green);
public static Trigger triggerGreenSignalInactive = new TriggerPipeSignal(DefaultProps.TRIGGER_GREEN_SIGNAL_INACTIVE, false, IPipe.WireColor.Green);
public static Trigger triggerYellowSignalActive = new TriggerPipeSignal(DefaultProps.TRIGGER_YELLOW_SIGNAL_ACTIVE, true, IPipe.WireColor.Yellow);
public static Trigger triggerYellowSignalInactive = new TriggerPipeSignal(DefaultProps.TRIGGER_YELLOW_SIGNAL_INACTIVE, false, IPipe.WireColor.Yellow);
public static BCTrigger triggerPipeEmpty = new TriggerPipeContents(DefaultProps.TRIGGER_PIPE_EMPTY, Kind.Empty);
public static BCTrigger triggerPipeItems = new TriggerPipeContents(DefaultProps.TRIGGER_PIPE_ITEMS, Kind.ContainsItems);
public static BCTrigger triggerPipeLiquids = new TriggerPipeContents(DefaultProps.TRIGGER_PIPE_LIQUIDS, Kind.ContainsLiquids);
public static BCTrigger triggerPipeEnergy = new TriggerPipeContents(DefaultProps.TRIGGER_PIPE_ENERGY, Kind.ContainsEnergy);
public static BCTrigger triggerRedSignalActive = new TriggerPipeSignal(DefaultProps.TRIGGER_RED_SIGNAL_ACTIVE, true, IPipe.WireColor.Red);
public static BCTrigger triggerRedSignalInactive = new TriggerPipeSignal(DefaultProps.TRIGGER_RED_SIGNAL_INACTIVE, false, IPipe.WireColor.Red);
public static BCTrigger triggerBlueSignalActive = new TriggerPipeSignal(DefaultProps.TRIGGER_BLUE_SIGNAL_ACTIVE, true, IPipe.WireColor.Blue);
public static BCTrigger triggerBlueSignalInactive = new TriggerPipeSignal(DefaultProps.TRIGGER_BLUE_SIGNAL_INACTIVE, false, IPipe.WireColor.Blue);
public static BCTrigger triggerGreenSignalActive = new TriggerPipeSignal(DefaultProps.TRIGGER_GREEN_SIGNAL_ACTIVE, true, IPipe.WireColor.Green);
public static BCTrigger triggerGreenSignalInactive = new TriggerPipeSignal(DefaultProps.TRIGGER_GREEN_SIGNAL_INACTIVE, false, IPipe.WireColor.Green);
public static BCTrigger triggerYellowSignalActive = new TriggerPipeSignal(DefaultProps.TRIGGER_YELLOW_SIGNAL_ACTIVE, true, IPipe.WireColor.Yellow);
public static BCTrigger triggerYellowSignalInactive = new TriggerPipeSignal(DefaultProps.TRIGGER_YELLOW_SIGNAL_INACTIVE, false, IPipe.WireColor.Yellow);
public static Action actionRedSignal = new ActionSignalOutput(DefaultProps.ACTION_RED_SIGNAL, IPipe.WireColor.Red);
public static Action actionBlueSignal = new ActionSignalOutput(DefaultProps.ACTION_BLUE_SIGNAL, IPipe.WireColor.Blue);
public static Action actionGreenSignal = new ActionSignalOutput(DefaultProps.ACTION_GREEN_SIGNAL, IPipe.WireColor.Green);
public static Action actionYellowSignal = new ActionSignalOutput(DefaultProps.ACTION_YELLOW_SIGNAL, IPipe.WireColor.Yellow);
public static Action actionEnergyPulser = new ActionEnergyPulser(DefaultProps.ACTION_ENERGY_PULSER);
public static BCAction actionRedSignal = new ActionSignalOutput(DefaultProps.ACTION_RED_SIGNAL, IPipe.WireColor.Red);
public static BCAction actionBlueSignal = new ActionSignalOutput(DefaultProps.ACTION_BLUE_SIGNAL, IPipe.WireColor.Blue);
public static BCAction actionGreenSignal = new ActionSignalOutput(DefaultProps.ACTION_GREEN_SIGNAL, IPipe.WireColor.Green);
public static BCAction actionYellowSignal = new ActionSignalOutput(DefaultProps.ACTION_YELLOW_SIGNAL, IPipe.WireColor.Yellow);
public static BCAction actionEnergyPulser = new ActionEnergyPulser(DefaultProps.ACTION_ENERGY_PULSER);
@Instance("BuildCraft|Transport")
public static BuildCraftTransport instance;

View file

@ -1,4 +1,4 @@
package buildcraft.core;
package buildcraft.api.core;
import net.minecraft.client.renderer.texture.IconRegister;
import net.minecraft.util.Icon;

View file

@ -5,11 +5,13 @@ import java.util.LinkedList;
import net.minecraft.block.Block;
import net.minecraft.tileentity.TileEntity;
import buildcraft.api.transport.IPipe;
import buildcraft.core.triggers.BCAction;
import buildcraft.core.triggers.BCTrigger;
public class ActionManager {
public static Trigger[] triggers = new Trigger[1024];
public static Action[] actions = new Action[1024];
public static ITrigger[] triggers = new ITrigger[1024];
public static IAction[] actions = new IAction[1024];
private static LinkedList<ITriggerProvider> triggerProviders = new LinkedList<ITriggerProvider>();
private static LinkedList<IActionProvider> actionProviders = new LinkedList<IActionProvider>();

View file

@ -1,5 +1,6 @@
package buildcraft.api.gates;
import buildcraft.api.core.IIconProvider;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.util.Icon;
@ -11,6 +12,9 @@ public interface IAction {
@SideOnly(Side.CLIENT)
Icon getTexture();
@SideOnly(Side.CLIENT)
IIconProvider getIconProvider();
boolean hasParameter();
String getDescription();

View file

@ -1,5 +1,6 @@
package buildcraft.api.gates;
import buildcraft.api.core.IIconProvider;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.tileentity.TileEntity;
@ -13,26 +14,29 @@ public interface ITrigger {
* Return the texture file for this trigger icon
*/
@SideOnly(Side.CLIENT)
public abstract Icon getTextureIcon();
public Icon getTextureIcon();
@SideOnly(Side.CLIENT)
public IIconProvider getIconProvider();
/**
* Return true if this trigger can accept parameters
*/
public abstract boolean hasParameter();
public boolean hasParameter();
/**
* Return the trigger description in the UI
*/
public abstract String getDescription();
public String getDescription();
/**
* Return true if the tile given in parameter activates the trigger, given the parameters.
*/
public abstract boolean isTriggerActive(TileEntity tile, ITriggerParameter parameter);
public boolean isTriggerActive(TileEntity tile, ITriggerParameter parameter);
/**
* Create parameters for the trigger. As for now, there is only one kind of trigger parameter available so this subprogram is final.
*/
public abstract ITriggerParameter createParameter();
public ITriggerParameter createParameter();
}

View file

@ -4,11 +4,9 @@ import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.util.Icon;
import buildcraft.BuildCraftTransport;
import buildcraft.api.gates.Action;
import buildcraft.core.DefaultProps;
import buildcraft.transport.IconItemConstants;
public class ActionMachineControl extends Action {
public class ActionMachineControl extends BCAction {
public enum Mode {
Unknown, On, Off, Loop
@ -41,11 +39,11 @@ public class ActionMachineControl extends Action {
public Icon getTexture() {
switch (mode) {
case On:
return BuildCraftTransport.instance.itemIcons[IconItemConstants.Action_MachineControl_On];
return getIconProvider().getIcon(ActionTriggerIconProvider.Action_MachineControl_On);
case Off:
return BuildCraftTransport.instance.itemIcons[IconItemConstants.Action_MachineControl_Off];
return getIconProvider().getIcon(ActionTriggerIconProvider.Action_MachineControl_Off);
case Loop:
return BuildCraftTransport.instance.itemIcons[IconItemConstants.Action_MachineControl_Loop];
return getIconProvider().getIcon(ActionTriggerIconProvider.Action_MachineControl_Loop);
default:
return null;
}

View file

@ -13,11 +13,9 @@ import net.minecraft.util.Icon;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import buildcraft.BuildCraftTransport;
import buildcraft.api.gates.Action;
import buildcraft.core.DefaultProps;
import buildcraft.transport.IconItemConstants;
public class ActionRedstoneOutput extends Action {
public class ActionRedstoneOutput extends BCAction {
public ActionRedstoneOutput(int id) {
super(id);
@ -31,6 +29,6 @@ public class ActionRedstoneOutput extends Action {
@Override
@SideOnly(Side.CLIENT)
public Icon getTexture() {
return BuildCraftTransport.instance.itemIcons[IconItemConstants.Trigger_RedstoneInput_Active];
return getIconProvider().getIcon(ActionTriggerIconProvider.Trigger_RedstoneInput_Active);
}
}

View file

@ -0,0 +1,100 @@
package buildcraft.core.triggers;
import net.minecraft.client.renderer.texture.IconRegister;
import net.minecraft.util.Icon;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import buildcraft.api.core.IIconProvider;
public class ActionTriggerIconProvider implements IIconProvider {
public static final int Action_MachineControl_On = 0;
public static final int Action_MachineControl_Off = 1;
public static final int Action_MachineControl_Loop = 2;
public static final int Trigger_EngineHeat_Blue = 3;
public static final int Trigger_EngineHeat_Green = 4;
public static final int Trigger_EngineHeat_Yellow = 5;
public static final int Trigger_EngineHeat_Red = 6;
public static final int Trigger_Inventory_Empty = 7;
public static final int Trigger_Inventory_Contains = 8;
public static final int Trigger_Inventory_Space = 9;
public static final int Trigger_Inventory_Full = 10;
public static final int Trigger_LiquidContainer_Empty = 11;
public static final int Trigger_LiquidContainer_Contains = 12;
public static final int Trigger_LiquidContainer_Space = 13;
public static final int Trigger_LiquidContainer_Full = 14;
public static final int Trigger_Machine_Active = 15;
public static final int Trigger_Machine_Inactive = 16;
public static final int Trigger_PipeContents_Empty = 17;
public static final int Trigger_PipeContents_ContainsItems = 18;
public static final int Trigger_PipeContents_ContainsLiquid = 19;
public static final int Trigger_PipeContents_ContainsEnergy = 20;
public static final int Trigger_PipeSignal_Red_Active = 21;
public static final int Trigger_PipeSignal_Blue_Active = 22;
public static final int Trigger_PipeSignal_Green_Active = 23;
public static final int Trigger_PipeSignal_Yellow_Active = 24;
public static final int Trigger_PipeSignal_Red_Inactive = 25;
public static final int Trigger_PipeSignal_Blue_Inactive = 26;
public static final int Trigger_PipeSignal_Green_Inactive = 27;
public static final int Trigger_PipeSignal_Yellow_Inactive = 28;
public static final int Trigger_RedstoneInput_Active = 29;
public static final int Trigger_RedstoneInput_Inactive = 30;
public static final int MAX = 31;
@SideOnly(Side.CLIENT)
private Icon[] icons;
private boolean registered = false;
@Override
@SideOnly(Side.CLIENT)
public Icon getIcon(int iconIndex) {
return icons[iconIndex];
}
@Override
@SideOnly(Side.CLIENT)
public void RegisterIcons(IconRegister iconRegister) {
if (registered) return;
registered = true;
icons = new Icon[MAX];
icons[ActionTriggerIconProvider.Action_MachineControl_On] = iconRegister.func_94245_a("buildcraft:triggers/action_machinecontrol_on");
icons[ActionTriggerIconProvider.Action_MachineControl_Off] = iconRegister.func_94245_a("buildcraft:triggers/action_machinecontrol_off");
icons[ActionTriggerIconProvider.Action_MachineControl_Loop] = iconRegister.func_94245_a("buildcraft:triggers/action_machinecontrol_loop");
icons[ActionTriggerIconProvider.Trigger_EngineHeat_Blue] = iconRegister.func_94245_a("buildcraft:triggers/trigger_engineheat_blue");
icons[ActionTriggerIconProvider.Trigger_EngineHeat_Green] = iconRegister.func_94245_a("buildcraft:triggers/trigger_engineheat_green");
icons[ActionTriggerIconProvider.Trigger_EngineHeat_Yellow] = iconRegister.func_94245_a("buildcraft:triggers/trigger_engineheat_yellow");
icons[ActionTriggerIconProvider.Trigger_EngineHeat_Red] = iconRegister.func_94245_a("buildcraft:triggers/trigger_engineheat_red");
icons[ActionTriggerIconProvider.Trigger_Inventory_Empty] = iconRegister.func_94245_a("buildcraft:triggers/trigger_inventory_empty");
icons[ActionTriggerIconProvider.Trigger_Inventory_Contains] = iconRegister.func_94245_a("buildcraft:triggers/trigger_inventory_contains");
icons[ActionTriggerIconProvider.Trigger_Inventory_Space] = iconRegister.func_94245_a("buildcraft:triggers/trigger_inventory_space");
icons[ActionTriggerIconProvider.Trigger_Inventory_Full] = iconRegister.func_94245_a("buildcraft:triggers/trigger_inventory_full");
icons[ActionTriggerIconProvider.Trigger_LiquidContainer_Empty] = iconRegister.func_94245_a("buildcraft:triggers/trigger_liquidcontainer_empty");
icons[ActionTriggerIconProvider.Trigger_LiquidContainer_Contains] = iconRegister.func_94245_a("buildcraft:triggers/trigger_liquidcontainer_contains");
icons[ActionTriggerIconProvider.Trigger_LiquidContainer_Space] = iconRegister.func_94245_a("buildcraft:triggers/trigger_liquidcontainer_space");
icons[ActionTriggerIconProvider.Trigger_LiquidContainer_Full] = iconRegister.func_94245_a("buildcraft:triggers/trigger_liquidcontainer_full");
icons[ActionTriggerIconProvider.Trigger_Machine_Active] = iconRegister.func_94245_a("buildcraft:triggers/trigger_machine_active");
icons[ActionTriggerIconProvider.Trigger_Machine_Inactive] = iconRegister.func_94245_a("buildcraft:triggers/trigger_machine_inactive");
icons[ActionTriggerIconProvider.Trigger_PipeContents_Empty] = iconRegister.func_94245_a("buildcraft:triggers/trigger_pipecontents_empty");
icons[ActionTriggerIconProvider.Trigger_PipeContents_ContainsItems] = iconRegister.func_94245_a("buildcraft:triggers/trigger_pipecontents_containsitems");
icons[ActionTriggerIconProvider.Trigger_PipeContents_ContainsLiquid] = iconRegister.func_94245_a("buildcraft:triggers/trigger_pipecontents_containsliquid");
icons[ActionTriggerIconProvider.Trigger_PipeContents_ContainsEnergy] = iconRegister.func_94245_a("buildcraft:triggers/trigger_pipecontents_containsenergy");
icons[ActionTriggerIconProvider.Trigger_PipeSignal_Red_Active] = iconRegister.func_94245_a("buildcraft:triggers/trigger_pipesignal_red_active");
icons[ActionTriggerIconProvider.Trigger_PipeSignal_Red_Inactive] = iconRegister.func_94245_a("buildcraft:triggers/trigger_pipesignal_red_inactive");
icons[ActionTriggerIconProvider.Trigger_PipeSignal_Blue_Active] = iconRegister.func_94245_a("buildcraft:triggers/trigger_pipesignal_blue_active");
icons[ActionTriggerIconProvider.Trigger_PipeSignal_Blue_Inactive] = iconRegister.func_94245_a("buildcraft:triggers/trigger_pipesignal_blue_inactive");
icons[ActionTriggerIconProvider.Trigger_PipeSignal_Green_Active] = iconRegister.func_94245_a("buildcraft:triggers/trigger_pipesignal_green_active");
icons[ActionTriggerIconProvider.Trigger_PipeSignal_Green_Inactive] = iconRegister.func_94245_a("buildcraft:triggers/trigger_pipesignal_green_inactive");
icons[ActionTriggerIconProvider.Trigger_PipeSignal_Yellow_Active] = iconRegister.func_94245_a("buildcraft:triggers/trigger_pipesignal_yellow_active");
icons[ActionTriggerIconProvider.Trigger_PipeSignal_Yellow_Inactive] = iconRegister.func_94245_a("buildcraft:triggers/trigger_pipesignal_yellow_inactive");
icons[ActionTriggerIconProvider.Trigger_RedstoneInput_Active] = iconRegister.func_94245_a("buildcraft:triggers/trigger_redstoneinput_active");
icons[ActionTriggerIconProvider.Trigger_RedstoneInput_Inactive] = iconRegister.func_94245_a("buildcraft:triggers/trigger_redstoneinput_inactive");
}
}

View file

@ -7,17 +7,21 @@
* http://www.mod-buildcraft.com/MMPL-1.0.txt
*/
package buildcraft.api.gates;
package buildcraft.core.triggers;
import buildcraft.BuildCraftCore;
import buildcraft.api.core.IIconProvider;
import buildcraft.api.gates.ActionManager;
import buildcraft.api.gates.IAction;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.util.Icon;
public abstract class Action implements IAction {
public abstract class BCAction implements IAction {
protected int id;
public Action(int id) {
public BCAction(int id) {
this.id = id;
ActionManager.actions[id] = this;
}
@ -40,4 +44,12 @@ public abstract class Action implements IAction {
public String getDescription() {
return "";
}
@Override
@SideOnly(Side.CLIENT)
public IIconProvider getIconProvider() {
return BuildCraftCore.instance.actionTriggerIconProvider;
}
}

View file

@ -7,8 +7,14 @@
* http://www.mod-buildcraft.com/MMPL-1.0.txt
*/
package buildcraft.api.gates;
package buildcraft.core.triggers;
import buildcraft.BuildCraftCore;
import buildcraft.api.core.IIconProvider;
import buildcraft.api.gates.ActionManager;
import buildcraft.api.gates.ITrigger;
import buildcraft.api.gates.ITriggerParameter;
import buildcraft.api.gates.TriggerParameter;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.tileentity.TileEntity;
@ -18,73 +24,45 @@ import net.minecraft.util.Icon;
* This class has to be implemented to create new triggers kinds to BuildCraft gates. There is an instance per kind, which will get called wherever the trigger
* can be active.
*/
public abstract class Trigger implements ITrigger {
public abstract class BCTrigger implements ITrigger {
protected int id;
/**
* Creates a new triggers, and stores it in the trigger list
*/
public Trigger(int id) {
public BCTrigger(int id) {
this.id = id;
ActionManager.triggers[id] = this;
}
/*
* (non-Javadoc)
*
* @see net.minecraft.src.buildcraft.api.gates.ITrigger#getId()
*/
@Override
public int getId() {
return this.id;
}
/*
* (non-Javadoc)
*
* @see net.minecraft.src.buildcraft.api.gates.ITrigger#getTextureFile()
*/
@SideOnly(Side.CLIENT)
@Override
@SideOnly(Side.CLIENT)
public abstract Icon getTextureIcon();
/*
* (non-Javadoc)
*
* @see net.minecraft.src.buildcraft.api.gates.ITrigger#hasParameter()
*/
@Override
@SideOnly(Side.CLIENT)
public IIconProvider getIconProvider() {
return BuildCraftCore.instance.actionTriggerIconProvider;
}
@Override
public boolean hasParameter() {
return false;
}
/*
* (non-Javadoc)
*
* @see net.minecraft.src.buildcraft.api.gates.ITrigger#getDescription()
*/
@Override
public String getDescription() {
return "";
}
/*
* (non-Javadoc)
*
* @see net.minecraft.src.buildcraft.api.gates.ITrigger#isTriggerActive(net.minecraft.src.TileEntity,
* net.minecraft.src.buildcraft.api.gates.TriggerParameter)
*/
@Override
public boolean isTriggerActive(TileEntity tile, ITriggerParameter parameter) {
return false;
}
/*
* (non-Javadoc)
*
* @see net.minecraft.src.buildcraft.api.gates.ITrigger#createParameter()
*/
@Override
public final ITriggerParameter createParameter() {
return new TriggerParameter();

View file

@ -20,13 +20,11 @@ import net.minecraftforge.common.ISidedInventory;
import buildcraft.BuildCraftTransport;
import buildcraft.api.gates.ITriggerDirectional;
import buildcraft.api.gates.ITriggerParameter;
import buildcraft.api.gates.Trigger;
import buildcraft.core.DefaultProps;
import buildcraft.core.utils.SidedInventoryAdapter;
import buildcraft.core.utils.Utils;
import buildcraft.transport.IconItemConstants;
public class TriggerInventory extends Trigger implements ITriggerDirectional {
public class TriggerInventory extends BCTrigger implements ITriggerDirectional {
public enum State {
Empty, Contains, Space, Full
@ -129,13 +127,13 @@ public class TriggerInventory extends Trigger implements ITriggerDirectional {
public Icon getTextureIcon() {
switch (state) {
case Empty:
return BuildCraftTransport.instance.itemIcons[IconItemConstants.Trigger_Inventory_Empty];
return getIconProvider().getIcon(ActionTriggerIconProvider.Trigger_Inventory_Empty);
case Contains:
return BuildCraftTransport.instance.itemIcons[IconItemConstants.Trigger_Inventory_Contains];
return getIconProvider().getIcon(ActionTriggerIconProvider.Trigger_Inventory_Contains);
case Space:
return BuildCraftTransport.instance.itemIcons[IconItemConstants.Trigger_Inventory_Space];
return getIconProvider().getIcon(ActionTriggerIconProvider.Trigger_Inventory_Space);
default:
return BuildCraftTransport.instance.itemIcons[IconItemConstants.Trigger_Inventory_Full];
return getIconProvider().getIcon(ActionTriggerIconProvider.Trigger_Inventory_Full);
}
}
}

View file

@ -20,11 +20,9 @@ import net.minecraftforge.liquids.LiquidContainerRegistry;
import net.minecraftforge.liquids.LiquidStack;
import buildcraft.BuildCraftTransport;
import buildcraft.api.gates.ITriggerParameter;
import buildcraft.api.gates.Trigger;
import buildcraft.core.DefaultProps;
import buildcraft.transport.IconItemConstants;
public class TriggerLiquidContainer extends Trigger {
public class TriggerLiquidContainer extends BCTrigger {
public enum State {
Empty, Contains, Space, Full
@ -132,13 +130,13 @@ public class TriggerLiquidContainer extends Trigger {
public Icon getTextureIcon() {
switch (state) {
case Empty:
return BuildCraftTransport.instance.itemIcons[IconItemConstants.Trigger_LiquidContainer_Empty];
return getIconProvider().getIcon(ActionTriggerIconProvider.Trigger_LiquidContainer_Empty);
case Contains:
return BuildCraftTransport.instance.itemIcons[IconItemConstants.Trigger_LiquidContainer_Contains];
return getIconProvider().getIcon(ActionTriggerIconProvider.Trigger_LiquidContainer_Contains);
case Space:
return BuildCraftTransport.instance.itemIcons[IconItemConstants.Trigger_LiquidContainer_Space];
return getIconProvider().getIcon(ActionTriggerIconProvider.Trigger_LiquidContainer_Space);
default:
return BuildCraftTransport.instance.itemIcons[IconItemConstants.Trigger_LiquidContainer_Full];
return getIconProvider().getIcon(ActionTriggerIconProvider.Trigger_LiquidContainer_Full);
}
}
}

View file

@ -15,12 +15,10 @@ import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.Icon;
import buildcraft.BuildCraftTransport;
import buildcraft.api.gates.ITriggerParameter;
import buildcraft.api.gates.Trigger;
import buildcraft.core.DefaultProps;
import buildcraft.core.IMachine;
import buildcraft.transport.IconItemConstants;
public class TriggerMachine extends Trigger {
public class TriggerMachine extends BCTrigger {
boolean active;
@ -56,8 +54,8 @@ public class TriggerMachine extends Trigger {
@SideOnly(Side.CLIENT)
public Icon getTextureIcon() {
if (active)
return BuildCraftTransport.instance.itemIcons[IconItemConstants.Trigger_Machine_Active];
return getIconProvider().getIcon(ActionTriggerIconProvider.Trigger_Machine_Active);
else
return BuildCraftTransport.instance.itemIcons[IconItemConstants.Trigger_Machine_Inactive];
return getIconProvider().getIcon(ActionTriggerIconProvider.Trigger_Machine_Inactive);
}
}

View file

@ -15,11 +15,11 @@ import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.Icon;
import buildcraft.BuildCraftTransport;
import buildcraft.api.gates.ITriggerParameter;
import buildcraft.api.gates.Trigger;
import buildcraft.core.DefaultProps;
import buildcraft.transport.IconItemConstants;
import buildcraft.core.triggers.ActionTriggerIconProvider;
import buildcraft.core.triggers.BCTrigger;
public class TriggerEngineHeat extends Trigger {
public class TriggerEngineHeat extends BCTrigger {
public Engine.EnergyStage stage;
@ -59,13 +59,13 @@ public class TriggerEngineHeat extends Trigger {
public Icon getTextureIcon() {
switch (stage) {
case Blue:
return BuildCraftTransport.instance.itemIcons[IconItemConstants.Trigger_EngineHeat_Blue];
return getIconProvider().getIcon(ActionTriggerIconProvider.Trigger_EngineHeat_Blue);
case Green:
return BuildCraftTransport.instance.itemIcons[IconItemConstants.Trigger_EngineHeat_Green];
return getIconProvider().getIcon(ActionTriggerIconProvider.Trigger_EngineHeat_Green);
case Yellow:
return BuildCraftTransport.instance.itemIcons[IconItemConstants.Trigger_EngineHeat_Yellow];
return getIconProvider().getIcon(ActionTriggerIconProvider.Trigger_EngineHeat_Yellow);
default:
return BuildCraftTransport.instance.itemIcons[IconItemConstants.Trigger_EngineHeat_Red];
return getIconProvider().getIcon(ActionTriggerIconProvider.Trigger_EngineHeat_Red);
}
}
}

View file

@ -1,6 +1,9 @@
package buildcraft.energy.gui;
import net.minecraft.block.Block;
import net.minecraft.inventory.IInventory;
import net.minecraft.item.Item;
import buildcraft.BuildCraftTransport;
import buildcraft.core.DefaultProps;
import buildcraft.core.gui.BuildCraftContainer;
import buildcraft.core.gui.GuiBuildCraft;
@ -30,7 +33,8 @@ public abstract class GuiEngine extends GuiBuildCraft {
drawBackground(x, y);
// Draw icon
drawIcon(DefaultProps.TEXTURE_ICONS, 0, x + 3, y + 4);
//drawIcon(DefaultProps.TEXTURE_ICONS, 0, x + 3, y + 4);
drawIcon(BuildCraftTransport.instance.wireIconProvider.getIcon(0), x + 3, y + 4);
if (!isFullyOpened())
return;

View file

@ -35,6 +35,9 @@ import net.minecraft.world.World;
import net.minecraftforge.common.ForgeDirection;
import buildcraft.BuildCraftCore;
import buildcraft.BuildCraftTransport;
import buildcraft.api.gates.ActionManager;
import buildcraft.api.gates.IAction;
import buildcraft.api.gates.ITrigger;
import buildcraft.api.tools.IToolWrench;
import buildcraft.api.transport.IPipe;
import buildcraft.core.BlockIndex;
@ -61,6 +64,8 @@ public class BlockGenericPipe extends BlockContainer {
public MovingObjectPosition movingObjectPosition;
}
private boolean skippedFirstIconRegister;
/* Defined subprograms ************************************************* */
public BlockGenericPipe(int i) {
@ -855,6 +860,10 @@ public class BlockGenericPipe extends BlockContainer {
@SideOnly(Side.CLIENT)
public void func_94332_a(IconRegister iconRegister)
{
if (!skippedFirstIconRegister){
skippedFirstIconRegister = true;
return;
}
BuildCraftTransport.instance.gateIconProvider.RegisterIcons(iconRegister);
BuildCraftTransport.instance.wireIconProvider.RegisterIcons(iconRegister);
for (int i : pipes.keySet()){

View file

@ -4,7 +4,7 @@ import net.minecraft.client.renderer.texture.IconRegister;
import net.minecraft.util.Icon;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import buildcraft.core.IIconProvider;
import buildcraft.api.core.IIconProvider;
public class GateIconProvider implements IIconProvider {
@ -55,6 +55,8 @@ public class GateIconProvider implements IIconProvider {
@SideOnly(Side.CLIENT)
public void RegisterIcons(IconRegister iconRegister) {
if (registered) return;
registered = true;
icons = new Icon[MAX];
icons[GateIconProvider.Gate_Dark] = iconRegister.func_94245_a("buildcraft:gate_dark");
icons[GateIconProvider.Gate_Lit] = iconRegister.func_94245_a("buildcraft:gate_lit");

View file

@ -1,6 +1,6 @@
package buildcraft.transport;
import buildcraft.core.IIconProvider;
import buildcraft.api.core.IIconProvider;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.util.Icon;

View file

@ -1,44 +0,0 @@
package buildcraft.transport;
public class IconItemConstants {
public static final int Action_MachineControl_On = 14;
public static final int Action_MachineControl_Off = 15;
public static final int Action_MachineControl_Loop = 16;
public static final int Trigger_EngineHeat_Blue = 18;
public static final int Trigger_EngineHeat_Green = 19;
public static final int Trigger_EngineHeat_Yellow = 20;
public static final int Trigger_EngineHeat_Red = 21;
public static final int Trigger_Inventory_Empty = 22;
public static final int Trigger_Inventory_Contains = 23;
public static final int Trigger_Inventory_Space = 24;
public static final int Trigger_Inventory_Full = 25;
public static final int Trigger_LiquidContainer_Empty = 26;
public static final int Trigger_LiquidContainer_Contains = 27;
public static final int Trigger_LiquidContainer_Space = 28;
public static final int Trigger_LiquidContainer_Full = 29;
public static final int Trigger_Machine_Active = 30;
public static final int Trigger_Machine_Inactive = 31;
public static final int Trigger_PipeContents_Empty = 32;
public static final int Trigger_PipeContents_ContainsItems = 33;
public static final int Trigger_PipeContents_ContainsLiquid = 34;
public static final int Trigger_PipeContents_ContainsEnergy = 35;
public static final int Trigger_PipeSignal_Red_Active = 36;
public static final int Trigger_PipeSignal_Blue_Active = 37;
public static final int Trigger_PipeSignal_Green_Active = 38;
public static final int Trigger_PipeSignal_Yellow_Active = 39;
public static final int Trigger_PipeSignal_Red_Inactive = 40;
public static final int Trigger_PipeSignal_Blue_Inactive = 41;
public static final int Trigger_PipeSignal_Green_Inactive = 42;
public static final int Trigger_PipeSignal_Yellow_Inactive = 43;
public static final int Trigger_RedstoneInput_Active = 44;
public static final int Trigger_RedstoneInput_Inactive = 45;
public static final int MAX = 46;
}

View file

@ -10,6 +10,9 @@ import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.ItemStack;
import net.minecraft.util.Icon;
import buildcraft.BuildCraftTransport;
import buildcraft.api.gates.ActionManager;
import buildcraft.api.gates.IAction;
import buildcraft.api.gates.ITrigger;
import buildcraft.core.CreativeTabBuildCraft;
import buildcraft.core.ItemBuildCraft;
@ -52,13 +55,6 @@ public class ItemGate extends ItemBuildCraft {
@Override
@SideOnly(Side.CLIENT)
public Icon getIconFromDamage(int i) {
int n = 0;
if (series > 0) {
n = 3;
} else {
n = 2;
}
if (series == 0){ //Normal Gates
switch (i) {
case 0:
@ -119,6 +115,17 @@ public class ItemGate extends ItemBuildCraft {
@SideOnly(Side.CLIENT)
public void func_94581_a(IconRegister iconRegister)
{
for (IAction action : ActionManager.actions){
if (action == null) continue;
action.getIconProvider().RegisterIcons(iconRegister);
}
for (ITrigger trigger : ActionManager.triggers){
if (trigger == null) continue;
trigger.getIconProvider().RegisterIcons(iconRegister);
}
icons = new Icon[ItemGate.MAX];
icons[ItemGate.Gate] = iconRegister.func_94245_a("buildcraft:gate");
icons[ItemGate.Gate_Iron_And] = iconRegister.func_94245_a("buildcraft:gate_iron_and");

View file

@ -18,8 +18,8 @@ import net.minecraft.item.ItemStack;
import net.minecraft.util.Icon;
import net.minecraft.world.World;
import buildcraft.BuildCraftTransport;
import buildcraft.api.core.IIconProvider;
import buildcraft.core.CreativeTabBuildCraft;
import buildcraft.core.IIconProvider;
import buildcraft.core.IItemPipe;
import buildcraft.core.ItemBuildCraft;
import buildcraft.BuildCraftCore;

View file

@ -28,21 +28,21 @@ import net.minecraft.util.Icon;
import net.minecraft.world.World;
import net.minecraftforge.common.ForgeDirection;
import buildcraft.BuildCraftTransport;
import buildcraft.api.core.IIconProvider;
import buildcraft.api.core.SafeTimeTracker;
import buildcraft.api.gates.Action;
import buildcraft.api.gates.ActionManager;
import buildcraft.api.gates.IAction;
import buildcraft.api.gates.IActionReceptor;
import buildcraft.api.gates.ITrigger;
import buildcraft.api.gates.ITriggerDirectional;
import buildcraft.api.gates.ITriggerParameter;
import buildcraft.api.gates.Trigger;
import buildcraft.api.gates.TriggerParameter;
import buildcraft.api.transport.IPipe;
import buildcraft.core.IDropControlInventory;
import buildcraft.core.IIconProvider;
import buildcraft.core.network.TilePacketWrapper;
import buildcraft.core.triggers.BCAction;
import buildcraft.core.triggers.ActionRedstoneOutput;
import buildcraft.core.triggers.BCTrigger;
import buildcraft.core.utils.Utils;
import buildcraft.transport.Gate.GateConditional;
import buildcraft.transport.pipes.PipeLogic;
@ -71,9 +71,9 @@ public abstract class Pipe implements IPipe, IDropControlInventory {
@SuppressWarnings("rawtypes")
private static Map<Class, TilePacketWrapper> networkWrappers = new HashMap<Class, TilePacketWrapper>();
public ITrigger[] activatedTriggers = new Trigger[8];
public ITrigger[] activatedTriggers = new BCTrigger[8];
public ITriggerParameter[] triggerParameters = new ITriggerParameter[8];
public IAction[] activatedActions = new Action[8];
public IAction[] activatedActions = new BCAction[8];
public boolean broadcastSignal[] = new boolean[] { false, false, false, false };
public boolean broadcastRedstone = false;
@ -529,9 +529,9 @@ public abstract class Pipe implements IPipe, IDropControlInventory {
public void resetGate() {
gate = null;
activatedTriggers = new Trigger[activatedTriggers.length];
activatedTriggers = new BCTrigger[activatedTriggers.length];
triggerParameters = new ITriggerParameter[triggerParameters.length];
activatedActions = new Action[activatedActions.length];
activatedActions = new BCAction[activatedActions.length];
broadcastSignal = new boolean[] { false, false, false, false };
if (broadcastRedstone) {
updateNeighbors(true);

View file

@ -4,7 +4,7 @@ import net.minecraft.client.renderer.texture.IconRegister;
import net.minecraft.util.Icon;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import buildcraft.core.IIconProvider;
import buildcraft.api.core.IIconProvider;
public class PipeIconProvider implements IIconProvider {
@ -60,6 +60,7 @@ public class PipeIconProvider implements IIconProvider {
@SideOnly(Side.CLIENT)
public void RegisterIcons(IconRegister iconRegister) {
if (registered) return;
registered = true;
_icons = new Icon[PipeIconProvider.MAX];

View file

@ -30,6 +30,7 @@ import net.minecraftforge.liquids.ITankContainer;
import net.minecraftforge.liquids.LiquidStack;
import buildcraft.BuildCraftCore;
import buildcraft.BuildCraftTransport;
import buildcraft.api.core.IIconProvider;
import buildcraft.api.core.Position;
import buildcraft.api.core.SafeTimeTracker;
import buildcraft.api.gates.IOverrideDefaultTriggers;
@ -45,7 +46,6 @@ import buildcraft.api.transport.IPipedItem;
import buildcraft.core.DefaultProps;
import buildcraft.core.EntityPassiveItem;
import buildcraft.core.IDropControlInventory;
import buildcraft.core.IIconProvider;
import buildcraft.core.ITileBufferHolder;
import buildcraft.core.TileBuffer;
import buildcraft.core.network.IClientState;

View file

@ -65,45 +65,4 @@ public class TransportProxyClient extends TransportProxy {
public void setIconProviderFromPipe(ItemPipe item, Pipe dummyPipe) {
item.setPipesIcons(dummyPipe.getIconProvider());
}
//
// @Override
// public void loadItemIcons(BuildCraftTransport instance) {
// TextureMap itemTextures = Minecraft.getMinecraft().renderEngine.field_94155_m;
//
//
// instance.itemIcons[IconItemConstants.Action_MachineControl_On] = itemTextures.func_94245_a("buildcraft:triggers/action_machinecontrol_on");
// instance.itemIcons[IconItemConstants.Action_MachineControl_Off] = itemTextures.func_94245_a("buildcraft:triggers/action_machinecontrol_off");
// instance.itemIcons[IconItemConstants.Action_MachineControl_Loop] = itemTextures.func_94245_a("buildcraft:triggers/action_machinecontrol_loop");
//
// instance.itemIcons[IconItemConstants.Trigger_EngineHeat_Blue] = itemTextures.func_94245_a("buildcraft:triggers/trigger_engineheat_blue");
// instance.itemIcons[IconItemConstants.Trigger_EngineHeat_Green] = itemTextures.func_94245_a("buildcraft:triggers/trigger_engineheat_green");
// instance.itemIcons[IconItemConstants.Trigger_EngineHeat_Yellow] = itemTextures.func_94245_a("buildcraft:triggers/trigger_engineheat_yellow");
// instance.itemIcons[IconItemConstants.Trigger_EngineHeat_Red] = itemTextures.func_94245_a("buildcraft:triggers/trigger_engineheat_red");
// instance.itemIcons[IconItemConstants.Trigger_Inventory_Empty] = itemTextures.func_94245_a("buildcraft:triggers/trigger_inventory_empty");
// instance.itemIcons[IconItemConstants.Trigger_Inventory_Contains] = itemTextures.func_94245_a("buildcraft:triggers/trigger_inventory_contains");
// instance.itemIcons[IconItemConstants.Trigger_Inventory_Space] = itemTextures.func_94245_a("buildcraft:triggers/trigger_inventory_space");
// instance.itemIcons[IconItemConstants.Trigger_Inventory_Full] = itemTextures.func_94245_a("buildcraft:triggers/trigger_inventory_full");
// instance.itemIcons[IconItemConstants.Trigger_LiquidContainer_Empty] = itemTextures.func_94245_a("buildcraft:triggers/trigger_liquidcontainer_empty");
// instance.itemIcons[IconItemConstants.Trigger_LiquidContainer_Contains] = itemTextures.func_94245_a("buildcraft:triggers/trigger_liquidcontainer_contains");
// instance.itemIcons[IconItemConstants.Trigger_LiquidContainer_Space] = itemTextures.func_94245_a("buildcraft:triggers/trigger_liquidcontainer_space");
// instance.itemIcons[IconItemConstants.Trigger_LiquidContainer_Full] = itemTextures.func_94245_a("buildcraft:triggers/trigger_liquidcontainer_full");
// instance.itemIcons[IconItemConstants.Trigger_Machine_Active] = itemTextures.func_94245_a("buildcraft:triggers/trigger_machine_active");
// instance.itemIcons[IconItemConstants.Trigger_Machine_Inactive] = itemTextures.func_94245_a("buildcraft:triggers/trigger_machine_inactive");
// instance.itemIcons[IconItemConstants.Trigger_PipeContents_Empty] = itemTextures.func_94245_a("buildcraft:triggers/trigger_pipecontents_empty");
// instance.itemIcons[IconItemConstants.Trigger_PipeContents_ContainsItems] = itemTextures.func_94245_a("buildcraft:triggers/trigger_pipecontents_containsitems");
// instance.itemIcons[IconItemConstants.Trigger_PipeContents_ContainsLiquid] = itemTextures.func_94245_a("buildcraft:triggers/trigger_pipecontents_containsliquid");
// instance.itemIcons[IconItemConstants.Trigger_PipeContents_ContainsEnergy] = itemTextures.func_94245_a("buildcraft:triggers/trigger_pipecontents_containsenergy");
// instance.itemIcons[IconItemConstants.Trigger_PipeSignal_Red_Active] = itemTextures.func_94245_a("buildcraft:triggers/trigger_pipesignal_red_active");
// instance.itemIcons[IconItemConstants.Trigger_PipeSignal_Red_Inactive] = itemTextures.func_94245_a("buildcraft:triggers/trigger_pipesignal_red_inactive");
// instance.itemIcons[IconItemConstants.Trigger_PipeSignal_Blue_Active] = itemTextures.func_94245_a("buildcraft:triggers/trigger_pipesignal_blue_active");
// instance.itemIcons[IconItemConstants.Trigger_PipeSignal_Blue_Inactive] = itemTextures.func_94245_a("buildcraft:triggers/trigger_pipesignal_blue_inactive");
// instance.itemIcons[IconItemConstants.Trigger_PipeSignal_Green_Active] = itemTextures.func_94245_a("buildcraft:triggers/trigger_pipesignal_green_active");
// instance.itemIcons[IconItemConstants.Trigger_PipeSignal_Green_Inactive] = itemTextures.func_94245_a("buildcraft:triggers/trigger_pipesignal_green_inactive");
// instance.itemIcons[IconItemConstants.Trigger_PipeSignal_Yellow_Active] = itemTextures.func_94245_a("buildcraft:triggers/trigger_pipesignal_yellow_active");
// instance.itemIcons[IconItemConstants.Trigger_PipeSignal_Yellow_Inactive] = itemTextures.func_94245_a("buildcraft:triggers/trigger_pipesignal_yellow_inactive");
// instance.itemIcons[IconItemConstants.Trigger_RedstoneInput_Active] = itemTextures.func_94245_a("buildcraft:triggers/trigger_redstoneinput_active");
// instance.itemIcons[IconItemConstants.Trigger_RedstoneInput_Inactive] = itemTextures.func_94245_a("buildcraft:triggers/trigger_redstoneinput_inactive");
//
// }
}

View file

@ -4,7 +4,7 @@ import net.minecraft.client.renderer.texture.IconRegister;
import net.minecraft.util.Icon;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import buildcraft.core.IIconProvider;
import buildcraft.api.core.IIconProvider;
public class WireIconProvider implements IIconProvider {
@ -34,6 +34,8 @@ public class WireIconProvider implements IIconProvider {
@SideOnly(Side.CLIENT)
public void RegisterIcons(IconRegister iconRegister) {
if (registered) return;
registered = true;
icons = new Icon[MAX];
icons[WireIconProvider.Texture_Red_Dark] = iconRegister.func_94245_a("buildcraft:texture_red_dark");

View file

@ -10,7 +10,7 @@ package buildcraft.transport.pipes;
import net.minecraftforge.common.ForgeDirection;
import buildcraft.BuildCraftTransport;
import buildcraft.core.IIconProvider;
import buildcraft.api.core.IIconProvider;
import buildcraft.transport.Pipe;
import buildcraft.transport.PipeIconProvider;
import buildcraft.transport.PipeTransportItems;

View file

@ -19,9 +19,9 @@ import net.minecraft.nbt.NBTBase;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraftforge.common.ForgeDirection;
import buildcraft.BuildCraftTransport;
import buildcraft.api.core.IIconProvider;
import buildcraft.api.core.Position;
import buildcraft.api.transport.IPipedItem;
import buildcraft.core.IIconProvider;
import buildcraft.core.network.IClientState;
import buildcraft.transport.IPipeTransportItemsHook;
import buildcraft.transport.Pipe;

View file

@ -12,9 +12,9 @@ import java.util.LinkedList;
import net.minecraftforge.common.ForgeDirection;
import buildcraft.BuildCraftTransport;
import buildcraft.api.core.IIconProvider;
import buildcraft.api.core.Position;
import buildcraft.api.transport.IPipedItem;
import buildcraft.core.IIconProvider;
import buildcraft.core.utils.Utils;
import buildcraft.transport.IPipeTransportItemsHook;
import buildcraft.transport.Pipe;

View file

@ -10,7 +10,7 @@ package buildcraft.transport.pipes;
import net.minecraftforge.common.ForgeDirection;
import buildcraft.BuildCraftTransport;
import buildcraft.core.IIconProvider;
import buildcraft.api.core.IIconProvider;
import buildcraft.transport.Pipe;
import buildcraft.transport.PipeIconProvider;
import buildcraft.transport.PipeTransportItems;

View file

@ -20,13 +20,13 @@ import net.minecraft.item.ItemStack;
import net.minecraft.util.AxisAlignedBB;
import net.minecraftforge.common.ForgeDirection;
import buildcraft.BuildCraftTransport;
import buildcraft.api.core.IIconProvider;
import buildcraft.api.core.Position;
import buildcraft.api.power.IPowerProvider;
import buildcraft.api.power.IPowerReceptor;
import buildcraft.api.power.PowerFramework;
import buildcraft.api.transport.IPipedItem;
import buildcraft.core.EntityPassiveItem;
import buildcraft.core.IIconProvider;
import buildcraft.core.proxy.CoreProxy;
import buildcraft.core.utils.Utils;
import buildcraft.transport.Pipe;

View file

@ -11,7 +11,7 @@ package buildcraft.transport.pipes;
import net.minecraftforge.common.ForgeDirection;
import buildcraft.BuildCraftTransport;
import buildcraft.core.IIconProvider;
import buildcraft.api.core.IIconProvider;
import buildcraft.transport.Pipe;
import buildcraft.transport.PipeIconProvider;
import buildcraft.transport.PipeTransportItems;

View file

@ -12,9 +12,9 @@ import java.util.LinkedList;
import net.minecraftforge.common.ForgeDirection;
import buildcraft.BuildCraftTransport;
import buildcraft.api.core.IIconProvider;
import buildcraft.api.core.Position;
import buildcraft.api.transport.IPipedItem;
import buildcraft.core.IIconProvider;
import buildcraft.core.utils.Utils;
import buildcraft.transport.IPipeTransportItemsHook;
import buildcraft.transport.Pipe;

View file

@ -12,7 +12,7 @@ package buildcraft.transport.pipes;
import net.minecraft.tileentity.TileEntity;
import net.minecraftforge.common.ForgeDirection;
import buildcraft.BuildCraftTransport;
import buildcraft.core.IIconProvider;
import buildcraft.api.core.IIconProvider;
import buildcraft.transport.EntityData;
import buildcraft.transport.IItemTravelingHook;
import buildcraft.transport.Pipe;

View file

@ -15,6 +15,7 @@ import net.minecraft.world.World;
import net.minecraftforge.common.ForgeDirection;
import net.minecraftforge.common.ISidedInventory;
import buildcraft.BuildCraftTransport;
import buildcraft.api.core.IIconProvider;
import buildcraft.api.core.Position;
import buildcraft.api.inventory.ISpecialInventory;
import buildcraft.api.power.IPowerProvider;
@ -23,7 +24,6 @@ import buildcraft.api.power.PowerFramework;
import buildcraft.api.transport.IPipedItem;
import buildcraft.api.transport.PipeManager;
import buildcraft.core.EntityPassiveItem;
import buildcraft.core.IIconProvider;
import buildcraft.core.RedstonePowerFramework;
import buildcraft.core.utils.Utils;
import buildcraft.transport.Pipe;

View file

@ -10,7 +10,7 @@ package buildcraft.transport.pipes;
import net.minecraftforge.common.ForgeDirection;
import buildcraft.BuildCraftTransport;
import buildcraft.core.IIconProvider;
import buildcraft.api.core.IIconProvider;
import buildcraft.transport.Pipe;
import buildcraft.transport.PipeIconProvider;
import buildcraft.transport.PipeTransportLiquids;

View file

@ -10,7 +10,7 @@ package buildcraft.transport.pipes;
import net.minecraftforge.common.ForgeDirection;
import buildcraft.BuildCraftTransport;
import buildcraft.core.IIconProvider;
import buildcraft.api.core.IIconProvider;
import buildcraft.transport.Pipe;
import buildcraft.transport.PipeIconProvider;
import buildcraft.transport.PipeTransportLiquids;

View file

@ -10,7 +10,7 @@ package buildcraft.transport.pipes;
import net.minecraftforge.common.ForgeDirection;
import buildcraft.BuildCraftTransport;
import buildcraft.core.IIconProvider;
import buildcraft.api.core.IIconProvider;
import buildcraft.transport.Pipe;
import buildcraft.transport.PipeIconProvider;
import buildcraft.transport.PipeTransportLiquids;

View file

@ -12,7 +12,7 @@ package buildcraft.transport.pipes;
import net.minecraftforge.common.ForgeDirection;
import net.minecraftforge.liquids.LiquidStack;
import buildcraft.BuildCraftTransport;
import buildcraft.core.IIconProvider;
import buildcraft.api.core.IIconProvider;
import buildcraft.transport.IPipeTransportLiquidsHook;
import buildcraft.transport.Pipe;
import buildcraft.transport.PipeIconProvider;

View file

@ -10,7 +10,7 @@ package buildcraft.transport.pipes;
import net.minecraftforge.common.ForgeDirection;
import buildcraft.BuildCraftTransport;
import buildcraft.core.IIconProvider;
import buildcraft.api.core.IIconProvider;
import buildcraft.transport.Pipe;
import buildcraft.transport.PipeIconProvider;
import buildcraft.transport.PipeTransportLiquids;

View file

@ -12,7 +12,7 @@ package buildcraft.transport.pipes;
import net.minecraftforge.common.ForgeDirection;
import net.minecraftforge.liquids.LiquidStack;
import buildcraft.BuildCraftTransport;
import buildcraft.core.IIconProvider;
import buildcraft.api.core.IIconProvider;
import buildcraft.transport.IPipeTransportLiquidsHook;
import buildcraft.transport.Pipe;
import buildcraft.transport.PipeIconProvider;

View file

@ -15,12 +15,12 @@ import net.minecraftforge.liquids.ITankContainer;
import net.minecraftforge.liquids.LiquidContainerRegistry;
import net.minecraftforge.liquids.LiquidStack;
import buildcraft.BuildCraftTransport;
import buildcraft.api.core.IIconProvider;
import buildcraft.api.core.Position;
import buildcraft.api.power.IPowerProvider;
import buildcraft.api.power.IPowerReceptor;
import buildcraft.api.power.PowerFramework;
import buildcraft.api.transport.PipeManager;
import buildcraft.core.IIconProvider;
import buildcraft.core.RedstonePowerFramework;
import buildcraft.core.network.TileNetworkData;
import buildcraft.transport.Pipe;

View file

@ -10,7 +10,7 @@ package buildcraft.transport.pipes;
import net.minecraftforge.common.ForgeDirection;
import buildcraft.BuildCraftTransport;
import buildcraft.core.IIconProvider;
import buildcraft.api.core.IIconProvider;
import buildcraft.transport.Pipe;
import buildcraft.transport.PipeIconProvider;
import buildcraft.transport.PipeTransportPower;

View file

@ -10,7 +10,7 @@ package buildcraft.transport.pipes;
import net.minecraftforge.common.ForgeDirection;
import buildcraft.BuildCraftTransport;
import buildcraft.core.IIconProvider;
import buildcraft.api.core.IIconProvider;
import buildcraft.transport.Pipe;
import buildcraft.transport.PipeIconProvider;
import buildcraft.transport.PipeTransportPower;

View file

@ -11,10 +11,10 @@ package buildcraft.transport.pipes;
import net.minecraft.tileentity.TileEntity;
import net.minecraftforge.common.ForgeDirection;
import buildcraft.BuildCraftTransport;
import buildcraft.api.core.IIconProvider;
import buildcraft.api.power.IPowerProvider;
import buildcraft.api.power.IPowerReceptor;
import buildcraft.api.power.PowerFramework;
import buildcraft.core.IIconProvider;
import buildcraft.core.utils.Utils;
import buildcraft.transport.Pipe;
import buildcraft.transport.PipeIconProvider;

View file

@ -2,7 +2,7 @@ package buildcraft.transport.pipes;
import net.minecraftforge.common.ForgeDirection;
import buildcraft.BuildCraftTransport;
import buildcraft.core.IIconProvider;
import buildcraft.api.core.IIconProvider;
import buildcraft.transport.Pipe;
import buildcraft.transport.PipeIconProvider;
import buildcraft.transport.PipeTransportStructure;

View file

@ -6,9 +6,9 @@ import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.IBlockAccess;
import net.minecraftforge.common.ForgeDirection;
import buildcraft.BuildCraftTransport;
import buildcraft.api.core.IIconProvider;
import buildcraft.api.transport.IPipe;
import buildcraft.api.transport.IPipe.WireColor;
import buildcraft.core.IIconProvider;
import buildcraft.core.utils.Utils;
import buildcraft.transport.IPipeRenderState;
import buildcraft.transport.PipeIconProvider;

View file

@ -4,11 +4,11 @@ import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.util.Icon;
import buildcraft.BuildCraftTransport;
import buildcraft.api.gates.Action;
import buildcraft.core.DefaultProps;
import buildcraft.transport.IconItemConstants;
import buildcraft.core.triggers.ActionTriggerIconProvider;
import buildcraft.core.triggers.BCAction;
public class ActionEnergyPulser extends Action {
public class ActionEnergyPulser extends BCAction {
public ActionEnergyPulser(int id) {
super(id);
@ -17,7 +17,7 @@ public class ActionEnergyPulser extends Action {
@Override
@SideOnly(Side.CLIENT)
public Icon getTexture() {
return BuildCraftTransport.instance.itemIcons[IconItemConstants.Trigger_Machine_Active];
return getIconProvider().getIcon(ActionTriggerIconProvider.Trigger_Machine_Active);
}
@Override

View file

@ -13,12 +13,12 @@ import net.minecraft.util.Icon;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import buildcraft.BuildCraftTransport;
import buildcraft.api.gates.Action;
import buildcraft.api.transport.IPipe;
import buildcraft.core.DefaultProps;
import buildcraft.transport.IconItemConstants;
import buildcraft.core.triggers.ActionTriggerIconProvider;
import buildcraft.core.triggers.BCAction;
public class ActionSignalOutput extends Action {
public class ActionSignalOutput extends BCAction {
public IPipe.WireColor color;
@ -49,13 +49,13 @@ public class ActionSignalOutput extends Action {
public Icon getTexture() {
switch (color) {
case Red:
return BuildCraftTransport.instance.itemIcons[IconItemConstants.Trigger_PipeSignal_Red_Active];
return getIconProvider().getIcon(ActionTriggerIconProvider.Trigger_PipeSignal_Red_Active);
case Blue:
return BuildCraftTransport.instance.itemIcons[IconItemConstants.Trigger_PipeSignal_Blue_Active];
return getIconProvider().getIcon(ActionTriggerIconProvider.Trigger_PipeSignal_Blue_Active);
case Green:
return BuildCraftTransport.instance.itemIcons[IconItemConstants.Trigger_PipeSignal_Green_Active];
return getIconProvider().getIcon(ActionTriggerIconProvider.Trigger_PipeSignal_Green_Active);
case Yellow:
return BuildCraftTransport.instance.itemIcons[IconItemConstants.Trigger_PipeSignal_Yellow_Active];
return getIconProvider().getIcon(ActionTriggerIconProvider.Trigger_PipeSignal_Yellow_Active);
}
return null;

View file

@ -18,17 +18,17 @@ import net.minecraftforge.liquids.LiquidContainerRegistry;
import net.minecraftforge.liquids.LiquidStack;
import buildcraft.BuildCraftTransport;
import buildcraft.api.gates.ITriggerParameter;
import buildcraft.api.gates.Trigger;
import buildcraft.core.DefaultProps;
import buildcraft.core.triggers.ActionTriggerIconProvider;
import buildcraft.core.triggers.BCTrigger;
import buildcraft.transport.EntityData;
import buildcraft.transport.ITriggerPipe;
import buildcraft.transport.IconItemConstants;
import buildcraft.transport.Pipe;
import buildcraft.transport.PipeTransportItems;
import buildcraft.transport.PipeTransportLiquids;
import buildcraft.transport.PipeTransportPower;
public class TriggerPipeContents extends Trigger implements ITriggerPipe {
public class TriggerPipeContents extends BCTrigger implements ITriggerPipe {
public enum Kind {
Empty, ContainsItems, ContainsLiquids, ContainsEnergy
@ -133,13 +133,13 @@ public class TriggerPipeContents extends Trigger implements ITriggerPipe {
public Icon getTextureIcon() {
switch (kind) {
case Empty:
return BuildCraftTransport.instance.itemIcons[IconItemConstants.Trigger_PipeContents_Empty];
return getIconProvider().getIcon(ActionTriggerIconProvider.Trigger_PipeContents_Empty);
case ContainsItems:
return BuildCraftTransport.instance.itemIcons[IconItemConstants.Trigger_PipeContents_ContainsItems];
return getIconProvider().getIcon(ActionTriggerIconProvider.Trigger_PipeContents_ContainsItems);
case ContainsLiquids:
return BuildCraftTransport.instance.itemIcons[IconItemConstants.Trigger_PipeContents_ContainsLiquid];
return getIconProvider().getIcon(ActionTriggerIconProvider.Trigger_PipeContents_ContainsLiquid);
case ContainsEnergy:
return BuildCraftTransport.instance.itemIcons[IconItemConstants.Trigger_PipeContents_ContainsEnergy];
return getIconProvider().getIcon(ActionTriggerIconProvider.Trigger_PipeContents_ContainsEnergy);
}
return null;
}

View file

@ -14,14 +14,14 @@ import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.util.Icon;
import buildcraft.BuildCraftTransport;
import buildcraft.api.gates.ITriggerParameter;
import buildcraft.api.gates.Trigger;
import buildcraft.api.transport.IPipe;
import buildcraft.core.DefaultProps;
import buildcraft.core.triggers.ActionTriggerIconProvider;
import buildcraft.core.triggers.BCTrigger;
import buildcraft.transport.ITriggerPipe;
import buildcraft.transport.IconItemConstants;
import buildcraft.transport.Pipe;
public class TriggerPipeSignal extends Trigger implements ITriggerPipe {
public class TriggerPipeSignal extends BCTrigger implements ITriggerPipe {
boolean active;
IPipe.WireColor color;
@ -81,24 +81,24 @@ public class TriggerPipeSignal extends Trigger implements ITriggerPipe {
if (active) {
switch (color) {
case Red:
return BuildCraftTransport.instance.itemIcons[IconItemConstants.Trigger_PipeSignal_Red_Active];
return getIconProvider().getIcon(ActionTriggerIconProvider.Trigger_PipeSignal_Red_Active);
case Blue:
return BuildCraftTransport.instance.itemIcons[IconItemConstants.Trigger_PipeSignal_Blue_Active];
return getIconProvider().getIcon(ActionTriggerIconProvider.Trigger_PipeSignal_Blue_Active);
case Green:
return BuildCraftTransport.instance.itemIcons[IconItemConstants.Trigger_PipeSignal_Green_Active];
return getIconProvider().getIcon(ActionTriggerIconProvider.Trigger_PipeSignal_Green_Active);
case Yellow:
return BuildCraftTransport.instance.itemIcons[IconItemConstants.Trigger_PipeSignal_Yellow_Active];
return getIconProvider().getIcon(ActionTriggerIconProvider.Trigger_PipeSignal_Yellow_Active);
}
} else {
switch (color) {
case Red:
return BuildCraftTransport.instance.itemIcons[IconItemConstants.Trigger_PipeSignal_Red_Inactive];
return getIconProvider().getIcon(ActionTriggerIconProvider.Trigger_PipeSignal_Red_Inactive);
case Blue:
return BuildCraftTransport.instance.itemIcons[IconItemConstants.Trigger_PipeSignal_Blue_Inactive];
return getIconProvider().getIcon(ActionTriggerIconProvider.Trigger_PipeSignal_Blue_Inactive);
case Green:
return BuildCraftTransport.instance.itemIcons[IconItemConstants.Trigger_PipeSignal_Green_Inactive];
return getIconProvider().getIcon(ActionTriggerIconProvider.Trigger_PipeSignal_Green_Inactive);
case Yellow:
return BuildCraftTransport.instance.itemIcons[IconItemConstants.Trigger_PipeSignal_Yellow_Inactive];
return getIconProvider().getIcon(ActionTriggerIconProvider.Trigger_PipeSignal_Yellow_Inactive);
}
}

View file

@ -14,13 +14,13 @@ import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import buildcraft.BuildCraftTransport;
import buildcraft.api.gates.ITriggerParameter;
import buildcraft.api.gates.Trigger;
import buildcraft.core.DefaultProps;
import buildcraft.core.triggers.ActionTriggerIconProvider;
import buildcraft.core.triggers.BCTrigger;
import buildcraft.transport.ITriggerPipe;
import buildcraft.transport.IconItemConstants;
import buildcraft.transport.Pipe;
public class TriggerRedstoneInput extends Trigger implements ITriggerPipe {
public class TriggerRedstoneInput extends BCTrigger implements ITriggerPipe {
boolean active;
@ -50,8 +50,8 @@ public class TriggerRedstoneInput extends Trigger implements ITriggerPipe {
@SideOnly(Side.CLIENT)
public Icon getTextureIcon() {
if (active)
return BuildCraftTransport.instance.itemIcons[IconItemConstants.Trigger_RedstoneInput_Active];
return getIconProvider().getIcon(ActionTriggerIconProvider.Trigger_RedstoneInput_Active);
else
return BuildCraftTransport.instance.itemIcons[IconItemConstants.Trigger_RedstoneInput_Inactive];
return getIconProvider().getIcon(ActionTriggerIconProvider.Trigger_RedstoneInput_Inactive);
}
}