package joshie.harvest.core.network; import io.netty.buffer.ByteBuf; import joshie.harvest.core.network.Packet.Side; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.math.BlockPos; import net.minecraftforge.fml.common.network.ByteBufUtils; @Packet(Side.CLIENT) public class PacketRefresh extends PenguinPacket { private BlockPos pos; private NBTTagCompound tag; public PacketRefresh() {} public PacketRefresh(BlockPos pos, NBTTagCompound tag) { this.pos = pos; this.tag = tag; } @Override public void toBytes(ByteBuf to) { to.writeLong(pos.toLong()); ByteBufUtils.writeTag(to, tag); } @Override public void fromBytes(ByteBuf from) { pos = BlockPos.fromLong(from.readLong()); tag = ByteBufUtils.readTag(from); } @Override public void handlePacket(EntityPlayer player) { TileEntity tile = player.worldObj.getTileEntity(pos); if (tile != null) { tile.handleUpdateTag(tag); player.worldObj.markBlockRangeForRenderUpdate(pos, pos); } } }