diff options
Diffstat (limited to 'src/main/java')
16 files changed, 111 insertions, 25 deletions
diff --git a/src/main/java/gregtech/api/enums/GT_Values.java b/src/main/java/gregtech/api/enums/GT_Values.java index f7dfa461dd..cda42cbcbf 100644 --- a/src/main/java/gregtech/api/enums/GT_Values.java +++ b/src/main/java/gregtech/api/enums/GT_Values.java @@ -1,6 +1,7 @@ package gregtech.api.enums; import gregtech.api.fluid.FluidTankGT; +import gregtech.api.interfaces.IIconContainer; import gregtech.api.interfaces.internal.IGT_Mod; import gregtech.api.interfaces.internal.IGT_RecipeAdder; import gregtech.api.net.IGT_NetworkHandler; @@ -281,6 +282,9 @@ public class GT_Values { } + /** The Color White as RGB Short Array. */ + public static final short[] UNCOLORED_RBGA = {255, 255, 255, 255}; + /** The Color White as simple Integer (0x00ffffff). */ public static final int UNCOLORED = 0x00ffffff; /** @@ -456,6 +460,7 @@ public class GT_Values { public static final FluidTankInfo[] emptyFluidTankInfo = new FluidTankInfo[0]; public static final FluidStack[] emptyFluidStack = new FluidStack[0]; public static final ItemStack[] emptyItemStackArray = new ItemStack[0]; + public static final IIconContainer[] emptyIconContainerArray = new IIconContainer[3]; /** * Pretty formatting for author names. diff --git a/src/main/java/gregtech/api/enums/Textures.java b/src/main/java/gregtech/api/enums/Textures.java index 115d9ece26..666098b079 100644 --- a/src/main/java/gregtech/api/enums/Textures.java +++ b/src/main/java/gregtech/api/enums/Textures.java @@ -2048,11 +2048,16 @@ public class Textures { protected String mIconName; public CustomIcon(String aIconName) { - mIconName = aIconName; + mIconName = !aIconName.contains(":") ? RES_PATH_BLOCK + aIconName : aIconName; GregTech_API.sGTBlockIconload.add(this); } @Override + public void run() { + mIcon = GregTech_API.sBlockIcons.registerIcon(mIconName); + } + + @Override public IIcon getIcon() { return mIcon; } @@ -2067,10 +2072,6 @@ public class Textures { return TextureMap.locationBlocksTexture; } - @Override - public void run() { - mIcon = GregTech_API.sBlockIcons.registerIcon(RES_PATH_BLOCK + mIconName); - } } } diff --git a/src/main/java/gregtech/api/interfaces/IIconContainer.java b/src/main/java/gregtech/api/interfaces/IIconContainer.java index 780edf18d6..4682955603 100644 --- a/src/main/java/gregtech/api/interfaces/IIconContainer.java +++ b/src/main/java/gregtech/api/interfaces/IIconContainer.java @@ -5,6 +5,8 @@ import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.util.IIcon; import net.minecraft.util.ResourceLocation; +import static gregtech.api.enums.GT_Values.UNCOLORED_RBGA; + public interface IIconContainer { /** * @return A regular Icon. @@ -32,5 +34,14 @@ public interface IIconContainer { @SideOnly(Side.CLIENT) ResourceLocation getTextureFile(); + @SideOnly(Side.CLIENT) + default public short[] getIconColor(int aRenderPass) { + return UNCOLORED_RBGA; + } + + @SideOnly(Side.CLIENT) + default public boolean isUsingColorModulation(int aRenderPass) { + return aRenderPass == 0; + } } diff --git a/src/main/java/gregtech/api/metatileentity/CoverableTileEntity.java b/src/main/java/gregtech/api/metatileentity/CoverableTileEntity.java index fdac12c621..f7104c9b93 100644 --- a/src/main/java/gregtech/api/metatileentity/CoverableTileEntity.java +++ b/src/main/java/gregtech/api/metatileentity/CoverableTileEntity.java @@ -350,7 +350,7 @@ public abstract class CoverableTileEntity extends BaseTileEntity implements ICov public void receiveCoverData(byte aCoverSide, int aCoverID, int aCoverData) { if ((aCoverSide >= 0 && aCoverSide < 6)) setCoverIDAtSideNoUpdate(aCoverSide, aCoverID); - setCoverDataAtSide(aCoverSide, aCoverData); + setCoverDataAtSide(aCoverSide, aCoverData); } @Override diff --git a/src/main/java/gregtech/api/multitileentity/MultiTileEntityBlock.java b/src/main/java/gregtech/api/multitileentity/MultiTileEntityBlock.java index 13d2385381..7129fd0aab 100644 --- a/src/main/java/gregtech/api/multitileentity/MultiTileEntityBlock.java +++ b/src/main/java/gregtech/api/multitileentity/MultiTileEntityBlock.java @@ -322,6 +322,7 @@ public class MultiTileEntityBlock extends Block implements IDebugableBlock, ITil @Override public ITexture[] getTexture(Block aBlock, byte aSide, boolean isActive, int aRenderPass) { + // TODO: MTE(Texture) return null; } diff --git a/src/main/java/gregtech/api/multitileentity/MultiTileEntityBlockInternal.java b/src/main/java/gregtech/api/multitileentity/MultiTileEntityBlockInternal.java index feb2a0a0f5..852ffa3c8e 100644 --- a/src/main/java/gregtech/api/multitileentity/MultiTileEntityBlockInternal.java +++ b/src/main/java/gregtech/api/multitileentity/MultiTileEntityBlockInternal.java @@ -103,6 +103,7 @@ public class MultiTileEntityBlockInternal extends Block implements IRenderedBloc @Override public ITexture[] getTexture(Block aBlock, byte aSide, boolean isActive, int aRenderPass) { + // TODO: MTE(Texture) return null; } diff --git a/src/main/java/gregtech/api/multitileentity/MultiTileEntityClassContainer.java b/src/main/java/gregtech/api/multitileentity/MultiTileEntityClassContainer.java index ba5938769c..e6740a0663 100644 --- a/src/main/java/gregtech/api/multitileentity/MultiTileEntityClassContainer.java +++ b/src/main/java/gregtech/api/multitileentity/MultiTileEntityClassContainer.java @@ -1,11 +1,11 @@ package gregtech.api.multitileentity; import gregtech.api.enums.Materials; -import gregtech.api.multitileentity.interfaces.IMultiTileEntity; +import gregtech.api.multitileentity.base.BaseMultiTileEntity; import gregtech.api.util.GT_Util; import net.minecraft.block.material.Material; import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.Tuple; import java.lang.ref.WeakReference; @@ -17,9 +17,9 @@ public class MultiTileEntityClassContainer { private String mCategoryName; public final short mID; - public Class<? extends TileEntity> mClass; + public Class<? extends BaseMultiTileEntity> mClass; public MultiTileEntityBlock mBlock; - public TileEntity mCanonicalTileEntity; + public BaseMultiTileEntity mCanonicalTileEntity; public NBTTagCompound mParameters; // These have defaults @@ -28,7 +28,7 @@ public class MultiTileEntityClassContainer { public boolean mHidden = false; - public MultiTileEntityClassContainer(MultiTileEntityRegistry aRegistry, int aID, Class<? extends TileEntity> aClass) { + public MultiTileEntityClassContainer(MultiTileEntityRegistry aRegistry, int aID, Class<? extends BaseMultiTileEntity> aClass) { /* Start the Builder */ mRegistry = new WeakReference<>(aRegistry); mID = (short) aID; @@ -44,7 +44,7 @@ public class MultiTileEntityClassContainer { mParameters.setInteger(NBT.COLOR, GT_Util.getRGBInt(Materials.get(mParameters.getString(NBT.MATERIAL)).getRGBA())); try {mCanonicalTileEntity = mClass.newInstance();} catch (Throwable e) {throw new IllegalArgumentException(e);} - if (mCanonicalTileEntity instanceof IMultiTileEntity) ((IMultiTileEntity) mCanonicalTileEntity).initFromNBT(mParameters, mID, (short) -1); + mCanonicalTileEntity.initFromNBT(mParameters, mID, (short) -1); return registry != null && registry.add(this.mLocalized, this.mCategoryName, this) != null; } @@ -79,6 +79,8 @@ public class MultiTileEntityClassContainer { return this; } + /* These methods are builder methods for commonly used NBT tags */ + public MultiTileEntityClassContainer material(Material aMaterial) { mParameters.setString(NBT.MATERIAL, aMaterial.toString()); return this; @@ -94,4 +96,10 @@ public class MultiTileEntityClassContainer { return this; } + public MultiTileEntityClassContainer setNBT(Tuple... aTags) { + /* Merge in arbitrary NBT tuples of (key, value). Useful for anything for which a custom method has not yet been exposed */ + mParameters = GT_Util.fuseNBT(mParameters, GT_Util.makeNBT(aTags)); + return this; + } + } diff --git a/src/main/java/gregtech/api/multitileentity/MultiTileEntityRegistry.java b/src/main/java/gregtech/api/multitileentity/MultiTileEntityRegistry.java index 3e05efaf70..0bb9af1daa 100644 --- a/src/main/java/gregtech/api/multitileentity/MultiTileEntityRegistry.java +++ b/src/main/java/gregtech/api/multitileentity/MultiTileEntityRegistry.java @@ -5,6 +5,7 @@ import com.gtnewhorizon.gtnhlib.util.map.ItemStackMap; import cpw.mods.fml.common.registry.GameRegistry; import gregtech.api.GregTech_API; import gregtech.api.enums.GT_Values; +import gregtech.api.multitileentity.base.BaseMultiTileEntity; import gregtech.api.multitileentity.interfaces.IMultiTileEntity; import gregtech.api.util.GT_LanguageManager; import gregtech.api.util.GT_Util; @@ -87,7 +88,7 @@ public class MultiTileEntityRegistry { return NAMED_REGISTRIES.get(aRegistryName); } - public MultiTileEntityClassContainer create(int aID, Class<? extends TileEntity> aClass) { + public MultiTileEntityClassContainer create(int aID, Class<? extends BaseMultiTileEntity> aClass) { return new MultiTileEntityClassContainer(this, aID, aClass); } @@ -115,7 +116,7 @@ public class MultiTileEntityRegistry { tFailed = true; } if (mRegistry.containsKey(aClassContainer.mID)) { - GT_FML_LOGGER.error("MULTI-TILE REGISTRY ERROR: Class Container uses occupied MetaData!"); + GT_FML_LOGGER.error("MULTI-TILE REGISTRY ERROR: Class Container uses occupied MetaData! (" + aClassContainer.mID + ")"); tFailed = true; } } @@ -132,7 +133,7 @@ public class MultiTileEntityRegistry { mRegistrations.add(aClassContainer); if (sRegisteredTileEntities.add(aClassContainer.mCanonicalTileEntity.getClass())) { - if (aClassContainer.mCanonicalTileEntity instanceof IMultiTileEntity) ((IMultiTileEntity)aClassContainer.mCanonicalTileEntity).onRegistrationFirst(this, aClassContainer.mID); + aClassContainer.mCanonicalTileEntity.onRegistrationFirst(this, aClassContainer.mID); } // // TODO: Recipe // if (aRecipe != null && aRecipe.length > 1) { diff --git a/src/main/java/gregtech/api/multitileentity/base/BaseMultiTileEntity.java b/src/main/java/gregtech/api/multitileentity/base/BaseMultiTileEntity.java index f479b8150f..96a04b6147 100644 --- a/src/main/java/gregtech/api/multitileentity/base/BaseMultiTileEntity.java +++ b/src/main/java/gregtech/api/multitileentity/base/BaseMultiTileEntity.java @@ -7,6 +7,8 @@ import gregtech.api.GregTech_API; import gregtech.api.enums.GT_Values; import gregtech.api.enums.Materials; import gregtech.api.enums.SoundResource; +import gregtech.api.enums.Textures; +import gregtech.api.interfaces.IIconContainer; import gregtech.api.interfaces.ITexture; import gregtech.api.interfaces.tileentity.IGregtechWailaProvider; import gregtech.api.interfaces.tileentity.IHasWorldObjectAndCoords; @@ -20,11 +22,14 @@ import gregtech.api.net.GT_Packet_New; import gregtech.api.net.GT_Packet_TileEntity; import gregtech.api.objects.GT_ItemStack; import gregtech.api.objects.XSTR; +import gregtech.api.render.TextureFactory; import gregtech.api.util.GT_Log; import gregtech.api.util.GT_ModHandler; import gregtech.api.util.GT_Util; import gregtech.api.util.GT_Utility; import gregtech.api.util.ISerializableObject; +import gregtech.common.render.GT_MultiTexture; +import gregtech.common.render.GT_RenderedTexture; import gregtech.common.render.IRenderedBlock; import mcp.mobius.waila.api.IWailaConfigHandler; import mcp.mobius.waila.api.IWailaDataAccessor; @@ -53,17 +58,20 @@ import net.minecraftforge.fluids.FluidTankInfo; import net.minecraftforge.fluids.IFluidTank; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import java.util.UUID; import static gregtech.GT_Mod.GT_FML_LOGGER; +import static gregtech.api.enums.GT_Values.emptyIconContainerArray; import static gregtech.api.enums.GT_Values.NBT; import static gregtech.api.enums.GT_Values.OPOS; import static gregtech.api.enums.GT_Values.SIDE_WEST; import static gregtech.api.enums.GT_Values.VALID_SIDES; public abstract class BaseMultiTileEntity extends CoverableTileEntity implements IMultiTileEntity, IHasWorldObjectAndCoords, IRenderedBlock, IGregtechWailaProvider { + + public IIconContainer[] mTextures = emptyIconContainerArray, mTexturesFront = emptyIconContainerArray; + // Makes a Bounding Box without having to constantly specify the Offset Coordinates. protected static final float[] PX_BOX = {0, 0, 0, 1, 1, 1}; @@ -151,6 +159,21 @@ public abstract class BaseMultiTileEntity extends CoverableTileEntity implements readCoverNBT(aNBT); readMultiTileNBT(aNBT); + if(GregTech_API.sBlockIcons == null && aNBT.hasKey(NBT.TEXTURE)) { + // Loading the registry + final String textureName = aNBT.getString(NBT.TEXTURE); + mTextures = new IIconContainer[] { + new Textures.BlockIcons.CustomIcon("machines/multiblockparts/"+textureName+"/bottom"), + new Textures.BlockIcons.CustomIcon("machines/multiblockparts/"+textureName+"/top"), + new Textures.BlockIcons.CustomIcon("machines/multiblockparts/"+textureName+"/side"), + }; + } else { + // Loading an instance + final TileEntity tCanonicalTileEntity = MultiTileEntityRegistry.getCanonicalTileEntity(getMultiTileEntityRegistryID(), getMultiTileEntityID()); + if(tCanonicalTileEntity instanceof BaseMultiTileEntity) + mTextures = ((BaseMultiTileEntity)tCanonicalTileEntity).mTextures; + } + if (mCoverData == null || mCoverData.length != 6) mCoverData = new ISerializableObject[6]; if (mCoverSides.length != 6) mCoverSides = new int[]{0, 0, 0, 0, 0, 0}; if (mSidedRedstone.length != 6) mSidedRedstone = new byte[]{15, 15, 15, 15, 15, 15}; @@ -298,14 +321,21 @@ public abstract class BaseMultiTileEntity extends CoverableTileEntity implements final ITexture[] textureUncovered = getTexture(aBlock, aSide, true, aRenderPass); if (coverTexture != null) { - final ITexture[] textureCovered = Arrays.copyOf(textureUncovered, textureUncovered.length + 1); - textureCovered[textureUncovered.length] = coverTexture; - return textureCovered; + return new ITexture[]{ + GT_MultiTexture.get(textureUncovered), + coverTexture + }; } else { return textureUncovered; } } + @Override public ITexture[] getTexture(Block aBlock, byte aSide, boolean isActive, int aRenderPass) { + // Top, bottom or side + aSide = (byte)Math.min(aSide, 2); + return new ITexture[]{TextureFactory.of(mTextures[aSide])}; + } + @Override public void setCustomName(String aName) { mCustomName = aName; diff --git a/src/main/java/gregtech/api/multitileentity/machine/MultiTileBasicMachine.java b/src/main/java/gregtech/api/multitileentity/machine/MultiTileBasicMachine.java index 41b6a74aef..3997b5af71 100644 --- a/src/main/java/gregtech/api/multitileentity/machine/MultiTileBasicMachine.java +++ b/src/main/java/gregtech/api/multitileentity/machine/MultiTileBasicMachine.java @@ -95,6 +95,7 @@ public class MultiTileBasicMachine extends BaseTickableMultiTileEntity { @Override public ITexture[] getTexture(Block aBlock, byte aSide, boolean isActive, int aRenderPass) { + // TODO: MTE(Texture) return new ITexture[0]; } diff --git a/src/main/java/gregtech/api/multitileentity/multiblock/base/MultiBlockPart.java b/src/main/java/gregtech/api/multitileentity/multiblock/base/MultiBlockPart.java index 9b5c76ef8f..e64ace1452 100644 --- a/src/main/java/gregtech/api/multitileentity/multiblock/base/MultiBlockPart.java +++ b/src/main/java/gregtech/api/multitileentity/multiblock/base/MultiBlockPart.java @@ -9,6 +9,7 @@ import gregtech.api.render.TextureFactory; import gregtech.api.util.GT_CoverBehaviorBase; import gregtech.api.util.GT_Utility; import gregtech.api.util.ISerializableObject; +import gregtech.common.render.GT_MultiTexture; import mcp.mobius.waila.api.IWailaConfigHandler; import mcp.mobius.waila.api.IWailaDataAccessor; import net.minecraft.block.Block; @@ -188,7 +189,9 @@ public class MultiBlockPart extends BaseNontickableMultiTileEntity implements IM @Override public ITexture[] getTexture(Block aBlock, byte aSide, boolean isActive, int aRenderPass) { - final ITexture baseTexture = MACHINE_CASINGS[1][2]; + // TODO: MTE(Texture) +// final ITexture baseTexture = MACHINE_CASINGS[1][2]; + final ITexture baseTexture = TextureFactory.of(super.getTexture(aBlock, aSide, isActive, aRenderPass)); if(mMode != 0 && aSide == mFacing) { if(mMode == getModeOrdinal(ITEM_IN)) return new ITexture[]{ baseTexture, TextureFactory.of(OVERLAY_PIPE_IN), TextureFactory.of(ITEM_IN_SIGN) }; diff --git a/src/main/java/gregtech/api/util/GT_Util.java b/src/main/java/gregtech/api/util/GT_Util.java index 46cecfd525..2d1a1e389d 100644 --- a/src/main/java/gregtech/api/util/GT_Util.java +++ b/src/main/java/gregtech/api/util/GT_Util.java @@ -21,7 +21,7 @@ public class GT_Util { public static NBTTagCompound fuseNBT(NBTTagCompound aNBT1, NBTTagCompound aNBT2) { if (aNBT1 == null) return aNBT2 == null ? new NBTTagCompound() : (NBTTagCompound)aNBT2.copy(); - NBTTagCompound rNBT = (NBTTagCompound)aNBT1.copy(); + final NBTTagCompound rNBT = (NBTTagCompound)aNBT1.copy(); if (aNBT2 == null) return rNBT; for (Object tKey : aNBT2.func_150296_c/*getKeySet*/()) if (!rNBT.hasKey(tKey.toString())) rNBT.setTag(tKey.toString(), aNBT2.getTag(tKey.toString())); return rNBT; diff --git a/src/main/java/gregtech/common/render/GT_IconFlipped.java b/src/main/java/gregtech/common/render/GT_IconFlipped.java index c3eee2900f..d4f96fed4f 100644 --- a/src/main/java/gregtech/common/render/GT_IconFlipped.java +++ b/src/main/java/gregtech/common/render/GT_IconFlipped.java @@ -11,6 +11,8 @@ public class GT_IconFlipped implements IIcon { private final boolean flipV; public GT_IconFlipped(IIcon baseIcon, boolean flipU, boolean flipV) { + if(baseIcon == null) + System.out.println("HI"); this.baseIcon = baseIcon; this.flipU = flipU; this.flipV = flipV; @@ -19,6 +21,7 @@ public class GT_IconFlipped implements IIcon { /** * Returns the width of the icon, in pixels. */ + @Override public int getIconWidth() { return this.baseIcon.getIconWidth(); } @@ -26,6 +29,7 @@ public class GT_IconFlipped implements IIcon { /** * Returns the height of the icon, in pixels. */ + @Override public int getIconHeight() { return this.baseIcon.getIconHeight(); } @@ -33,6 +37,7 @@ public class GT_IconFlipped implements IIcon { /** * Returns the minimum U coordinate to use when rendering with this icon. */ + @Override public float getMinU() { return this.flipU ? this.baseIcon.getMaxU() : this.baseIcon.getMinU(); } @@ -40,6 +45,7 @@ public class GT_IconFlipped implements IIcon { /** * Returns the maximum U coordinate to use when rendering with this icon. */ + @Override public float getMaxU() { return this.flipU ? this.baseIcon.getMinU() : this.baseIcon.getMaxU(); } @@ -47,14 +53,16 @@ public class GT_IconFlipped implements IIcon { /** * Gets a U coordinate on the icon. 0 returns uMin and 16 returns uMax. Other arguments return in-between values. */ + @Override public float getInterpolatedU(double p_94214_1_) { - float f = this.getMaxU() - this.getMinU(); + final float f = this.getMaxU() - this.getMinU(); return this.getMinU() + f * ((float) p_94214_1_ / 16.0F); } /** * Returns the minimum V coordinate to use when rendering with this icon. */ + @Override public float getMinV() { return this.flipV ? this.baseIcon.getMaxV() : this.baseIcon.getMinV(); } @@ -62,6 +70,7 @@ public class GT_IconFlipped implements IIcon { /** * Returns the maximum V coordinate to use when rendering with this icon. */ + @Override public float getMaxV() { return this.flipV ? this.baseIcon.getMinV() : this.baseIcon.getMaxV(); } @@ -69,12 +78,14 @@ public class GT_IconFlipped implements IIcon { /** * Gets a V coordinate on the icon. 0 returns vMin and 16 returns vMax. Other arguments return in-between values. */ + @Override public float getInterpolatedV(double p_94207_1_) { - float f = this.getMaxV() - this.getMinV(); + final float f = this.getMaxV() - this.getMinV(); return this.getMinV() + f * ((float) p_94207_1_ / 16.0F); } + @Override public String getIconName() { return this.baseIcon.getIconName(); } -}
\ No newline at end of file +} diff --git a/src/main/java/gregtech/common/render/GT_MultiTexture.java b/src/main/java/gregtech/common/render/GT_MultiTexture.java index b72a6b1953..2d78b9b988 100644 --- a/src/main/java/gregtech/common/render/GT_MultiTexture.java +++ b/src/main/java/gregtech/common/render/GT_MultiTexture.java @@ -1,5 +1,6 @@ package gregtech.common.render; +import gregtech.GT_Mod; import gregtech.api.interfaces.ITexture; import net.minecraft.block.Block; import net.minecraft.client.renderer.RenderBlocks; @@ -11,6 +12,12 @@ import net.minecraft.client.renderer.RenderBlocks; public class GT_MultiTexture extends GT_TextureBase implements ITexture { protected final ITexture[] mTextures; + + public static GT_MultiTexture get(ITexture... aTextures) { + return GT_Mod.instance.isClientSide() ? new GT_MultiTexture(aTextures) : null; + } + + protected GT_MultiTexture(ITexture... aTextures) { mTextures = aTextures; } diff --git a/src/main/java/gregtech/common/render/GT_TextureBuilder.java b/src/main/java/gregtech/common/render/GT_TextureBuilder.java index f79e438dd7..708720ad40 100644 --- a/src/main/java/gregtech/common/render/GT_TextureBuilder.java +++ b/src/main/java/gregtech/common/render/GT_TextureBuilder.java @@ -139,7 +139,7 @@ public class GT_TextureBuilder implements ITextureBuilder { private static Boolean apply(Block b, Byte m) { Class<?> clazz = b.getClass(); while (clazz != Block.class) { - String className = clazz.getName(); + final String className = clazz.getName(); if (GT_Values.mCTMDisabledBlock.contains(className)) return false; if (GT_Values.mCTMEnabledBlock.contains(className)) return true; clazz = clazz.getSuperclass(); diff --git a/src/main/java/gregtech/common/tileentities/machines/multiblock/MultiBlock_Macerator.java b/src/main/java/gregtech/common/tileentities/machines/multiblock/MultiBlock_Macerator.java index d470518842..23a2a484d1 100644 --- a/src/main/java/gregtech/common/tileentities/machines/multiblock/MultiBlock_Macerator.java +++ b/src/main/java/gregtech/common/tileentities/machines/multiblock/MultiBlock_Macerator.java @@ -8,6 +8,7 @@ import gregtech.api.multitileentity.multiblock.base.MultiBlockPart; import gregtech.api.multitileentity.multiblock.base.MultiBlock_Stackable; import gregtech.api.render.TextureFactory; import gregtech.api.util.GT_Multiblock_Tooltip_Builder; +import gregtech.common.render.GT_MultiTexture; import net.minecraft.block.Block; import net.minecraft.item.ItemStack; @@ -117,13 +118,18 @@ public class MultiBlock_Macerator extends MultiBlock_Stackable<MultiBlock_Macera @Override public ITexture[] getTexture(Block aBlock, byte aSide, boolean isActive, int aRenderPass) { + // TODO: MTE(Texture) if(mFacing == aSide) { return new ITexture[]{ + // Base Texture MACHINE_CASINGS[1][0], + // Active TextureFactory.builder().addIcon(OVERLAY_FRONT_ELECTRIC_BLAST_FURNACE_ACTIVE).extFacing().build(), + // Active Glow TextureFactory.builder().addIcon(OVERLAY_FRONT_ELECTRIC_BLAST_FURNACE_ACTIVE_GLOW).extFacing().glow().build() }; } + // Base Texture return new ITexture[]{ MACHINE_CASINGS[1][0]}; } |