Skip to content

Commit d7591f7

Browse files
committed
Refactor spawn state to an enum
1 parent 41819ea commit d7591f7

File tree

2 files changed

+10
-3
lines changed

2 files changed

+10
-3
lines changed

bedrock/bedrock-common/src/main/java/com/nukkitx/protocol/bedrock/packet/RespawnPacket.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,17 @@
1010
@EqualsAndHashCode(callSuper = true)
1111
public class RespawnPacket extends BedrockPacket {
1212
private Vector3f position;
13-
private int spawnState; // 0 server searching, 1 server ready, 3 client ready (server bound)
13+
private State spawnState;
1414
private long runtimeEntityId; // Only used server bound and pretty pointless
1515

1616
@Override
1717
public final boolean handle(BedrockPacketHandler handler) {
1818
return handler.handle(this);
1919
}
20+
21+
public enum State {
22+
SERVER_SEARCHING,
23+
SERVER_READY,
24+
CLIENT_READY
25+
}
2026
}

bedrock/bedrock-v388/src/main/java/com/nukkitx/protocol/bedrock/v388/serializer/RespawnSerializer_v388.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,18 +12,19 @@
1212
public class RespawnSerializer_v388 implements PacketSerializer<RespawnPacket> {
1313
public static final RespawnSerializer_v388 INSTANCE = new RespawnSerializer_v388();
1414

15+
private static final RespawnPacket.State[] VALUES = RespawnPacket.State.values();
1516

1617
@Override
1718
public void serialize(ByteBuf buffer, RespawnPacket packet) {
1819
BedrockUtils.writeVector3f(buffer, packet.getPosition());
19-
buffer.writeByte(packet.getSpawnState());
20+
buffer.writeByte(packet.getSpawnState().ordinal());
2021
VarInts.writeUnsignedLong(buffer, packet.getRuntimeEntityId());
2122
}
2223

2324
@Override
2425
public void deserialize(ByteBuf buffer, RespawnPacket packet) {
2526
packet.setPosition(BedrockUtils.readVector3f(buffer));
26-
packet.setSpawnState(buffer.readUnsignedByte());
27+
packet.setSpawnState(VALUES[buffer.readUnsignedByte()]);
2728
packet.setRuntimeEntityId(VarInts.readUnsignedLong(buffer));
2829
}
2930
}

0 commit comments

Comments
 (0)