aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/api/multitileentity/multiblock
diff options
context:
space:
mode:
authorJason Mitchell <mitchej+github@gmail.com>2022-08-07 08:25:57 -0700
committerJason Mitchell <mitchej+github@gmail.com>2022-08-26 07:42:48 -0700
commitb90d7fc2c453a19e9229bd936229ee33229a191a (patch)
tree174f3d312f518c696e0a33afd617ce6d4b9daacd /src/main/java/gregtech/api/multitileentity/multiblock
parenteb95711aadb0066e70440111f93167f6164e6da8 (diff)
downloadGT5-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.java33
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))