diff options
author | Dream-Master <dream-master@gmx.net> | 2017-07-30 21:37:29 +0200 |
---|---|---|
committer | Dream-Master <dream-master@gmx.net> | 2017-07-30 21:37:29 +0200 |
commit | fe11172e01fcc378f9979c41de598c2255e80064 (patch) | |
tree | 827a6f3055e797b5c884e2c8f78dcca3a8c52c28 /src/main/java/gregtech/api/metatileentity/implementations | |
parent | 723479e196a0fe18bd3d764985016b6d8a330526 (diff) | |
parent | a3265450b750907ba36c4e8d78dd65b188a47682 (diff) | |
download | GT5-Unofficial-fe11172e01fcc378f9979c41de598c2255e80064.tar.gz GT5-Unofficial-fe11172e01fcc378f9979c41de598c2255e80064.tar.bz2 GT5-Unofficial-fe11172e01fcc378f9979c41de598c2255e80064.zip |
Merge branch 'experimental' into experimental-test
Diffstat (limited to 'src/main/java/gregtech/api/metatileentity/implementations')
2 files changed, 26 insertions, 5 deletions
diff --git a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch.java b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch.java index 9c13aa1dd8..9a4402c3e0 100644 --- a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch.java +++ b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch.java @@ -6,8 +6,8 @@ import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import net.minecraft.nbt.NBTTagCompound; public abstract class GT_MetaTileEntity_Hatch extends GT_MetaTileEntity_BasicTank { - public byte mMachineBlock = 0; + public byte mTexturePage = 0; public GT_MetaTileEntity_Hatch(int aID, String aName, String aNameRegional, int aTier, int aInvSlotCount, String aDescription, ITexture... aTextures) { super(aID, aName, aNameRegional, aTier, aInvSlotCount, aDescription, aTextures); @@ -36,29 +36,40 @@ public abstract class GT_MetaTileEntity_Hatch extends GT_MetaTileEntity_BasicTan @Override public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, byte aSide, byte aFacing, byte aColorIndex, boolean aActive, boolean aRedstone) { - return aSide != aFacing ? mMachineBlock > 0 ? new ITexture[]{Textures.BlockIcons.CASING_BLOCKS[mMachineBlock]} : new ITexture[]{Textures.BlockIcons.MACHINE_CASINGS[mTier][aColorIndex + 1]} : mMachineBlock > 0 ? aActive ? getTexturesActive(Textures.BlockIcons.CASING_BLOCKS[mMachineBlock]) : getTexturesInactive(Textures.BlockIcons.CASING_BLOCKS[mMachineBlock]) : aActive ? getTexturesActive(Textures.BlockIcons.MACHINE_CASINGS[mTier][aColorIndex + 1]) : getTexturesInactive(Textures.BlockIcons.MACHINE_CASINGS[mTier][aColorIndex + 1]); + int textureIndex=mMachineBlock|(mTexturePage<<7);//Shift seven since one page is 128 textures! + return aSide != aFacing ? (textureIndex > 0) ? new ITexture[]{Textures.BlockIcons.CASING_BLOCKS[textureIndex]} : new ITexture[]{Textures.BlockIcons.MACHINE_CASINGS[mTier][aColorIndex + 1]} : textureIndex > 0 ? aActive ? getTexturesActive(Textures.BlockIcons.CASING_BLOCKS[textureIndex]) : getTexturesInactive(Textures.BlockIcons.CASING_BLOCKS[textureIndex]) : aActive ? getTexturesActive(Textures.BlockIcons.MACHINE_CASINGS[mTier][aColorIndex + 1]) : getTexturesInactive(Textures.BlockIcons.MACHINE_CASINGS[mTier][aColorIndex + 1]); } @Override public void saveNBTData(NBTTagCompound aNBT) { super.saveNBTData(aNBT); aNBT.setByte("mMachineBlock", mMachineBlock); + aNBT.setByte("mTexturePage", mTexturePage); } @Override public void loadNBTData(NBTTagCompound aNBT) { super.loadNBTData(aNBT); mMachineBlock = aNBT.getByte("mMachineBlock"); + mTexturePage = aNBT.getByte("mTexturePage"); } @Override public final void onValueUpdate(byte aValue) { - mMachineBlock = (byte) (aValue & 127); + mMachineBlock = (byte)(aValue & 0x7F); } @Override public final byte getUpdateData() { - return (byte) (mMachineBlock & 127); + return (byte)(mMachineBlock & 0x7F); + } + + public final void onTexturePageUpdate(byte aValue) { + mTexturePage = (byte)(aValue & 0x7F); + } + + public final byte getTexturePage() { + return (byte)(mTexturePage & 0x7F); } @Override diff --git a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_MultiBlockBase.java b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_MultiBlockBase.java index 5d6178e062..4f96ca9e16 100644 --- a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_MultiBlockBase.java +++ b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_MultiBlockBase.java @@ -762,8 +762,10 @@ public abstract class GT_MetaTileEntity_MultiBlockBase extends MetaTileEntity { if (aTileEntity == null) return false; IMetaTileEntity aMetaTileEntity = aTileEntity.getMetaTileEntity(); if (aMetaTileEntity == null) return false; - if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch) + if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch) { ((GT_MetaTileEntity_Hatch) aMetaTileEntity).mMachineBlock = (byte) aBaseCasingIndex; + ((GT_MetaTileEntity_Hatch) aMetaTileEntity).mTexturePage = (byte) 0; + } if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Input) return mInputHatches.add((GT_MetaTileEntity_Hatch_Input) aMetaTileEntity); if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_InputBus) @@ -789,6 +791,7 @@ public abstract class GT_MetaTileEntity_MultiBlockBase extends MetaTileEntity { if (aMetaTileEntity == null) return false; if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Maintenance) { ((GT_MetaTileEntity_Hatch) aMetaTileEntity).mMachineBlock = (byte) aBaseCasingIndex; + ((GT_MetaTileEntity_Hatch) aMetaTileEntity).mTexturePage = (byte) 0; return mMaintenanceHatches.add((GT_MetaTileEntity_Hatch_Maintenance) aMetaTileEntity); } return false; @@ -802,6 +805,7 @@ public abstract class GT_MetaTileEntity_MultiBlockBase extends MetaTileEntity { if (aMetaTileEntity == null) return false; if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Energy) { ((GT_MetaTileEntity_Hatch) aMetaTileEntity).mMachineBlock = (byte) aBaseCasingIndex; + ((GT_MetaTileEntity_Hatch) aMetaTileEntity).mTexturePage = (byte) 0; return mEnergyHatches.add((GT_MetaTileEntity_Hatch_Energy) aMetaTileEntity); } return false; @@ -813,6 +817,7 @@ public abstract class GT_MetaTileEntity_MultiBlockBase extends MetaTileEntity { if (aMetaTileEntity == null) return false; if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Dynamo) { ((GT_MetaTileEntity_Hatch) aMetaTileEntity).mMachineBlock = (byte) aBaseCasingIndex; + ((GT_MetaTileEntity_Hatch) aMetaTileEntity).mTexturePage = (byte) 0; return mDynamoHatches.add((GT_MetaTileEntity_Hatch_Dynamo) aMetaTileEntity); } return false; @@ -824,6 +829,7 @@ public abstract class GT_MetaTileEntity_MultiBlockBase extends MetaTileEntity { if (aMetaTileEntity == null) return false; if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Muffler) { ((GT_MetaTileEntity_Hatch) aMetaTileEntity).mMachineBlock = (byte) aBaseCasingIndex; + ((GT_MetaTileEntity_Hatch) aMetaTileEntity).mTexturePage = (byte) 0; return mMufflerHatches.add((GT_MetaTileEntity_Hatch_Muffler) aMetaTileEntity); } return false; @@ -835,11 +841,13 @@ public abstract class GT_MetaTileEntity_MultiBlockBase extends MetaTileEntity { if (aMetaTileEntity == null) return false; if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Input) { ((GT_MetaTileEntity_Hatch) aMetaTileEntity).mMachineBlock = (byte) aBaseCasingIndex; + ((GT_MetaTileEntity_Hatch) aMetaTileEntity).mTexturePage = (byte) 0; ((GT_MetaTileEntity_Hatch_Input) aMetaTileEntity).mRecipeMap = getRecipeMap(); return mInputHatches.add((GT_MetaTileEntity_Hatch_Input) aMetaTileEntity); } if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_InputBus) { ((GT_MetaTileEntity_Hatch) aMetaTileEntity).mMachineBlock = (byte) aBaseCasingIndex; + ((GT_MetaTileEntity_Hatch) aMetaTileEntity).mTexturePage = (byte) 0; ((GT_MetaTileEntity_Hatch_InputBus) aMetaTileEntity).mRecipeMap = getRecipeMap(); return mInputBusses.add((GT_MetaTileEntity_Hatch_InputBus) aMetaTileEntity); } @@ -852,10 +860,12 @@ public abstract class GT_MetaTileEntity_MultiBlockBase extends MetaTileEntity { if (aMetaTileEntity == null) return false; if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Output) { ((GT_MetaTileEntity_Hatch) aMetaTileEntity).mMachineBlock = (byte) aBaseCasingIndex; + ((GT_MetaTileEntity_Hatch) aMetaTileEntity).mTexturePage = (byte) 0; return mOutputHatches.add((GT_MetaTileEntity_Hatch_Output) aMetaTileEntity); } if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_OutputBus) { ((GT_MetaTileEntity_Hatch) aMetaTileEntity).mMachineBlock = (byte) aBaseCasingIndex; + ((GT_MetaTileEntity_Hatch) aMetaTileEntity).mTexturePage = (byte) 0; return mOutputBusses.add((GT_MetaTileEntity_Hatch_OutputBus) aMetaTileEntity); } return false; |