/** * Copyright (c) 2011-2015, SpaceToad and the BuildCraft Team * http://www.mod-buildcraft.com * <p/> * BuildCraft is distributed under the terms of the Minecraft Mod Public * License 1.0, or MMPL. Please check the contents of the license located in * http://www.mod-buildcraft.com/MMPL-1.0.txt */ package buildcraft.transport; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.util.IIcon; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import buildcraft.BuildCraftCore; import buildcraft.api.core.IIconProvider; public class PipeIconProvider implements IIconProvider { public enum TYPE { PipeStructureCobblestone("pipeStructureCobblestone"), // PipeItemsCobbleStone("pipeItemsCobblestone"), // PipeItemsDiamond_Item("pipeItemsDiamond_item"), PipeItemsDiamond_Center("pipeItemsDiamond_center"), PipeItemsDiamond_Down("pipeItemsDiamond_down"), PipeItemsDiamond_Up("pipeItemsDiamond_up"), PipeItemsDiamond_North("pipeItemsDiamond_north"), PipeItemsDiamond_South("pipeItemsDiamond_south"), PipeItemsDiamond_West("pipeItemsDiamond_west", "pipeItemsDiamond_west_cb"), PipeItemsDiamond_East("pipeItemsDiamond_east"), // PipeItemsLapis_Black("pipeItemsLapis_black"), PipeItemsLapis_Red("pipeItemsLapis_red"), PipeItemsLapis_Green("pipeItemsLapis_green"), PipeItemsLapis_Brown("pipeItemsLapis_brown"), PipeItemsLapis_Blue("pipeItemsLapis_blue"), PipeItemsLapis_Purple("pipeItemsLapis_purple"), PipeItemsLapis_Cyan("pipeItemsLapis_cyan"), PipeItemsLapis_LightGray("pipeItemsLapis_lightgray"), PipeItemsLapis_Gray("pipeItemsLapis_gray"), PipeItemsLapis_Pink("pipeItemsLapis_pink"), PipeItemsLapis_Lime("pipeItemsLapis_lime"), PipeItemsLapis_Yellow("pipeItemsLapis_yellow"), PipeItemsLapis_LightBlue("pipeItemsLapis_lightblue"), PipeItemsLapis_Magenta("pipeItemsLapis_magenta"), PipeItemsLapis_Orange("pipeItemsLapis_orange"), PipeItemsLapis_White("pipeItemsLapis_white"), // PipeItemsDaizuli_Black("pipeItemsDaizuli_black"), PipeItemsDaizuli_Red("pipeItemsDaizuli_red"), PipeItemsDaizuli_Green("pipeItemsDaizuli_green"), PipeItemsDaizuli_Brown("pipeItemsDaizuli_brown"), PipeItemsDaizuli_Blue("pipeItemsDaizuli_blue"), PipeItemsDaizuli_Purple("pipeItemsDaizuli_purple"), PipeItemsDaizuli_Cyan("pipeItemsDaizuli_cyan"), PipeItemsDaizuli_LightGray("pipeItemsDaizuli_lightgray"), PipeItemsDaizuli_Gray("pipeItemsDaizuli_gray"), PipeItemsDaizuli_Pink("pipeItemsDaizuli_pink"), PipeItemsDaizuli_Lime("pipeItemsDaizuli_lime"), PipeItemsDaizuli_Yellow("pipeItemsDaizuli_yellow"), PipeItemsDaizuli_LightBlue("pipeItemsDaizuli_lightblue"), PipeItemsDaizuli_Magenta("pipeItemsDaizuli_magenta"), PipeItemsDaizuli_Orange("pipeItemsDaizuli_orange"), PipeItemsDaizuli_White("pipeItemsDaizuli_white"), PipeAllDaizuli_Solid("pipeAllDaizuli_solid"), // PipeItemsWood_Standard("pipeItemsWood_standard"), PipeAllWood_Solid("pipeAllWood_solid"), // PipeItemsEmerald_Standard("pipeItemsEmerald_standard"), PipeAllEmerald_Solid("pipeAllEmerald_solid"), // PipeItemsEmzuli_Standard("pipeItemsEmzuli_standard"), PipeAllEmzuli_Solid("pipeAllEmzuli_solid"), // PipeItemsGold("pipeItemsGold"), // PipeItemsIron_Standard("pipeItemsIron_standard"), PipeAllIron_Solid("pipeAllIron_solid"), // PipeItemsObsidian("pipeItemsObsidian"), PipeItemsSandstone("pipeItemsSandstone"), PipeItemsStone("pipeItemsStone"), PipeItemsQuartz("pipeItemsQuartz"), PipeItemsClay("pipeItemsClay"), PipeItemsVoid("pipeItemsVoid"), // PipeFluidsCobblestone("pipeFluidsCobblestone"), PipeFluidsWood_Standard("pipeFluidsWood_standard"), PipeFluidsEmerald_Standard("pipeFluidsEmerald_standard"), PipeFluidsQuartz("pipeFluidsQuartz"), PipeFluidsGold("pipeFluidsGold"), PipeFluidsIron_Standard("pipeFluidsIron_standard"), PipeFluidsSandstone("pipeFluidsSandstone"), PipeFluidsStone("pipeFluidsStone"), PipeFluidsVoid("pipeFluidsVoid"), PipeFluidsClay("pipeFluidsClay"), // PipeFluidsDiamond_Item("pipeFluidsDiamond_item"), PipeFluidsDiamond_Center("pipeFluidsDiamond_center"), PipeFluidsDiamond_Down("pipeFluidsDiamond_down"), PipeFluidsDiamond_Up("pipeFluidsDiamond_up"), PipeFluidsDiamond_North("pipeFluidsDiamond_north"), PipeFluidsDiamond_South("pipeFluidsDiamond_south"), PipeFluidsDiamond_West("pipeFluidsDiamond_west", "pipeFluidsDiamond_west_cb"), PipeFluidsDiamond_East("pipeFluidsDiamond_east"), // PipePowerDiamond("pipePowerDiamond"), PipePowerGold("pipePowerGold"), PipePowerQuartz("pipePowerQuartz"), PipePowerStone("pipePowerStone"), PipePowerSandstone("pipePowerSandstone"), PipePowerCobblestone("pipePowerCobblestone"), PipePowerWood_Standard("pipePowerWood_standard"), PipePowerEmerald_Standard("pipePowerEmerald_standard"), // PipePowerIronM2("pipePowerIronM2"), PipePowerIronM4("pipePowerIronM4"), PipePowerIronM8("pipePowerIronM8"), PipePowerIronM16("pipePowerIronM16"), PipePowerIronM32("pipePowerIronM32"), PipePowerIronM64("pipePowerIronM64"), PipePowerIronM128("pipePowerIronM128"), // PipeRobotStation("pipeRobotStation", "pipeRobotStation_cb"), PipeRobotStationReserved("pipeRobotStationReserved", "pipeRobotStationReserved_cb"), PipeRobotStationLinked("pipeRobotStationLinked", "pipeRobotStationLinked_cb"), // Power_Normal("core:misc/texture_cyan"), Power_Overload("core:misc/texture_red_lit"), Stripes("pipeStripes"), // PipeStainedOverlay("pipeStainedOverlay"), PipeLens("pipeLens"), PipeFilter("pipeFilter"), PipeLensClearOverlay("pipeLensClearOverlay"), PipeLensOverlay("pipeLensOverlay"), PipePlug("pipePlug"), // TransparentFacade("transparent_facade"), Transparent("core:misc/transparent"), // PipePowerAdapterSide("pipePowerAdapterSide"), PipePowerAdapterBottom("pipePowerAdapterBottom"), PipePowerAdapterTop("pipePowerAdapterTop"), // ItemBox("itemBox"); public static final TYPE[] VALUES = values(); private final String iconTag; private final String iconTagColorBlind; private IIcon icon; TYPE(String iconTag, String iconTagColorBlind) { this.iconTag = iconTag; this.iconTagColorBlind = iconTagColorBlind; } TYPE(String iconTag) { this(iconTag, iconTag); } private void registerIcon(IIconRegister iconRegister) { String name = BuildCraftCore.colorBlindMode ? iconTagColorBlind : iconTag; if (!name.contains(":")) { name = "transport:pipes/" + name; } icon = iconRegister.registerIcon("buildcraft" + name); } public IIcon getIcon() { return icon; } } @Override @SideOnly(Side.CLIENT) public IIcon getIcon(int pipeIconIndex) { if (pipeIconIndex == -1) { return null; } return TYPE.VALUES[pipeIconIndex].icon; } @Override @SideOnly(Side.CLIENT) public void registerIcons(IIconRegister iconRegister) { for (TYPE type : TYPE.VALUES) { type.registerIcon(iconRegister); } } }