tcr/java/src/game/packet/SPacketBlockChange.java

64 lines
1.5 KiB
Java
Raw Normal View History

2025-03-11 00:23:54 +01:00
package game.packet;
import java.io.IOException;
import game.init.BlockRegistry;
2025-05-05 18:27:06 +02:00
import game.network.IClientPlayer;
2025-03-11 00:23:54 +01:00
import game.network.Packet;
import game.network.PacketBuffer;
import game.world.BlockPos;
import game.world.State;
import game.world.World;
2025-05-05 18:27:06 +02:00
public class SPacketBlockChange implements Packet<IClientPlayer>
2025-03-11 00:23:54 +01:00
{
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.
*/
2025-05-05 18:27:06 +02:00
public void processPacket(IClientPlayer handler)
2025-03-11 00:23:54 +01:00
{
handler.handleBlockChange(this);
}
public State getBlockState()
{
return this.blockState;
}
public BlockPos getBlockPosition()
{
return this.blockPosition;
}
}