From 80a351adfd60fe20ff3969020fda345b05908035 Mon Sep 17 00:00:00 2001 From: DmitriyMX Date: Mon, 30 Apr 2018 00:37:39 +0300 Subject: [PATCH] player isFlying --- core/src/main/java/mc/core/Player.java | 3 +++ .../main/java/mc/core/embedded/SimplePlayer.java | 1 + .../proto_125/packets/PlayerAbilitiesPacket.java | 14 +++++++++++++- .../network/proto_125/netty/PacketHandler.java | 6 ++++++ 4 files changed, 23 insertions(+), 1 deletion(-) diff --git a/core/src/main/java/mc/core/Player.java b/core/src/main/java/mc/core/Player.java index 215570a..b4c74b7 100644 --- a/core/src/main/java/mc/core/Player.java +++ b/core/src/main/java/mc/core/Player.java @@ -19,4 +19,7 @@ public interface Player { Look getLook(); void setLook(Look look); + + boolean isFlying(); + void setFlying(boolean value); } diff --git a/core/src/main/java/mc/core/embedded/SimplePlayer.java b/core/src/main/java/mc/core/embedded/SimplePlayer.java index 6ac251b..26c7655 100644 --- a/core/src/main/java/mc/core/embedded/SimplePlayer.java +++ b/core/src/main/java/mc/core/embedded/SimplePlayer.java @@ -18,4 +18,5 @@ public class SimplePlayer implements Player { private NetChannel channel; private Location location = new Location(0, 0, 0); private Look look = new Look(0, 0); + private boolean flying = false; } diff --git a/proto125/src/main/java/mc/core/network/proto_125/packets/PlayerAbilitiesPacket.java b/proto125/src/main/java/mc/core/network/proto_125/packets/PlayerAbilitiesPacket.java index 795945a..9a979ab 100644 --- a/proto125/src/main/java/mc/core/network/proto_125/packets/PlayerAbilitiesPacket.java +++ b/proto125/src/main/java/mc/core/network/proto_125/packets/PlayerAbilitiesPacket.java @@ -4,14 +4,18 @@ */ package mc.core.network.proto_125.packets; +import lombok.Getter; import lombok.Setter; import lombok.ToString; +import mc.core.network.CSPacket; +import mc.core.network.NetStream; import mc.core.network.SCPacket; import mc.core.network.proto_125.ByteArrayOutputNetStream; +@Getter @Setter @ToString -public class PlayerAbilitiesPacket implements SCPacket { +public class PlayerAbilitiesPacket implements SCPacket, CSPacket { private boolean godMode = false; private boolean flying = false; private boolean canFly = false; @@ -28,4 +32,12 @@ public class PlayerAbilitiesPacket implements SCPacket { return netStream.toByteArray(); } + + @Override + public void readSelf(NetStream netStream) { + godMode = netStream.readBoolean(); + flying = netStream.readBoolean(); + canFly = netStream.readBoolean(); + instantDestroyBlocks = netStream.readBoolean(); + } } diff --git a/proto125_netty/src/main/java/mc/core/network/proto_125/netty/PacketHandler.java b/proto125_netty/src/main/java/mc/core/network/proto_125/netty/PacketHandler.java index c14ea9b..b812ad4 100644 --- a/proto125_netty/src/main/java/mc/core/network/proto_125/netty/PacketHandler.java +++ b/proto125_netty/src/main/java/mc/core/network/proto_125/netty/PacketHandler.java @@ -161,4 +161,10 @@ public class PacketHandler extends SimpleChannelInboundHandler { player.getLook().setYaw(packet.getYaw()); player.getLook().setPitch(packet.getPitch()); } + + public void onPlayerAbilitiesPacket(Channel channel, PlayerAbilitiesPacket packet) { + log.debug("Player new sets: {}", packet.toString()); + Player player = channel.attr(ATTR_PLAYER).get(); + player.setFlying(packet.isFlying()); + } }