Java tutorial
/** * Copyright (c) 2011-2015, SpaceToad and the BuildCraft Team * http://www.mod-buildcraft.com * <p/> * BuildCraft is distributed under the terms of the Minecraft Mod Public * License 1.0, or MMPL. Please check the contents of the license located in * http://www.mod-buildcraft.com/MMPL-1.0.txt */ package buildcraft.core.lib.network; import io.netty.buffer.ByteBuf; import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; import buildcraft.api.core.ISerializable; import buildcraft.core.network.PacketIds; public class PacketTileUpdate extends PacketUpdate { public int posX; public int posY; public int posZ; public PacketTileUpdate() { super(PacketIds.TILE_UPDATE); } public PacketTileUpdate(ISerializable tile) { this(PacketIds.TILE_UPDATE, tile); } public PacketTileUpdate(int packetId, ISerializable tile) { super(packetId, tile); TileEntity entity = (TileEntity) tile; posX = entity.xCoord; posY = entity.yCoord; posZ = entity.zCoord; } @Override public void writeIdentificationData(ByteBuf data) { data.writeInt(posX); data.writeShort(posY); data.writeInt(posZ); } @Override public void readIdentificationData(ByteBuf data) { posX = data.readInt(); posY = data.readShort(); posZ = data.readInt(); } public boolean targetExists(World world) { return world.blockExists(posX, posY, posZ); } public TileEntity getTarget(World world) { return world.getTileEntity(posX, posY, posZ); } }