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 {