Merge pull request #1184 from GTNewHorizons/texture_overhaul
Texture overhaul
This commit is contained in:
commit
ec1460d2da
10 changed files with 163 additions and 33 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],
|
||||
CASING_BLOCKS = new ITexture[128],//original variable still limited to 128
|
||||
MACHINE_CASINGS[] = new ITexture[10][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;
|
||||
|
|
|
@ -9,6 +9,7 @@ import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
|
|||
import gregtech.api.interfaces.tileentity.IEnergyConnected;
|
||||
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
|
||||
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicMachine;
|
||||
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch;
|
||||
import gregtech.api.net.GT_Packet_TileEntity;
|
||||
import gregtech.api.objects.GT_ItemStack;
|
||||
import gregtech.api.util.*;
|
||||
|
@ -58,7 +59,7 @@ public class BaseMetaTileEntity extends BaseTileEntity implements IGregTechTileE
|
|||
private byte[] mSidedRedstone = new byte[]{15, 15, 15, 15, 15, 15};
|
||||
private int[] mCoverSides = new int[]{0, 0, 0, 0, 0, 0}, mCoverData = new int[]{0, 0, 0, 0, 0, 0}, mTimeStatistics = new int[GregTech_API.TICKS_FOR_LAG_AVERAGING];
|
||||
private boolean mHasEnoughEnergy = true, mRunningThroughTick = false, mInputDisabled = false, mOutputDisabled = false, mMuffler = false, mLockUpgrade = false, mActive = false, mRedstone = false, mWorkUpdate = false, mSteamConverter = false, mInventoryChanged = false, mWorks = true, mNeedsUpdate = true, mNeedsBlockUpdate = true, mSendClientData = false, oRedstone = false;
|
||||
private byte mColor = 0, oColor = 0, mStrongRedstone = 0, oRedstoneData = 63, oTextureData = 0, oUpdateData = 0, oLightValueClient = -1, oLightValue = -1, mLightValue = 0, mOtherUpgrades = 0, mFacing = 0, oFacing = 0, mWorkData = 0;
|
||||
private byte mColor = 0, oColor = 0, mStrongRedstone = 0, oRedstoneData = 63, oTextureData = 0, oUpdateData = 0, oTexturePage=0, oLightValueClient = -1, oLightValue = -1, mLightValue = 0, mOtherUpgrades = 0, mFacing = 0, oFacing = 0, mWorkData = 0;
|
||||
private int mDisplayErrorCode = 0, oX = 0, oY = 0, oZ = 0, mTimeStatisticsIndex = 0, mLagWarningCount = 0;
|
||||
private short mID = 0;
|
||||
private long mTickTimer = 0, oOutput = 0, mAcceptedAmperes = Long.MAX_VALUE;
|
||||
|
@ -513,7 +514,15 @@ public class BaseMetaTileEntity extends BaseTileEntity implements IGregTechTileE
|
|||
if (aSideServer) {
|
||||
if (mTickTimer % 10 == 0) {
|
||||
if (mSendClientData) {
|
||||
NW.sendPacketToAllPlayersInRange(worldObj, new GT_Packet_TileEntity(xCoord, (short) yCoord, zCoord, mID, mCoverSides[0], mCoverSides[1], mCoverSides[2], mCoverSides[3], mCoverSides[4], mCoverSides[5], oTextureData = (byte) ((mFacing & 7) | (mActive ? 8 : 0) | (mRedstone ? 16 : 0) | (mLockUpgrade ? 32 : 0)), oUpdateData = hasValidMetaTileEntity() ? mMetaTileEntity.getUpdateData() : 0, oRedstoneData = (byte) (((mSidedRedstone[0] > 0) ? 1 : 0) | ((mSidedRedstone[1] > 0) ? 2 : 0) | ((mSidedRedstone[2] > 0) ? 4 : 0) | ((mSidedRedstone[3] > 0) ? 8 : 0) | ((mSidedRedstone[4] > 0) ? 16 : 0) | ((mSidedRedstone[5] > 0) ? 32 : 0)), oColor = mColor), xCoord, zCoord);
|
||||
NW.sendPacketToAllPlayersInRange(worldObj,
|
||||
new GT_Packet_TileEntity(xCoord, (short) yCoord, zCoord, mID,
|
||||
mCoverSides[0], mCoverSides[1], mCoverSides[2], mCoverSides[3], mCoverSides[4], mCoverSides[5],
|
||||
oTextureData = (byte) ((mFacing & 7) | (mActive ? 8 : 0) | (mRedstone ? 16 : 0) | (mLockUpgrade ? 32 : 0)),
|
||||
oTexturePage = (hasValidMetaTileEntity() && mMetaTileEntity instanceof GT_MetaTileEntity_Hatch) ? ((GT_MetaTileEntity_Hatch) mMetaTileEntity).getTexturePage() : 0,
|
||||
oUpdateData = hasValidMetaTileEntity() ? mMetaTileEntity.getUpdateData() : 0,
|
||||
oRedstoneData = (byte) (((mSidedRedstone[0] > 0) ? 1 : 0) | ((mSidedRedstone[1] > 0) ? 2 : 0) | ((mSidedRedstone[2] > 0) ? 4 : 0) | ((mSidedRedstone[3] > 0) ? 8 : 0) | ((mSidedRedstone[4] > 0) ? 16 : 0) | ((mSidedRedstone[5] > 0) ? 32 : 0)),
|
||||
oColor = mColor),
|
||||
xCoord, zCoord);
|
||||
mSendClientData = false;
|
||||
}
|
||||
}
|
||||
|
@ -521,8 +530,13 @@ public class BaseMetaTileEntity extends BaseTileEntity implements IGregTechTileE
|
|||
if (mTickTimer > 10) {
|
||||
byte tData = (byte) ((mFacing & 7) | (mActive ? 8 : 0) | (mRedstone ? 16 : 0) | (mLockUpgrade ? 32 : 0));
|
||||
if (tData != oTextureData) sendBlockEvent((byte) 0, oTextureData = tData);
|
||||
|
||||
tData = mMetaTileEntity.getUpdateData();
|
||||
if (tData != oUpdateData) sendBlockEvent((byte) 1, oUpdateData = tData);
|
||||
if(mMetaTileEntity instanceof GT_MetaTileEntity_Hatch) {
|
||||
tData = ((GT_MetaTileEntity_Hatch) mMetaTileEntity).getTexturePage();
|
||||
if (tData != oTexturePage) sendBlockEvent((byte) 1, (byte)((oTexturePage = tData)|0x80));//set last bit as a flag for page
|
||||
}
|
||||
if (mColor != oColor) sendBlockEvent((byte) 2, oColor = mColor);
|
||||
tData = (byte) (((mSidedRedstone[0] > 0) ? 1 : 0) | ((mSidedRedstone[1] > 0) ? 2 : 0) | ((mSidedRedstone[2] > 0) ? 4 : 0) | ((mSidedRedstone[3] > 0) ? 8 : 0) | ((mSidedRedstone[4] > 0) ? 16 : 0) | ((mSidedRedstone[5] > 0) ? 32 : 0));
|
||||
if (tData != oRedstoneData) sendBlockEvent((byte) 3, oRedstoneData = tData);
|
||||
|
@ -571,6 +585,30 @@ public class BaseMetaTileEntity extends BaseTileEntity implements IGregTechTileE
|
|||
return null;
|
||||
}
|
||||
|
||||
public final void receiveMetaTileEntityData(short aID, int aCover0, int aCover1, int aCover2, int aCover3, int aCover4, int aCover5, byte aTextureData, byte aTexturePage, byte aUpdateData, byte aRedstoneData, byte aColorData) {
|
||||
issueTextureUpdate();
|
||||
if (mID != aID && aID > 0) {
|
||||
mID = aID;
|
||||
createNewMetatileEntity(mID);
|
||||
}
|
||||
|
||||
mCoverSides[0] = aCover0;
|
||||
mCoverSides[1] = aCover1;
|
||||
mCoverSides[2] = aCover2;
|
||||
mCoverSides[3] = aCover3;
|
||||
mCoverSides[4] = aCover4;
|
||||
mCoverSides[5] = aCover5;
|
||||
|
||||
for (byte i = 0; i < 6; i++) mCoverBehaviors[i] = GregTech_API.getCoverBehavior(mCoverSides[i]);
|
||||
|
||||
receiveClientEvent(0, aTextureData);
|
||||
receiveClientEvent(1, aUpdateData & 0x7F);
|
||||
receiveClientEvent(1, aTexturePage | 0x80);
|
||||
receiveClientEvent(2, aColorData);
|
||||
receiveClientEvent(3, aRedstoneData);
|
||||
}
|
||||
|
||||
@Deprecated
|
||||
public final void receiveMetaTileEntityData(short aID, int aCover0, int aCover1, int aCover2, int aCover3, int aCover4, int aCover5, byte aTextureData, byte aUpdateData, byte aRedstoneData, byte aColorData) {
|
||||
issueTextureUpdate();
|
||||
if (mID != aID && aID > 0) {
|
||||
|
@ -588,7 +626,8 @@ public class BaseMetaTileEntity extends BaseTileEntity implements IGregTechTileE
|
|||
for (byte i = 0; i < 6; i++) mCoverBehaviors[i] = GregTech_API.getCoverBehavior(mCoverSides[i]);
|
||||
|
||||
receiveClientEvent(0, aTextureData);
|
||||
receiveClientEvent(1, aUpdateData);
|
||||
receiveClientEvent(1, aUpdateData & 0x7F);
|
||||
receiveClientEvent(1, 0x80);
|
||||
receiveClientEvent(2, aColorData);
|
||||
receiveClientEvent(3, aRedstoneData);
|
||||
}
|
||||
|
@ -616,7 +655,12 @@ public class BaseMetaTileEntity extends BaseTileEntity implements IGregTechTileE
|
|||
//mLockUpgrade = ((aValue&32) != 0);
|
||||
break;
|
||||
case 1:
|
||||
if (hasValidMetaTileEntity()) mMetaTileEntity.onValueUpdate((byte) aValue);
|
||||
if (hasValidMetaTileEntity()) {
|
||||
if ((aValue & 0x80) == 0) //Is texture index
|
||||
mMetaTileEntity.onValueUpdate((byte) (aValue & 0x7F));
|
||||
else if (mMetaTileEntity instanceof GT_MetaTileEntity_Hatch)//is texture page and hatch
|
||||
((GT_MetaTileEntity_Hatch) mMetaTileEntity).onTexturePageUpdate((byte) (aValue & 0x7F));
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
if (aValue > 16 || aValue < 0) aValue = 0;
|
||||
|
|
|
@ -1,13 +1,17 @@
|
|||
package gregtech.api.metatileentity.implementations;
|
||||
|
||||
import gregtech.GT_Mod;
|
||||
import gregtech.api.enums.GT_Values;
|
||||
import gregtech.api.enums.Textures;
|
||||
import gregtech.api.interfaces.ITexture;
|
||||
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;
|
||||
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);
|
||||
|
@ -40,29 +44,72 @@ 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=actualTexture|(mTexturePage<<7);//Shift seven since one page is 128 textures!
|
||||
int texturePointer=(byte)(actualTexture&0x7F);//just to be sure, from my testing the 8th bit cannot be set clientside
|
||||
return aSide != aFacing ?
|
||||
textureIndex > 0 ?
|
||||
new ITexture[]{Textures.BlockIcons.casingTexturePages[mTexturePage][texturePointer]} :
|
||||
new ITexture[]{Textures.BlockIcons.MACHINE_CASINGS[mTier][aColorIndex + 1]} :
|
||||
textureIndex > 0 ?
|
||||
aActive ?
|
||||
getTexturesActive(Textures.BlockIcons.casingTexturePages[mTexturePage][texturePointer]) :
|
||||
getTexturesInactive(Textures.BlockIcons.casingTexturePages[mTexturePage][texturePointer]) :
|
||||
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");
|
||||
actualTexture=aNBT.getByte("mMachineBlock");
|
||||
mTexturePage=aNBT.getByte("mTexturePage");
|
||||
|
||||
if(mTexturePage!=0 && GT_Values.GT.isServerSide())
|
||||
actualTexture|=0x80;//<- lets just hope no one needs the correct value for that on server
|
||||
mMachineBlock=actualTexture;
|
||||
}
|
||||
|
||||
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 & 127);
|
||||
actualTexture=(byte)(aValue & 0x7F);
|
||||
mMachineBlock=actualTexture;
|
||||
mTexturePage=0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public final byte getUpdateData() {
|
||||
return (byte) (mMachineBlock & 127);
|
||||
return (byte)(actualTexture & 0x7F);
|
||||
}
|
||||
|
||||
public final void onTexturePageUpdate(byte aValue) {
|
||||
mTexturePage = (byte)(aValue & 0x7F);
|
||||
if(mTexturePage!=0 && getBaseMetaTileEntity().isServerSide()) {//just to be sure
|
||||
mMachineBlock|=0x80;//<- lets just hope no one needs the correct value for that on server
|
||||
actualTexture=mMachineBlock;
|
||||
}
|
||||
//set last bit to allow working of the page reset-er to 0 in rare case when texture id is the same but page changes to 0
|
||||
}
|
||||
|
||||
public final byte getTexturePage() {
|
||||
return (byte)(mTexturePage & 0x7F);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -94,4 +141,16 @@ 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 way
|
||||
actualTexture=(byte)(mMachineBlock & 0x7F);
|
||||
mMachineBlock=actualTexture;//clear last bit in mMachineBlock since now we are at page 0 after the direct field change
|
||||
mTexturePage=0;//assuming old code only supports page 0
|
||||
}
|
||||
super.onPreTick(aBaseMetaTileEntity, aTick);
|
||||
}
|
||||
|
||||
//To change to other page -> use the setter method -> updateTexture
|
||||
}
|
||||
|
|
|
@ -724,8 +724,9 @@ 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)
|
||||
((GT_MetaTileEntity_Hatch) aMetaTileEntity).mMachineBlock = (byte) aBaseCasingIndex;
|
||||
if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch) {
|
||||
((GT_MetaTileEntity_Hatch) aMetaTileEntity).updateTexture(aBaseCasingIndex);
|
||||
}
|
||||
if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Input)
|
||||
return mInputHatches.add((GT_MetaTileEntity_Hatch_Input) aMetaTileEntity);
|
||||
if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_InputBus)
|
||||
|
@ -750,7 +751,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).updateTexture(aBaseCasingIndex);
|
||||
return mMaintenanceHatches.add((GT_MetaTileEntity_Hatch_Maintenance) aMetaTileEntity);
|
||||
}
|
||||
return false;
|
||||
|
@ -763,7 +764,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).updateTexture(aBaseCasingIndex);
|
||||
return mEnergyHatches.add((GT_MetaTileEntity_Hatch_Energy) aMetaTileEntity);
|
||||
}
|
||||
return false;
|
||||
|
@ -774,7 +775,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).updateTexture(aBaseCasingIndex);
|
||||
return mDynamoHatches.add((GT_MetaTileEntity_Hatch_Dynamo) aMetaTileEntity);
|
||||
}
|
||||
return false;
|
||||
|
@ -785,7 +786,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).updateTexture(aBaseCasingIndex);
|
||||
return mMufflerHatches.add((GT_MetaTileEntity_Hatch_Muffler) aMetaTileEntity);
|
||||
}
|
||||
return false;
|
||||
|
@ -796,12 +797,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).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).updateTexture(aBaseCasingIndex);
|
||||
((GT_MetaTileEntity_Hatch_InputBus) aMetaTileEntity).mRecipeMap = getRecipeMap();
|
||||
return mInputBusses.add((GT_MetaTileEntity_Hatch_InputBus) aMetaTileEntity);
|
||||
}
|
||||
|
@ -813,11 +814,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).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).updateTexture(aBaseCasingIndex);
|
||||
return mOutputBusses.add((GT_MetaTileEntity_Hatch_OutputBus) aMetaTileEntity);
|
||||
}
|
||||
return false;
|
||||
|
|
|
@ -11,12 +11,33 @@ import net.minecraft.world.IBlockAccess;
|
|||
public class GT_Packet_TileEntity extends GT_Packet {
|
||||
private int mX, mZ, mC0, mC1, mC2, mC3, mC4, mC5;
|
||||
private short mY, mID;
|
||||
private byte mTexture, mUpdate, mRedstone, mColor;
|
||||
private byte mTexture, mTexturePage, mUpdate, mRedstone, mColor;
|
||||
|
||||
public GT_Packet_TileEntity() {
|
||||
super(true);
|
||||
}
|
||||
|
||||
//For tiles
|
||||
public GT_Packet_TileEntity(int aX, short aY, int aZ, short aID, int aC0, int aC1, int aC2, int aC3, int aC4, int aC5, byte aTexture, byte aTexturePage, byte aUpdate, byte aRedstone, byte aColor) {
|
||||
super(false);
|
||||
mX = aX;
|
||||
mY = aY;
|
||||
mZ = aZ;
|
||||
mC0 = aC0;
|
||||
mC1 = aC1;
|
||||
mC2 = aC2;
|
||||
mC3 = aC3;
|
||||
mC4 = aC4;
|
||||
mC5 = aC5;
|
||||
mID = aID;
|
||||
mTexture = aTexture;
|
||||
mTexturePage=aTexturePage;
|
||||
mUpdate = aUpdate;
|
||||
mRedstone = aRedstone;
|
||||
mColor = aColor;
|
||||
}
|
||||
|
||||
//For pipes
|
||||
public GT_Packet_TileEntity(int aX, short aY, int aZ, short aID, int aC0, int aC1, int aC2, int aC3, int aC4, int aC5, byte aTexture, byte aUpdate, byte aRedstone, byte aColor) {
|
||||
super(false);
|
||||
mX = aX;
|
||||
|
@ -30,6 +51,7 @@ public class GT_Packet_TileEntity extends GT_Packet {
|
|||
mC5 = aC5;
|
||||
mID = aID;
|
||||
mTexture = aTexture;
|
||||
mTexturePage=0;
|
||||
mUpdate = aUpdate;
|
||||
mRedstone = aRedstone;
|
||||
mColor = aColor;
|
||||
|
@ -37,7 +59,7 @@ public class GT_Packet_TileEntity extends GT_Packet {
|
|||
|
||||
@Override
|
||||
public byte[] encode() {
|
||||
ByteArrayDataOutput tOut = ByteStreams.newDataOutput(40);
|
||||
ByteArrayDataOutput tOut = ByteStreams.newDataOutput(41);
|
||||
|
||||
tOut.writeInt(mX);
|
||||
tOut.writeShort(mY);
|
||||
|
@ -52,6 +74,7 @@ public class GT_Packet_TileEntity extends GT_Packet {
|
|||
tOut.writeInt(mC5);
|
||||
|
||||
tOut.writeByte(mTexture);
|
||||
tOut.writeByte(mTexturePage);
|
||||
tOut.writeByte(mUpdate);
|
||||
tOut.writeByte(mRedstone);
|
||||
tOut.writeByte(mColor);
|
||||
|
@ -61,7 +84,7 @@ public class GT_Packet_TileEntity extends GT_Packet {
|
|||
|
||||
@Override
|
||||
public GT_Packet decode(ByteArrayDataInput aData) {
|
||||
return new GT_Packet_TileEntity(aData.readInt(), aData.readShort(), aData.readInt(), aData.readShort(), aData.readInt(), aData.readInt(), aData.readInt(), aData.readInt(), aData.readInt(), aData.readInt(), aData.readByte(), aData.readByte(), aData.readByte(), aData.readByte());
|
||||
return new GT_Packet_TileEntity(aData.readInt(), aData.readShort(), aData.readInt(), aData.readShort(), aData.readInt(), aData.readInt(), aData.readInt(), aData.readInt(), aData.readInt(), aData.readInt(), aData.readByte(), aData.readByte(), aData.readByte(), aData.readByte(), aData.readByte());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -70,7 +93,7 @@ public class GT_Packet_TileEntity extends GT_Packet {
|
|||
TileEntity tTileEntity = aWorld.getTileEntity(mX, mY, mZ);
|
||||
if (tTileEntity != null) {
|
||||
if (tTileEntity instanceof BaseMetaTileEntity)
|
||||
((BaseMetaTileEntity) tTileEntity).receiveMetaTileEntityData(mID, mC0, mC1, mC2, mC3, mC4, mC5, mTexture, mUpdate, mRedstone, mColor);
|
||||
((BaseMetaTileEntity) tTileEntity).receiveMetaTileEntityData(mID, mC0, mC1, mC2, mC3, mC4, mC5, mTexture, mTexturePage, mUpdate, mRedstone, mColor);
|
||||
else if (tTileEntity instanceof BaseMetaPipeEntity)
|
||||
((BaseMetaPipeEntity) tTileEntity).receiveMetaTileEntityData(mID, mC0, mC1, mC2, mC3, mC4, mC5, mTexture, mUpdate, mRedstone, mColor);
|
||||
}
|
||||
|
|
|
@ -353,7 +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).updateTexture(aBaseCasingIndex);
|
||||
return mDataAccessHatches.add((GT_MetaTileEntity_Hatch_DataAccess) aMetaTileEntity);
|
||||
}
|
||||
return false;
|
||||
|
|
|
@ -154,7 +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()).updateTexture(getCasingTextureIndex());
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
|
|
|
@ -279,17 +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.updateTexture(status ? 52 : 53);
|
||||
}
|
||||
}
|
||||
if (this.mOutputHatches != null) {
|
||||
for (GT_MetaTileEntity_Hatch_Output hatch : this.mOutputHatches) {
|
||||
hatch.mMachineBlock = status ? (byte) 52 : (byte) 53;
|
||||
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.updateTexture(status ? 52 : 53);
|
||||
}
|
||||
}
|
||||
return true;
|
||||
|
|
|
@ -224,7 +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).updateTexture(aBaseCasingIndex);
|
||||
mOutputColdFluidHatch = (GT_MetaTileEntity_Hatch_Output) aMetaTileEntity;
|
||||
return true;
|
||||
}
|
||||
|
@ -236,7 +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).updateTexture(aBaseCasingIndex);
|
||||
((GT_MetaTileEntity_Hatch_Input) aMetaTileEntity).mRecipeMap = getRecipeMap();
|
||||
mInputHotFluidHatch = (GT_MetaTileEntity_Hatch_Input) aMetaTileEntity;
|
||||
return true;
|
||||
|
|
|
@ -90,7 +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()).updateTexture(getCasingTextureIndex());
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue