package game.packet; import java.io.IOException; import game.init.BlockRegistry; import game.network.ClientPlayer; import game.network.Packet; import game.network.PacketBuffer; import game.world.BlockPos; import game.world.State; import game.world.World; public class SPacketBlockChange implements Packet { private BlockPos blockPosition; private State blockState; public SPacketBlockChange() { } public SPacketBlockChange(World worldIn, BlockPos blockPositionIn) { this.blockPosition = blockPositionIn; this.blockState = worldIn.getState(blockPositionIn); } /** * Reads the raw packet data from the data stream. */ public void readPacketData(PacketBuffer buf) throws IOException { this.blockPosition = buf.readBlockPos(); this.blockState = (State)BlockRegistry.STATEMAP.getByValue(buf.readVarIntFromBuffer()); } /** * Writes the raw packet data to the data stream. */ public void writePacketData(PacketBuffer buf) throws IOException { buf.writeBlockPos(this.blockPosition); buf.writeVarIntToBuffer(BlockRegistry.STATEMAP.get(this.blockState)); } /** * Passes this Packet on to the NetHandler for processing. */ public void processPacket(ClientPlayer handler) { handler.handleBlockChange(this); } public State getBlockState() { return this.blockState; } public BlockPos getBlockPosition() { return this.blockPosition; } }