Search in sources :

Example 21 with Cube

use of com.builtbroken.mc.lib.transform.region.Cube in project Engine by VoltzEngine-Project.

the class TileMulti method read.

@Override
public boolean read(ByteBuf buf, int id, EntityPlayer player, PacketType type) {
    if (worldObj.isRemote) {
        if (id == 1) {
            // Update host data for client use
            Pos pos = new Pos(buf);
            if (pos.isZero()) {
                this.setHost(null);
            } else {
                TileEntity tile = pos.getTileEntity(worldObj);
                if (tile instanceof IMultiTileHost) {
                    this.setHost((IMultiTileHost) tile);
                }
            }
            // Update should render
            boolean prev = shouldRenderBlock;
            shouldRenderBlock = buf.readBoolean();
            // Update render bounds
            if (buf.readBoolean()) {
                overrideRenderBounds = new Cube(buf);
            } else {
                overrideRenderBounds = new Cube(0, 0, 0, 1, 1, 1);
            }
            if (prev != shouldRenderBlock) {
                worldObj.markBlockRangeForRenderUpdate(xCoord, yCoord, zCoord, xCoord, yCoord, zCoord);
            }
            return true;
        }
    }
    return false;
}
Also used : TileEntity(net.minecraft.tileentity.TileEntity) Pos(com.builtbroken.mc.lib.transform.vector.Pos) Cube(com.builtbroken.mc.lib.transform.region.Cube) IMultiTileHost(com.builtbroken.mc.api.tile.multiblock.IMultiTileHost)

Aggregations

Cube (com.builtbroken.mc.lib.transform.region.Cube)21 Pos (com.builtbroken.mc.lib.transform.vector.Pos)6 IRadioWaveReceiver (com.builtbroken.mc.api.map.radio.IRadioWaveReceiver)4 PacketTile (com.builtbroken.mc.core.network.packet.PacketTile)3 BlockTile (com.builtbroken.mc.prefab.tile.BlockTile)3 Tile (com.builtbroken.mc.prefab.tile.Tile)3 FakeWorld (com.builtbroken.mc.testing.junit.world.FakeWorld)3 ArrayList (java.util.ArrayList)3 ForgeDirection (net.minecraftforge.common.util.ForgeDirection)3 Test (org.junit.Test)3 Region (com.builtbroken.mc.lib.modflags.Region)2 TileEntity (net.minecraft.tileentity.TileEntity)2 IRadioWaveSender (com.builtbroken.mc.api.map.radio.IRadioWaveSender)1 IMultiTileHost (com.builtbroken.mc.api.tile.multiblock.IMultiTileHost)1 PacketSelectionData (com.builtbroken.mc.core.network.packet.PacketSelectionData)1 RadioMap (com.builtbroken.mc.lib.world.radio.RadioMap)1 Entity (net.minecraft.entity.Entity)1 NBTTagCompound (net.minecraft.nbt.NBTTagCompound)1 NBTTagList (net.minecraft.nbt.NBTTagList)1 AxisAlignedBB (net.minecraft.util.AxisAlignedBB)1