From 052593bc14150a0641e26752f99db0b221a08e42 Mon Sep 17 00:00:00 2001 From: DmitriyMX Date: Mon, 3 May 2021 00:24:12 +0300 Subject: [PATCH] PlayerLookPacket --- protocol/src/main/java/mc/protocol/State.java | 3 +- .../packets/client/PlayerLookPacket.java | 42 +++++++++++++++++++ 2 files changed, 44 insertions(+), 1 deletion(-) create mode 100644 protocol/src/main/java/mc/protocol/packets/client/PlayerLookPacket.java diff --git a/protocol/src/main/java/mc/protocol/State.java b/protocol/src/main/java/mc/protocol/State.java index 4940521..347c30c 100644 --- a/protocol/src/main/java/mc/protocol/State.java +++ b/protocol/src/main/java/mc/protocol/State.java @@ -48,7 +48,8 @@ public enum State { 0x04, ClientSettingsPacket.class, 0x09, PluginMessagePacket.class, 0x0D, PlayerPositionPacket.class, - 0x0E, CPlayerPositionAndLookPacket.class + 0x0E, CPlayerPositionAndLookPacket.class, + 0x0F, PlayerLookPacket.class ), // client bound Map.of( diff --git a/protocol/src/main/java/mc/protocol/packets/client/PlayerLookPacket.java b/protocol/src/main/java/mc/protocol/packets/client/PlayerLookPacket.java new file mode 100644 index 0000000..0f6ec16 --- /dev/null +++ b/protocol/src/main/java/mc/protocol/packets/client/PlayerLookPacket.java @@ -0,0 +1,42 @@ +package mc.protocol.packets.client; + +import lombok.EqualsAndHashCode; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.ToString; +import mc.protocol.io.NetByteBuf; +import mc.protocol.model.Look; +import mc.protocol.packets.ClientSidePacket; + +/** + * Клиент сообщает о повороте головы Игрока. + * + *

Структура пакета

+ *
+ * | FIELD     | TYPE    | NOTES                                       |
+ * |-----------|---------|---------------------------------------------|
+ * | Yaw       | Float   | Абсолютный поворот головы по OX, в градусах |
+ * | Pitch     | Float   | Абсолютный поворот головы по OY, в градусах |
+ * | On Ground | Boolean | true, если Игрок находится на земле         |
+ * 
+ * + * @see Player Look + */ +@NoArgsConstructor +@Getter +@EqualsAndHashCode +@ToString +public class PlayerLookPacket implements ClientSidePacket { + + private Look look; + private boolean onGround; + + @Override + public void readSelf(NetByteBuf netByteBuf) { + float yaw = netByteBuf.readFloat(); + float pitch = netByteBuf.readFloat(); + this.look = new Look(yaw, pitch); + + this.onGround = netByteBuf.readBoolean(); + } +}