64 lines
1.5 KiB
Java
64 lines
1.5 KiB
Java
![]() |
package game.packet;
|
||
|
|
||
|
import java.io.IOException;
|
||
|
|
||
|
import game.init.BlockRegistry;
|
||
|
import game.network.NetHandlerPlayClient;
|
||
|
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<NetHandlerPlayClient>
|
||
|
{
|
||
|
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(NetHandlerPlayClient handler)
|
||
|
{
|
||
|
handler.handleBlockChange(this);
|
||
|
}
|
||
|
|
||
|
public State getBlockState()
|
||
|
{
|
||
|
return this.blockState;
|
||
|
}
|
||
|
|
||
|
public BlockPos getBlockPosition()
|
||
|
{
|
||
|
return this.blockPosition;
|
||
|
}
|
||
|
}
|