aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/api/metatileentity/implementations
diff options
context:
space:
mode:
authorTechnus <daniel112092@gmail.com>2017-07-28 12:56:47 +0200
committerTechnus <daniel112092@gmail.com>2017-07-28 12:56:47 +0200
commitc54ba03b4bde3d00e9cb07165a3a30956a6db79b (patch)
treea69d469aacebdce8a1750e233a3cce29eae57f86 /src/main/java/gregtech/api/metatileentity/implementations
parent60fcf643c961796da32607dd75283b2f9fbb93cd (diff)
downloadGT5-Unofficial-c54ba03b4bde3d00e9cb07165a3a30956a6db79b.tar.gz
GT5-Unofficial-c54ba03b4bde3d00e9cb07165a3a30956a6db79b.tar.bz2
GT5-Unofficial-c54ba03b4bde3d00e9cb07165a3a30956a6db79b.zip
Texture overhaul,
allows for more textures to be added for casing, with extra byte of data for paging. Just change the value of mTexturePage at the same time you change mMachineBlock.
Diffstat (limited to 'src/main/java/gregtech/api/metatileentity/implementations')
-rw-r--r--src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch.java19
-rw-r--r--src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_MultiBlockBase.java12
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 a02a5568a0..a95ae7f120 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
@@ -709,8 +709,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)
@@ -736,6 +738,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;
@@ -749,6 +752,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;
@@ -760,6 +764,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;
@@ -771,6 +776,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;
@@ -782,11 +788,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);
}
@@ -799,10 +807,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;