diff options
author | Jason Mitchell <mitchej+github@gmail.com> | 2022-08-07 08:25:57 -0700 |
---|---|---|
committer | Jason Mitchell <mitchej+github@gmail.com> | 2022-08-26 07:42:48 -0700 |
commit | b90d7fc2c453a19e9229bd936229ee33229a191a (patch) | |
tree | 174f3d312f518c696e0a33afd617ce6d4b9daacd /src/main/java/gregtech/api/multitileentity/multiblock | |
parent | eb95711aadb0066e70440111f93167f6164e6da8 (diff) | |
download | GT5-Unofficial-b90d7fc2c453a19e9229bd936229ee33229a191a.tar.gz GT5-Unofficial-b90d7fc2c453a19e9229bd936229ee33229a191a.tar.bz2 GT5-Unofficial-b90d7fc2c453a19e9229bd936229ee33229a191a.zip |
texture work
Diffstat (limited to 'src/main/java/gregtech/api/multitileentity/multiblock')
-rw-r--r-- | src/main/java/gregtech/api/multitileentity/multiblock/base/MultiBlockPart.java | 33 |
1 files changed, 31 insertions, 2 deletions
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 e64ace1452..6c36798197 100644 --- a/src/main/java/gregtech/api/multitileentity/multiblock/base/MultiBlockPart.java +++ b/src/main/java/gregtech/api/multitileentity/multiblock/base/MultiBlockPart.java @@ -1,12 +1,17 @@ package gregtech.api.multitileentity.multiblock.base; import gregtech.api.enums.GT_Values; +import gregtech.api.enums.Textures; +import gregtech.api.interfaces.IIconContainer; import gregtech.api.interfaces.ITexture; +import gregtech.api.multitileentity.MultiTileEntityRegistry; +import gregtech.api.multitileentity.base.BaseMultiTileEntity; import gregtech.api.multitileentity.base.BaseNontickableMultiTileEntity; import gregtech.api.multitileentity.interfaces.IMultiBlockController; import gregtech.api.multitileentity.interfaces.IMultiTileEntity.IMTE_BreakBlock; import gregtech.api.render.TextureFactory; import gregtech.api.util.GT_CoverBehaviorBase; +import gregtech.api.util.GT_Util; import gregtech.api.util.GT_Utility; import gregtech.api.util.ISerializableObject; import gregtech.common.render.GT_MultiTexture; @@ -187,10 +192,34 @@ public class MultiBlockPart extends BaseNontickableMultiTileEntity implements IM mMode = aData; } + + @Override + public void loadTextureNBT(NBTTagCompound aNBT) { + // Loading the registry + final String textureName = aNBT.getString(NBT.TEXTURE); + mTextures = new IIconContainer[] { + new Textures.BlockIcons.CustomIcon("multitileentity/multiblockparts/"+textureName+"/bottom"), + new Textures.BlockIcons.CustomIcon("multitileentity/multiblockparts/"+textureName+"/top"), + new Textures.BlockIcons.CustomIcon("multitileentity/multiblockparts/"+textureName+"/side"), + new Textures.BlockIcons.CustomIcon("multitileentity/multiblockparts/"+textureName+"/overlay/bottom"), + new Textures.BlockIcons.CustomIcon("multitileentity/multiblockparts/"+textureName+"/overlay/top"), + new Textures.BlockIcons.CustomIcon("multitileentity/multiblockparts/"+textureName+"/overlay/side") + }; + } + + @Override + public void copyTextures() { + // Loading an instance + final TileEntity tCanonicalTileEntity = MultiTileEntityRegistry.getCanonicalTileEntity(getMultiTileEntityRegistryID(), getMultiTileEntityID()); + if(tCanonicalTileEntity instanceof MultiBlockPart) + mTextures = ((MultiBlockPart)tCanonicalTileEntity).mTextures; + } + + @Override public ITexture[] getTexture(Block aBlock, byte aSide, boolean isActive, int aRenderPass) { - // TODO: MTE(Texture) -// final ITexture baseTexture = MACHINE_CASINGS[1][2]; + // For normal parts - texture comes from BaseMTE; overlay based on current mode + // TODO(MTE) - For Advanced parts they might come from somewhere else final ITexture baseTexture = TextureFactory.of(super.getTexture(aBlock, aSide, isActive, aRenderPass)); if(mMode != 0 && aSide == mFacing) { if(mMode == getModeOrdinal(ITEM_IN)) |