diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/main/java/client/ClientProxy.java | 2 | ||||
-rw-r--r-- | src/main/java/client/GTTexture.java | 63 | ||||
-rw-r--r-- | src/main/java/common/tileentities/GTMTE_TFFTMultiHatch.java | 10 |
3 files changed, 71 insertions, 4 deletions
diff --git a/src/main/java/client/ClientProxy.java b/src/main/java/client/ClientProxy.java index f608861c0d..b4eb51f369 100644 --- a/src/main/java/client/ClientProxy.java +++ b/src/main/java/client/ClientProxy.java @@ -18,6 +18,8 @@ public class ClientProxy extends CommonProxy { // Register TESR ClientRegistry.bindTileEntitySpecialRenderer(TE_SpaceElevatorTether.class, new TESR_SETether()); ClientRegistry.bindTileEntitySpecialRenderer(TE_SpaceElevatorCapacitor.class, new TESR_SECapacitor()); + // Register GTTextures + GTTexture.init(); } @Override diff --git a/src/main/java/client/GTTexture.java b/src/main/java/client/GTTexture.java new file mode 100644 index 0000000000..98795e6585 --- /dev/null +++ b/src/main/java/client/GTTexture.java @@ -0,0 +1,63 @@ +package client; + +import gregtech.api.GregTech_API; +import gregtech.api.interfaces.IIconContainer; +import kekztech.KekzCore; +import net.minecraft.client.renderer.texture.TextureMap; +import net.minecraft.util.IIcon; +import net.minecraft.util.ResourceLocation; + +import java.util.HashMap; + +public class GTTexture implements IIconContainer { + + public static final String MULTI_HATCH_OFF = "multi_hatch_off"; + public static final String MULTI_HATCH_ON = "multi_hatch_on"; + + private static final HashMap<String, IIconContainer> icons = new HashMap<>(); + + private final IIcon icon; + private final IIcon overlayIcon; + + private GTTexture(String iconName) { + icon = GregTech_API.sBlockIcons.registerIcon(KekzCore.MODID + ":" + iconName); + overlayIcon = null; + } + + private GTTexture(String iconName, String overlayIconName) { + icon = GregTech_API.sBlockIcons.registerIcon(KekzCore.MODID + ":" + iconName); + overlayIcon = GregTech_API.sBlockIcons.registerIcon(KekzCore.MODID + ":" + overlayIconName); + } + + public static void registerTexture(String iconName) { + icons.put(iconName, new GTTexture(iconName)); + } + + public static void registerTexture(String iconName, String overlayIconName) { + icons.put(iconName, new GTTexture(iconName, overlayIconName)); + } + + public static void init() { + registerTexture(MULTI_HATCH_ON); + registerTexture(MULTI_HATCH_OFF); + } + + public static IIconContainer getIconContainer(String iconName) { + return icons.get(iconName); + } + + @Override + public IIcon getIcon() { + return icon; + } + + @Override + public IIcon getOverlayIcon() { + return overlayIcon; + } + + @Override + public ResourceLocation getTextureFile() { + return TextureMap.locationBlocksTexture; + } +} diff --git a/src/main/java/common/tileentities/GTMTE_TFFTMultiHatch.java b/src/main/java/common/tileentities/GTMTE_TFFTMultiHatch.java index f93bafbead..024ffdc135 100644 --- a/src/main/java/common/tileentities/GTMTE_TFFTMultiHatch.java +++ b/src/main/java/common/tileentities/GTMTE_TFFTMultiHatch.java @@ -1,10 +1,12 @@ package common.tileentities; +import client.GTTexture; import gregtech.api.GregTech_API; import gregtech.api.interfaces.ITexture; import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch; +import gregtech.api.objects.GT_RenderedTexture; import gregtech.api.util.GT_ModHandler; import gregtech.api.util.GT_Utility; import kekztech.MultiFluidHandler; @@ -64,13 +66,13 @@ public class GTMTE_TFFTMultiHatch extends GT_MetaTileEntity_Hatch { } @Override - public ITexture[] getTexturesActive(ITexture iTexture) { - return new ITexture[0]; + public ITexture[] getTexturesActive(ITexture aBaseTexture) { + return new ITexture[]{aBaseTexture, new GT_RenderedTexture(GTTexture.getIconContainer(GTTexture.MULTI_HATCH_ON))}; } @Override - public ITexture[] getTexturesInactive(ITexture iTexture) { - return new ITexture[0]; + public ITexture[] getTexturesInactive(ITexture aBaseTexture) { + return new ITexture[]{aBaseTexture, new GT_RenderedTexture(GTTexture.getIconContainer(GTTexture.MULTI_HATCH_OFF))}; } @Override |