From 9c9523d629d320a0bc527333e097a192ed051704 Mon Sep 17 00:00:00 2001 From: DmitriyMX Date: Mon, 12 Jul 2021 19:10:40 +0300 Subject: [PATCH] used Vector --- .../main/java/mc/protocol/model/Location.java | 20 ++++--------- .../src/main/java/mc/protocol/model/Look.java | 28 +++++++++++++------ .../client/CPlayerPositionAndLookPacket.java | 10 +++++-- .../packets/play/client/PlayerLookPacket.java | 5 +++- .../play/client/PlayerPositionPacket.java | 5 +++- 5 files changed, 41 insertions(+), 27 deletions(-) diff --git a/protocol/src/main/java/mc/protocol/model/Location.java b/protocol/src/main/java/mc/protocol/model/Location.java index 293ad86..c1d2d7d 100644 --- a/protocol/src/main/java/mc/protocol/model/Location.java +++ b/protocol/src/main/java/mc/protocol/model/Location.java @@ -1,18 +1,10 @@ package mc.protocol.model; -import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; +import mc.utils.vector.Vector3d; -@Data -public class Location { - private double x = 0d; - private double y = 0d; - private double z = 0d; - - public Location set(double x, double y, double z) { - this.x = x; - this.y = y; - this.z = z; - - return this; - } +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class Location extends Vector3d { } diff --git a/protocol/src/main/java/mc/protocol/model/Look.java b/protocol/src/main/java/mc/protocol/model/Look.java index 334ad10..1551b95 100644 --- a/protocol/src/main/java/mc/protocol/model/Look.java +++ b/protocol/src/main/java/mc/protocol/model/Look.java @@ -1,16 +1,26 @@ package mc.protocol.model; -import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; +import mc.utils.vector.Vector2f; -@Data -public class Look { - private float yaw; - private float pitch; +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class Look extends Vector2f { - public Look set(float yaw, float pitch) { - this.yaw = yaw; - this.pitch = pitch; + /** + * Equal X + * @return X + */ + public float getYaw() { + return this.getX(); + } - return this; + /** + * Equal Y + * @return Y + */ + public float getPitch() { + return this.getY(); } } diff --git a/protocol/src/main/java/mc/protocol/packets/play/client/CPlayerPositionAndLookPacket.java b/protocol/src/main/java/mc/protocol/packets/play/client/CPlayerPositionAndLookPacket.java index 3e9b3b6..37624a6 100644 --- a/protocol/src/main/java/mc/protocol/packets/play/client/CPlayerPositionAndLookPacket.java +++ b/protocol/src/main/java/mc/protocol/packets/play/client/CPlayerPositionAndLookPacket.java @@ -43,21 +43,27 @@ public class CPlayerPositionAndLookPacket implements ClientSidePacket { double x = netByteBuf.readDouble(); double y = netByteBuf.readDouble(); double z = netByteBuf.readDouble(); - this.position = ProtocolObjectPool.getLocationPool().borrowObject().set(x, y, z); + this.position = ProtocolObjectPool.getLocationPool().borrowObject(); + position.set(x, y, z); float yaw = netByteBuf.readFloat(); float pitch = netByteBuf.readFloat(); - this.look = ProtocolObjectPool.getLookPool().borrowObject().set(yaw, pitch); + this.look = ProtocolObjectPool.getLookPool().borrowObject(); + this.look.set(yaw, pitch); this.onGround = netByteBuf.readBoolean(); } @Override public void passivate() { + this.position.set(0, 0, 0); ProtocolObjectPool.getLocationPool().returnObject(this.position); this.position = null; + + this.look.set(0, 0); ProtocolObjectPool.getLookPool().returnObject(this.look); this.look = null; + this.onGround = false; } diff --git a/protocol/src/main/java/mc/protocol/packets/play/client/PlayerLookPacket.java b/protocol/src/main/java/mc/protocol/packets/play/client/PlayerLookPacket.java index cff9cbf..de664c8 100644 --- a/protocol/src/main/java/mc/protocol/packets/play/client/PlayerLookPacket.java +++ b/protocol/src/main/java/mc/protocol/packets/play/client/PlayerLookPacket.java @@ -36,15 +36,18 @@ public class PlayerLookPacket implements ClientSidePacket { public void readSelf(NetByteBuf netByteBuf) { float yaw = netByteBuf.readFloat(); float pitch = netByteBuf.readFloat(); - this.look = ProtocolObjectPool.getLookPool().borrowObject().set(yaw, pitch); + this.look = ProtocolObjectPool.getLookPool().borrowObject(); + this.look.set(yaw, pitch); this.onGround = netByteBuf.readBoolean(); } @Override public void passivate() { + this.look.set(0, 0); ProtocolObjectPool.getLookPool().returnObject(this.look); this.look = null; + this.onGround = false; } } diff --git a/protocol/src/main/java/mc/protocol/packets/play/client/PlayerPositionPacket.java b/protocol/src/main/java/mc/protocol/packets/play/client/PlayerPositionPacket.java index 0a8bf1d..429afb1 100644 --- a/protocol/src/main/java/mc/protocol/packets/play/client/PlayerPositionPacket.java +++ b/protocol/src/main/java/mc/protocol/packets/play/client/PlayerPositionPacket.java @@ -39,15 +39,18 @@ public class PlayerPositionPacket implements ClientSidePacket { double x = netByteBuf.readDouble(); double y = netByteBuf.readDouble(); double z = netByteBuf.readDouble(); - this.position = ProtocolObjectPool.getLocationPool().borrowObject().set(x, y, z); + this.position = ProtocolObjectPool.getLocationPool().borrowObject(); + this.position.set(x, y, z); this.onGround = netByteBuf.readBoolean(); } @Override public void passivate() { + this.position.set(0, 0, 0); ProtocolObjectPool.getLocationPool().returnObject(this.position); this.position = null; + this.onGround = false; }