diff options
Diffstat (limited to 'src/main/java/gregtech/api/multitileentity/MultiTileEntityContainer.java')
-rw-r--r-- | src/main/java/gregtech/api/multitileentity/MultiTileEntityContainer.java | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/src/main/java/gregtech/api/multitileentity/MultiTileEntityContainer.java b/src/main/java/gregtech/api/multitileentity/MultiTileEntityContainer.java new file mode 100644 index 0000000000..3510140c12 --- /dev/null +++ b/src/main/java/gregtech/api/multitileentity/MultiTileEntityContainer.java @@ -0,0 +1,30 @@ +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); + } +} |