package miscutil.xmod.gregtech.api.enums; import gregtech.api.GregTech_API; import miscutil.core.lib.CORE; import miscutil.xmod.gregtech.api.interfaces.internal.Interface_IconContainer; import miscutil.xmod.gregtech.api.interfaces.internal.Interface_Texture; import net.minecraft.client.renderer.texture.TextureMap; import net.minecraft.util.IIcon; import net.minecraft.util.ResourceLocation; public class GregtechTextures { public enum BlockIcons implements Interface_IconContainer, Runnable { VOID, LARGECENTRIFUGE1, LARGECENTRIFUGE2, LARGECENTRIFUGE3, LARGECENTRIFUGE4, LARGECENTRIFUGE5, LARGECENTRIFUGE6, LARGECENTRIFUGE7, LARGECENTRIFUGE8, LARGECENTRIFUGE9, LARGECENTRIFUGE_ACTIVE1, LARGECENTRIFUGE_ACTIVE2, LARGECENTRIFUGE_ACTIVE3, LARGECENTRIFUGE_ACTIVE4, LARGECENTRIFUGE_ACTIVE5, LARGECENTRIFUGE_ACTIVE6, LARGECENTRIFUGE_ACTIVE7, LARGECENTRIFUGE_ACTIVE8, LARGECENTRIFUGE_ACTIVE9; public static final Interface_IconContainer[] CENTRIFUGE = new Interface_IconContainer[]{ LARGECENTRIFUGE1, LARGECENTRIFUGE2, LARGECENTRIFUGE3, LARGECENTRIFUGE4, LARGECENTRIFUGE5, LARGECENTRIFUGE6, LARGECENTRIFUGE7, LARGECENTRIFUGE8, LARGECENTRIFUGE9 }, CENTRIFUGE_ACTIVE = new Interface_IconContainer[]{ LARGECENTRIFUGE_ACTIVE1, LARGECENTRIFUGE_ACTIVE2, LARGECENTRIFUGE_ACTIVE3, LARGECENTRIFUGE_ACTIVE4, LARGECENTRIFUGE_ACTIVE5, LARGECENTRIFUGE_ACTIVE6, LARGECENTRIFUGE_ACTIVE7, LARGECENTRIFUGE_ACTIVE8, LARGECENTRIFUGE_ACTIVE9 }; public static Interface_Texture[] GT_CASING_BLOCKS = new Interface_Texture[64]; protected IIcon mIcon; private BlockIcons() { CORE.GT_BlockIconload.add(this); } @Override public IIcon getIcon() { return mIcon; } @Override public IIcon getOverlayIcon() { return null; } @Override public void run() { mIcon = GregTech_API.sBlockIcons.registerIcon(CORE.MODID + ":" + "iconsets/" + this); } @Override public ResourceLocation getTextureFile() { return TextureMap.locationBlocksTexture; } public static class CustomIcon implements Interface_IconContainer, Runnable { protected IIcon mIcon; protected String mIconName; public CustomIcon(String aIconName) { mIconName = aIconName; CORE.GT_BlockIconload.add(this); } @Override public IIcon getIcon() { return mIcon; } @Override public IIcon getOverlayIcon() { return null; } @Override public void run() { mIcon = CORE.GT_BlockIcons.registerIcon(CORE.MODID + ":" + mIconName); } @Override public ResourceLocation getTextureFile() { return TextureMap.locationBlocksTexture; } } } public enum ItemIcons implements Interface_IconContainer, Runnable { VOID // The Empty Texture , RENDERING_ERROR, SKOOKUMCHOOCHER, DURABILITY_BAR_0, DURABILITY_BAR_1, DURABILITY_BAR_2, DURABILITY_BAR_3, DURABILITY_BAR_4, DURABILITY_BAR_5, DURABILITY_BAR_6, DURABILITY_BAR_7, DURABILITY_BAR_8, ENERGY_BAR_0, ENERGY_BAR_1, ENERGY_BAR_2, ENERGY_BAR_3, ENERGY_BAR_4, ENERGY_BAR_5, ENERGY_BAR_6, ENERGY_BAR_7, ENERGY_BAR_8, TURBINE, TURBINE_SMALL, TURBINE_LARGE, TURBINE_HUGE; public static final Interface_IconContainer[] DURABILITY_BAR = new Interface_IconContainer[]{ DURABILITY_BAR_0, DURABILITY_BAR_1, DURABILITY_BAR_2, DURABILITY_BAR_3, DURABILITY_BAR_4, DURABILITY_BAR_5, DURABILITY_BAR_6, DURABILITY_BAR_7, DURABILITY_BAR_8, }, ENERGY_BAR = new Interface_IconContainer[]{ ENERGY_BAR_0, ENERGY_BAR_1, ENERGY_BAR_2, ENERGY_BAR_3, ENERGY_BAR_4, ENERGY_BAR_5, ENERGY_BAR_6, ENERGY_BAR_7, ENERGY_BAR_8, }; //public static final Interface_Texture[] ERROR_RENDERING = new Interface_Texture[]{new GregtechRenderedTexture(RENDERING_ERROR)}; protected IIcon mIcon, mOverlay; private ItemIcons() { GregTech_API.sGTItemIconload.add(this); } @Override public IIcon getIcon() { return mIcon; } @Override public IIcon getOverlayIcon() { return mOverlay; } @Override public ResourceLocation getTextureFile() { return TextureMap.locationItemsTexture; } @Override public void run() { mIcon = GregTech_API.sItemIcons.registerIcon(CORE.MODID+ ":" + "iconsets/" + this); mOverlay = GregTech_API.sItemIcons.registerIcon(CORE.MODID+ ":" + "iconsets/" + this + "_OVERLAY"); } public static class CustomIcon implements Interface_IconContainer, Runnable { protected IIcon mIcon, mOverlay; protected String mIconName; public CustomIcon(String aIconName) { mIconName = aIconName; GregTech_API.sGTItemIconload.add(this); } @Override public IIcon getIcon() { return mIcon; } @Override public IIcon getOverlayIcon() { return mOverlay; } @Override public void run() { mIcon = GregTech_API.sItemIcons.registerIcon(CORE.MODID+ ":" + mIconName); mOverlay = GregTech_API.sItemIcons.registerIcon(CORE.MODID+ ":" + mIconName + "_OVERLAY"); } @Override public ResourceLocation getTextureFile() { return TextureMap.locationItemsTexture; } } } }