From 083568329453ed8bcac41ef85fe8f8ce453b530b Mon Sep 17 00:00:00 2001 From: DmitriyMX Date: Sun, 2 May 2021 20:24:02 +0300 Subject: [PATCH] TeleportConfirmPacket --- protocol/src/main/java/mc/protocol/State.java | 1 + .../packets/client/TeleportConfirmPacket.java | 36 +++++++++++++++++++ .../server/PlayerPositionAndLookPacket.java | 2 ++ 3 files changed, 39 insertions(+) create mode 100644 protocol/src/main/java/mc/protocol/packets/client/TeleportConfirmPacket.java diff --git a/protocol/src/main/java/mc/protocol/State.java b/protocol/src/main/java/mc/protocol/State.java index 12be60f..1d20194 100644 --- a/protocol/src/main/java/mc/protocol/State.java +++ b/protocol/src/main/java/mc/protocol/State.java @@ -44,6 +44,7 @@ public enum State { PLAY(3, // server bound Map.of( + 0x00, TeleportConfirmPacket.class, 0x04, ClientSettingsPacket.class, 0x09, PluginMessagePacket.class ), diff --git a/protocol/src/main/java/mc/protocol/packets/client/TeleportConfirmPacket.java b/protocol/src/main/java/mc/protocol/packets/client/TeleportConfirmPacket.java new file mode 100644 index 0000000..1b0c849 --- /dev/null +++ b/protocol/src/main/java/mc/protocol/packets/client/TeleportConfirmPacket.java @@ -0,0 +1,36 @@ +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.packets.ClientSidePacket; +import mc.protocol.packets.server.PlayerPositionAndLookPacket; + +/** + * Teleport сonfirm packet. + * + *

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

+ *
+ * | FIELD       | TYPE   | NOTES                                                     |
+ * |-------------|--------|-----------------------------------------------------------|
+ * | Teleport ID | VarInt | ID, который был выдан пакетом {@link PlayerPositionAndLookPacket} |
+ * 
+ * + * @see Login start + * @see PlayerPositionAndLookPacket + */ +@NoArgsConstructor +@Getter +@EqualsAndHashCode +@ToString +public class TeleportConfirmPacket implements ClientSidePacket { + + private int teleportId; + + @Override + public void readSelf(NetByteBuf netByteBuf) { + this.teleportId = netByteBuf.readVarInt(); + } +} diff --git a/protocol/src/main/java/mc/protocol/packets/server/PlayerPositionAndLookPacket.java b/protocol/src/main/java/mc/protocol/packets/server/PlayerPositionAndLookPacket.java index e2fd34e..ba503f8 100644 --- a/protocol/src/main/java/mc/protocol/packets/server/PlayerPositionAndLookPacket.java +++ b/protocol/src/main/java/mc/protocol/packets/server/PlayerPositionAndLookPacket.java @@ -5,6 +5,7 @@ import mc.protocol.io.NetByteBuf; import mc.protocol.model.Location; import mc.protocol.model.Look; import mc.protocol.packets.ServerSidePacket; +import mc.protocol.packets.client.TeleportConfirmPacket; /** * Установка позиции и угла осмотра Игрока. @@ -37,6 +38,7 @@ import mc.protocol.packets.ServerSidePacket; * "It's a bitfield, X/Y/Z/Y_ROT/X_ROT. If X is set, the x value is relative and not absolute." * * @see Player Position And Look + * @see TeleportConfirmPacket */ @Data public class PlayerPositionAndLookPacket implements ServerSidePacket {