Archived
0

WrapperNetChannel

This commit is contained in:
2018-06-23 18:22:56 +03:00
parent 63ff8f3ae6
commit 36ed558c0a
2 changed files with 55 additions and 1 deletions

View File

@@ -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);
}
}
}

View File

@@ -0,0 +1,50 @@
/*
* DmitriyMX <dimon550@gmail.com>
* 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();
}
}