More compatible attempt
This commit is contained in:
parent
85479e1779
commit
94ed98cbbd
8 changed files with 63 additions and 44 deletions
|
@ -612,13 +612,16 @@ public class Textures {
|
|||
new GT_RenderedTexture(OVERLAY_LOCKER_012),
|
||||
new GT_RenderedTexture(OVERLAY_LOCKER_013),
|
||||
},
|
||||
CASING_BLOCKS = new ITexture[128*16],//16 Pages available 0-15 - each can hold 128 textures 0-127
|
||||
MACHINE_CASINGS[] = new ITexture[10][17];
|
||||
CASING_BLOCKS = new ITexture[128],//original variable still limited to 128
|
||||
MACHINE_CASINGS[] = new ITexture[16][17];
|
||||
|
||||
public static ITexture[][] casingTexturePages = new ITexture[128][];//page holder so we don't make an short long array
|
||||
|
||||
static {
|
||||
for (byte i = 0; i < MACHINE_CASINGS.length; i++)
|
||||
for (byte j = 0; j < MACHINE_CASINGS[i].length; j++)
|
||||
MACHINE_CASINGS[i][j] = new GT_SidedTexture(MACHINECASINGS_BOTTOM[i], MACHINECASINGS_TOP[i], MACHINECASINGS_SIDE[i], Dyes.getModulation(j - 1, Dyes.MACHINE_METAL.mRGBa));
|
||||
casingTexturePages[0]=CASING_BLOCKS;
|
||||
}
|
||||
|
||||
protected IIcon mIcon;
|
||||
|
|
|
@ -6,8 +6,10 @@ import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
|
|||
import net.minecraft.nbt.NBTTagCompound;
|
||||
|
||||
public abstract class GT_MetaTileEntity_Hatch extends GT_MetaTileEntity_BasicTank {
|
||||
@Deprecated //Use texture changing method
|
||||
public byte mMachineBlock = 0;
|
||||
public byte mTexturePage = 0;
|
||||
private byte mTexturePage = 0;
|
||||
private byte actualTexture = 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,32 +38,52 @@ 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) {
|
||||
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]);
|
||||
int textureIndex=actualTexture|(mTexturePage<<7);//Shift seven since one page is 128 textures!
|
||||
return aSide != aFacing ?
|
||||
textureIndex > 0 ?
|
||||
new ITexture[]{Textures.BlockIcons.casingTexturePages[mTexturePage][actualTexture]} :
|
||||
new ITexture[]{Textures.BlockIcons.MACHINE_CASINGS[mTier][aColorIndex + 1]} :
|
||||
textureIndex > 0 ?
|
||||
aActive ?
|
||||
getTexturesActive(Textures.BlockIcons.casingTexturePages[mTexturePage][actualTexture]) :
|
||||
getTexturesInactive(Textures.BlockIcons.casingTexturePages[mTexturePage][actualTexture]) :
|
||||
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("mMachineBlock", actualTexture);
|
||||
aNBT.setByte("mTexturePage", mTexturePage);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void loadNBTData(NBTTagCompound aNBT) {
|
||||
super.loadNBTData(aNBT);
|
||||
mMachineBlock = aNBT.getByte("mMachineBlock");
|
||||
mTexturePage = aNBT.getByte("mTexturePage");
|
||||
mMachineBlock=actualTexture=aNBT.getByte("mMachineBlock");
|
||||
mTexturePage=aNBT.getByte("mTexturePage");
|
||||
}
|
||||
|
||||
public final void updateTexture(int textureIndex){
|
||||
onValueUpdate((byte) textureIndex);
|
||||
onTexturePageUpdate((byte) (textureIndex>>7));
|
||||
}
|
||||
|
||||
public final void updateTexture(byte texturePage, byte machineBlock){
|
||||
onValueUpdate(machineBlock);
|
||||
onTexturePageUpdate(texturePage);
|
||||
}
|
||||
|
||||
@Override
|
||||
public final void onValueUpdate(byte aValue) {
|
||||
mMachineBlock = (byte)(aValue & 0x7F);
|
||||
mMachineBlock=actualTexture=(byte)(aValue & 0x7F);
|
||||
}
|
||||
|
||||
@Override
|
||||
public final byte getUpdateData() {
|
||||
return (byte)(mMachineBlock & 0x7F);
|
||||
return (byte)(actualTexture & 0x7F);
|
||||
}
|
||||
|
||||
public final void onTexturePageUpdate(byte aValue) {
|
||||
|
@ -101,4 +123,15 @@ public abstract class GT_MetaTileEntity_Hatch extends GT_MetaTileEntity_BasicTan
|
|||
public boolean displaysStackSize() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPreTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) {//in that method since it is usually not overriden, especially for hatches.
|
||||
if(actualTexture!=mMachineBlock){//revert to page 0 on edition of the field - old code
|
||||
mMachineBlock=actualTexture=(byte)(mMachineBlock & 0x7F);//assign back to mMachineBlock just in case the number was negative
|
||||
mTexturePage=0;//assuming old code only supports page 0
|
||||
}
|
||||
super.onPreTick(aBaseMetaTileEntity, aTick);
|
||||
}
|
||||
|
||||
//To change to other page -> use the setter method -> updateTexture
|
||||
}
|
||||
|
|
|
@ -710,8 +710,7 @@ public abstract class GT_MetaTileEntity_MultiBlockBase extends MetaTileEntity {
|
|||
IMetaTileEntity aMetaTileEntity = aTileEntity.getMetaTileEntity();
|
||||
if (aMetaTileEntity == null) return false;
|
||||
if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch) {
|
||||
((GT_MetaTileEntity_Hatch) aMetaTileEntity).mMachineBlock = (byte) aBaseCasingIndex;
|
||||
((GT_MetaTileEntity_Hatch) aMetaTileEntity).mTexturePage = (byte) (aBaseCasingIndex>>7);
|
||||
((GT_MetaTileEntity_Hatch) aMetaTileEntity).updateTexture(aBaseCasingIndex);
|
||||
}
|
||||
if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Input)
|
||||
return mInputHatches.add((GT_MetaTileEntity_Hatch_Input) aMetaTileEntity);
|
||||
|
@ -737,8 +736,7 @@ public abstract class GT_MetaTileEntity_MultiBlockBase extends MetaTileEntity {
|
|||
IMetaTileEntity aMetaTileEntity = aTileEntity.getMetaTileEntity();
|
||||
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) (aBaseCasingIndex>>7);
|
||||
((GT_MetaTileEntity_Hatch) aMetaTileEntity).updateTexture(aBaseCasingIndex);
|
||||
return mMaintenanceHatches.add((GT_MetaTileEntity_Hatch_Maintenance) aMetaTileEntity);
|
||||
}
|
||||
return false;
|
||||
|
@ -751,8 +749,7 @@ public abstract class GT_MetaTileEntity_MultiBlockBase extends MetaTileEntity {
|
|||
IMetaTileEntity aMetaTileEntity = aTileEntity.getMetaTileEntity();
|
||||
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) (aBaseCasingIndex>>7);
|
||||
((GT_MetaTileEntity_Hatch) aMetaTileEntity).updateTexture(aBaseCasingIndex);
|
||||
return mEnergyHatches.add((GT_MetaTileEntity_Hatch_Energy) aMetaTileEntity);
|
||||
}
|
||||
return false;
|
||||
|
@ -763,8 +760,7 @@ public abstract class GT_MetaTileEntity_MultiBlockBase extends MetaTileEntity {
|
|||
IMetaTileEntity aMetaTileEntity = aTileEntity.getMetaTileEntity();
|
||||
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) (aBaseCasingIndex>>7);
|
||||
((GT_MetaTileEntity_Hatch) aMetaTileEntity).updateTexture(aBaseCasingIndex);
|
||||
return mDynamoHatches.add((GT_MetaTileEntity_Hatch_Dynamo) aMetaTileEntity);
|
||||
}
|
||||
return false;
|
||||
|
@ -775,8 +771,7 @@ public abstract class GT_MetaTileEntity_MultiBlockBase extends MetaTileEntity {
|
|||
IMetaTileEntity aMetaTileEntity = aTileEntity.getMetaTileEntity();
|
||||
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) (aBaseCasingIndex>>7);
|
||||
((GT_MetaTileEntity_Hatch) aMetaTileEntity).updateTexture(aBaseCasingIndex);
|
||||
return mMufflerHatches.add((GT_MetaTileEntity_Hatch_Muffler) aMetaTileEntity);
|
||||
}
|
||||
return false;
|
||||
|
@ -787,14 +782,12 @@ public abstract class GT_MetaTileEntity_MultiBlockBase extends MetaTileEntity {
|
|||
IMetaTileEntity aMetaTileEntity = aTileEntity.getMetaTileEntity();
|
||||
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) (aBaseCasingIndex>>7);
|
||||
((GT_MetaTileEntity_Hatch) aMetaTileEntity).updateTexture(aBaseCasingIndex);
|
||||
((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) (aBaseCasingIndex>>7);
|
||||
((GT_MetaTileEntity_Hatch) aMetaTileEntity).updateTexture(aBaseCasingIndex);
|
||||
((GT_MetaTileEntity_Hatch_InputBus) aMetaTileEntity).mRecipeMap = getRecipeMap();
|
||||
return mInputBusses.add((GT_MetaTileEntity_Hatch_InputBus) aMetaTileEntity);
|
||||
}
|
||||
|
@ -806,13 +799,11 @@ public abstract class GT_MetaTileEntity_MultiBlockBase extends MetaTileEntity {
|
|||
IMetaTileEntity aMetaTileEntity = aTileEntity.getMetaTileEntity();
|
||||
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) (aBaseCasingIndex>>7);
|
||||
((GT_MetaTileEntity_Hatch) aMetaTileEntity).updateTexture(aBaseCasingIndex);
|
||||
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) (aBaseCasingIndex>>7);
|
||||
((GT_MetaTileEntity_Hatch) aMetaTileEntity).updateTexture(aBaseCasingIndex);
|
||||
return mOutputBusses.add((GT_MetaTileEntity_Hatch_OutputBus) aMetaTileEntity);
|
||||
}
|
||||
return false;
|
||||
|
|
|
@ -353,8 +353,7 @@ public class GT_MetaTileEntity_AssemblyLine
|
|||
IMetaTileEntity aMetaTileEntity = aTileEntity.getMetaTileEntity();
|
||||
if (aMetaTileEntity == null) return false;
|
||||
if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_DataAccess) {
|
||||
((GT_MetaTileEntity_Hatch) aMetaTileEntity).mMachineBlock = (byte) aBaseCasingIndex;
|
||||
((GT_MetaTileEntity_Hatch) aMetaTileEntity).mTexturePage = (byte) (aBaseCasingIndex>>7);
|
||||
((GT_MetaTileEntity_Hatch) aMetaTileEntity).updateTexture(aBaseCasingIndex);
|
||||
return mDataAccessHatches.add((GT_MetaTileEntity_Hatch_DataAccess) aMetaTileEntity);
|
||||
}
|
||||
return false;
|
||||
|
|
|
@ -154,8 +154,7 @@ public class GT_MetaTileEntity_DieselEngine extends GT_MetaTileEntity_MultiBlock
|
|||
if ((tTileEntity != null) && (tTileEntity.getMetaTileEntity() != null)) {
|
||||
if ((tTileEntity.getMetaTileEntity() instanceof GT_MetaTileEntity_Hatch_Dynamo)) {
|
||||
this.mDynamoHatches.add((GT_MetaTileEntity_Hatch_Dynamo) tTileEntity.getMetaTileEntity());
|
||||
((GT_MetaTileEntity_Hatch) tTileEntity.getMetaTileEntity()).mMachineBlock = getCasingTextureIndex();
|
||||
((GT_MetaTileEntity_Hatch) tTileEntity.getMetaTileEntity()).mTexturePage = (byte) 0;//FORCED TO 0
|
||||
((GT_MetaTileEntity_Hatch) tTileEntity.getMetaTileEntity()).updateTexture(getCasingTextureIndex());
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
|
|
|
@ -279,20 +279,17 @@ public abstract class GT_MetaTileEntity_FusionComputer extends GT_MetaTileEntity
|
|||
public boolean turnCasingActive(boolean status) {
|
||||
if (this.mEnergyHatches != null) {
|
||||
for (GT_MetaTileEntity_Hatch_Energy hatch : this.mEnergyHatches) {
|
||||
hatch.mMachineBlock = status ? (byte) 52 : (byte) 53;
|
||||
hatch.mTexturePage=0;//FORCED TO 0
|
||||
hatch.updateTexture(status ? 52 : 53);
|
||||
}
|
||||
}
|
||||
if (this.mOutputHatches != null) {
|
||||
for (GT_MetaTileEntity_Hatch_Output hatch : this.mOutputHatches) {
|
||||
hatch.mMachineBlock = status ? (byte) 52 : (byte) 53;
|
||||
hatch.mTexturePage=0;//FORCED TO 0
|
||||
hatch.updateTexture(status ? 52 : 53);
|
||||
}
|
||||
}
|
||||
if (this.mInputHatches != null) {
|
||||
for (GT_MetaTileEntity_Hatch_Input hatch : this.mInputHatches) {
|
||||
hatch.mMachineBlock = status ? (byte) 52 : (byte) 53;
|
||||
hatch.mTexturePage=0;//FORCED TO 0
|
||||
hatch.updateTexture(status ? 52 : 53);
|
||||
}
|
||||
}
|
||||
return true;
|
||||
|
|
|
@ -224,8 +224,7 @@ public class GT_MetaTileEntity_HeatExchanger extends GT_MetaTileEntity_MultiBloc
|
|||
IMetaTileEntity aMetaTileEntity = aTileEntity.getMetaTileEntity();
|
||||
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) (aBaseCasingIndex>>7);
|
||||
((GT_MetaTileEntity_Hatch) aMetaTileEntity).updateTexture(aBaseCasingIndex);
|
||||
mOutputColdFluidHatch = (GT_MetaTileEntity_Hatch_Output) aMetaTileEntity;
|
||||
return true;
|
||||
}
|
||||
|
@ -237,8 +236,7 @@ public class GT_MetaTileEntity_HeatExchanger extends GT_MetaTileEntity_MultiBloc
|
|||
IMetaTileEntity aMetaTileEntity = aTileEntity.getMetaTileEntity();
|
||||
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) (aBaseCasingIndex>>7);
|
||||
((GT_MetaTileEntity_Hatch) aMetaTileEntity).updateTexture(aBaseCasingIndex);
|
||||
((GT_MetaTileEntity_Hatch_Input) aMetaTileEntity).mRecipeMap = getRecipeMap();
|
||||
mInputHotFluidHatch = (GT_MetaTileEntity_Hatch_Input) aMetaTileEntity;
|
||||
return true;
|
||||
|
|
|
@ -90,8 +90,7 @@ public abstract class GT_MetaTileEntity_LargeTurbine extends GT_MetaTileEntity_M
|
|||
if ((tTileEntity != null) && (tTileEntity.getMetaTileEntity() != null)) {
|
||||
if ((tTileEntity.getMetaTileEntity() instanceof GT_MetaTileEntity_Hatch_Dynamo)) {
|
||||
this.mDynamoHatches.add((GT_MetaTileEntity_Hatch_Dynamo) tTileEntity.getMetaTileEntity());
|
||||
((GT_MetaTileEntity_Hatch) tTileEntity.getMetaTileEntity()).mMachineBlock = getCasingTextureIndex();
|
||||
((GT_MetaTileEntity_Hatch) tTileEntity.getMetaTileEntity()).mTexturePage = (byte) 0;//FORCED TO 0
|
||||
((GT_MetaTileEntity_Hatch) tTileEntity.getMetaTileEntity()).updateTexture(getCasingTextureIndex());
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue