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 {