package gregtech.api.multitileentity; import static gregtech.api.util.GT_Util.setTileEntity; import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; import gregtech.api.multitileentity.interfaces.IMultiTileEntity; public class MultiTileEntityContainer { public final TileEntity mTileEntity; public final MultiTileEntityBlock mBlock; public final byte mBlockMetaData; public MultiTileEntityContainer(TileEntity aTileEntity, MultiTileEntityBlock aBlock, byte aBlockMetaData) { mBlockMetaData = aBlockMetaData; mTileEntity = aTileEntity; mBlock = aBlock; } public void setMultiTile(World aWorld, int aX, int aY, int aZ) { // This is some complicated Bullshit Greg had to do to make his MTEs work right. ((IMultiTileEntity) mTileEntity).setShouldRefresh(false); setTileEntity(aWorld, aX, aY, aZ, mTileEntity, false); setTileEntity(aWorld, aX, aY, aZ, mBlock, mBlockMetaData, 0, false); ((IMultiTileEntity) mTileEntity).setShouldRefresh(true); setTileEntity(aWorld, aX, aY, aZ, mTileEntity, true); } }