diff --git a/src/main/java/mc/protocol/State.java b/src/main/java/mc/protocol/State.java index df5038a..f154075 100644 --- a/src/main/java/mc/protocol/State.java +++ b/src/main/java/mc/protocol/State.java @@ -5,6 +5,7 @@ import com.google.common.collect.ImmutableBiMap; import lombok.Getter; import lombok.RequiredArgsConstructor; import mc.protocol.handshake.client.HandshakePacket; +import mc.protocol.status.PingPacket; import mc.protocol.status.client.StatusServerRequest; import mc.protocol.status.server.StatusServerResponse; @@ -21,11 +22,13 @@ public enum State { STATUS(1, // server bound ImmutableBiMap.of( - 0x00, StatusServerRequest.class + 0x00, StatusServerRequest.class, + 0x01, PingPacket.class ), // client bound ImmutableBiMap.of( - 0x00, StatusServerResponse.class + 0x00, StatusServerResponse.class, + 0x01, PingPacket.class ) ), LOGIN(2); diff --git a/src/main/java/mc/protocol/status/PingPacket.java b/src/main/java/mc/protocol/status/PingPacket.java new file mode 100644 index 0000000..6b2dacf --- /dev/null +++ b/src/main/java/mc/protocol/status/PingPacket.java @@ -0,0 +1,22 @@ +package mc.protocol.status; + +import lombok.Data; +import mc.protocol.Packet; +import mc.protocol.io.NetInputStream; +import mc.protocol.io.NetOutputStream; + +@Data +public class PingPacket implements Packet { + + private Long payload; + + @Override + public void readSelf(NetInputStream netInputStream) { + payload = netInputStream.readLong(); + } + + @Override + public void writeSelf(NetOutputStream netOutputStream) { + netOutputStream.writeLong(payload); + } +}