From 36ed558c0a5f71346659c77d5e041b10ab9f97b5 Mon Sep 17 00:00:00 2001 From: DmitriyMX Date: Sat, 23 Jun 2018 18:22:56 +0300 Subject: [PATCH] WrapperNetChannel --- .../netty/handlers/LoginHandler.java | 6 ++- .../netty/wrappers/WrapperNetChannel.java | 50 +++++++++++++++++++ 2 files changed, 55 insertions(+), 1 deletion(-) create mode 100644 proto_1.12.2_netty/src/main/java/mc/core/network/proto_1_12_2/netty/wrappers/WrapperNetChannel.java diff --git a/proto_1.12.2_netty/src/main/java/mc/core/network/proto_1_12_2/netty/handlers/LoginHandler.java b/proto_1.12.2_netty/src/main/java/mc/core/network/proto_1_12_2/netty/handlers/LoginHandler.java index e66a6b3..f31d4ee 100644 --- a/proto_1.12.2_netty/src/main/java/mc/core/network/proto_1_12_2/netty/handlers/LoginHandler.java +++ b/proto_1.12.2_netty/src/main/java/mc/core/network/proto_1_12_2/netty/handlers/LoginHandler.java @@ -8,6 +8,7 @@ import io.netty.channel.Channel; import io.netty.channel.ChannelFutureListener; import mc.core.network.proto_1_12_2.State; import mc.core.network.proto_1_12_2.TeleportManager; +import mc.core.network.proto_1_12_2.netty.wrappers.WrapperNetChannel; import mc.core.network.proto_1_12_2.packets.*; import mc.core.player.Look; import mc.core.player.Player; @@ -74,7 +75,7 @@ public class LoginHandler extends AbstractStateHandler implements LoginStateHand pkt3.setFlying(true); pkt3.setGodMode(true); pkt3.setInstantDestroyBlocks(true); - channel.write(pkt2); + channel.write(pkt3); channel.flush(); // Player Position And Look @@ -83,6 +84,9 @@ public class LoginHandler extends AbstractStateHandler implements LoginStateHand pkt4.setLook(player.getLook()); pkt4.setTeleportId(TeleportManager.getInstance().append(player, player.getLocation())); channel.writeAndFlush(pkt4); + + player.setChannel(new WrapperNetChannel(channel)); + playerManager.joinServer(player); } } } diff --git a/proto_1.12.2_netty/src/main/java/mc/core/network/proto_1_12_2/netty/wrappers/WrapperNetChannel.java b/proto_1.12.2_netty/src/main/java/mc/core/network/proto_1_12_2/netty/wrappers/WrapperNetChannel.java new file mode 100644 index 0000000..7838455 --- /dev/null +++ b/proto_1.12.2_netty/src/main/java/mc/core/network/proto_1_12_2/netty/wrappers/WrapperNetChannel.java @@ -0,0 +1,50 @@ +/* + * DmitriyMX + * 2018-06-23 + */ +package mc.core.network.proto_1_12_2.netty.wrappers; + +import io.netty.channel.Channel; +import lombok.RequiredArgsConstructor; +import mc.core.network.NetChannel; +import mc.core.network.SCPacket; +import mc.core.network.proto_1_12_2.packets.KeepAlivePacket; +import mc.core.text.Text; + +import java.util.Random; + +@RequiredArgsConstructor +public class WrapperNetChannel implements NetChannel { + private static final Random RAND = new Random(); + private final Channel channel; + + @Override + public void sendKeepAlive() { + writeAndFlush(new KeepAlivePacket(RAND.nextLong())); + } + + @Override + public void sendTimeUpdate(long value) { + + } + + @Override + public void sendChatMessage(Text text) { + + } + + @Override + public void writeAndFlush(SCPacket pkt) { + channel.writeAndFlush(pkt); + } + + @Override + public void write(SCPacket pkt) { + channel.write(pkt); + } + + @Override + public void flush() { + channel.flush(); + } +}