Minestom/src/main/java/net/minestom/server/network/packet/client/play/ClientPlayerDiggingPacket.java

35 lines
1.2 KiB
Java

package net.minestom.server.network.packet.client.play;
import net.minestom.server.coordinate.Point;
import net.minestom.server.instance.block.BlockFace;
import net.minestom.server.network.packet.client.ClientPacket;
import net.minestom.server.utils.binary.BinaryReader;
import net.minestom.server.utils.binary.BinaryWriter;
import org.jetbrains.annotations.NotNull;
public record ClientPlayerDiggingPacket(@NotNull Status status, @NotNull Point blockPosition,
@NotNull BlockFace blockFace, int sequence) implements ClientPacket {
public ClientPlayerDiggingPacket(BinaryReader reader) {
this(Status.values()[reader.readVarInt()], reader.readBlockPosition(),
BlockFace.values()[reader.readByte()], reader.readVarInt());
}
@Override
public void write(@NotNull BinaryWriter writer) {
writer.writeVarInt(status.ordinal());
writer.writeBlockPosition(blockPosition);
writer.writeByte((byte) blockFace.ordinal());
writer.writeVarInt(sequence);
}
public enum Status {
STARTED_DIGGING,
CANCELLED_DIGGING,
FINISHED_DIGGING,
DROP_ITEM_STACK,
DROP_ITEM,
UPDATE_ITEM_STATE,
SWAP_ITEM_HAND
}
}