From adbb006ec7f0ffd7de9788da0591446d7ef226bf Mon Sep 17 00:00:00 2001 From: DmitriyMX Date: Sat, 18 Aug 2018 23:58:21 +0300 Subject: [PATCH] =?UTF-8?q?=D0=BD=D0=BE=D0=B2=D1=8B=D0=B9=20=D0=BF=D0=B0?= =?UTF-8?q?=D0=BA=D0=B5=D1=82=20PlayerBlockPlacementPacket?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mc/core/network/proto_1_12_2/State.java | 1 + .../packets/PlayerBlockPlacementPacket.java | 29 ++++++++++++++++++- 2 files changed, 29 insertions(+), 1 deletion(-) diff --git a/proto_1.12.2/src/main/java/mc/core/network/proto_1_12_2/State.java b/proto_1.12.2/src/main/java/mc/core/network/proto_1_12_2/State.java index daf2000..a548a3d 100644 --- a/proto_1.12.2/src/main/java/mc/core/network/proto_1_12_2/State.java +++ b/proto_1.12.2/src/main/java/mc/core/network/proto_1_12_2/State.java @@ -85,6 +85,7 @@ public enum State { .put(0x15, EntityActionPacket.class) .put(0x1A, HeldItemChangePacket.class) .put(0x1D, AnimationPacket.class) + .put(0x1F, PlayerBlockPlacementPacket.class) .build(), ImmutableMap., Integer>builder() .put(BossBarPacket.class, 0x0C) diff --git a/proto_1.12.2/src/main/java/mc/core/network/proto_1_12_2/packets/PlayerBlockPlacementPacket.java b/proto_1.12.2/src/main/java/mc/core/network/proto_1_12_2/packets/PlayerBlockPlacementPacket.java index ab9f327..742370e 100644 --- a/proto_1.12.2/src/main/java/mc/core/network/proto_1_12_2/packets/PlayerBlockPlacementPacket.java +++ b/proto_1.12.2/src/main/java/mc/core/network/proto_1_12_2/packets/PlayerBlockPlacementPacket.java @@ -1,4 +1,31 @@ package mc.core.network.proto_1_12_2.packets; -public class PlayerBlockPlacementPacket { +import lombok.Getter; +import lombok.ToString; +import mc.core.Location; +import mc.core.network.CSPacket; +import mc.core.network.NetInputStream; +import mc.core.network.proto_1_12_2.Direction; +import mc.core.utils.CompactedCoords; + +@Getter +@ToString +public class PlayerBlockPlacementPacket implements CSPacket { + private Location location; + private Direction face; + /** true - main hand; false - off hand */ + private boolean hand; + private float cursorX, cursorY, cursorZ; + + @Override + public void readSelf(NetInputStream netStream) { + long compactedCoords = netStream.readLong(); + double[] xyz = CompactedCoords.uncompressXYZ(compactedCoords); + location = new Location(xyz[0], xyz[1], xyz[2], null); + face = Direction.getById(netStream.readVarInt()); + hand = (netStream.readVarInt() == 1); + cursorX = netStream.readFloat(); + cursorY = netStream.readFloat(); + cursorZ = netStream.readFloat(); + } }