correct Ping
This commit is contained in:
@@ -10,6 +10,7 @@ import mc.core.netty.EventBus;
|
||||
import mc.core.netty.State;
|
||||
import mc.core.netty.packets.HandshakeRequestPacket;
|
||||
import mc.core.netty.packets.HandshakeResponsePacket;
|
||||
import mc.core.netty.packets.PingPacket;
|
||||
|
||||
@Slf4j
|
||||
public class HandshakeHandler implements EventBus.Listener {
|
||||
@@ -18,4 +19,9 @@ public class HandshakeHandler implements EventBus.Listener {
|
||||
channel.attr(State.ATTR_STATE).set(packet.getNextState());
|
||||
channel.writeAndFlush(new HandshakeResponsePacket());
|
||||
}
|
||||
|
||||
@EventBus.EventHandler(State.Handshaking)
|
||||
public void onPing(PingPacket packet, Channel channel) {
|
||||
channel.writeAndFlush(packet);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,13 +7,13 @@ package mc.core.netty.packets;
|
||||
import lombok.ToString;
|
||||
import mc.core.NetStream;
|
||||
import mc.core.Packet;
|
||||
|
||||
import static mc.core.netty.Utils.*;
|
||||
import mc.core.netty.Utils;
|
||||
|
||||
@ToString
|
||||
public class PingPacket implements Packet {
|
||||
private static final int id = 1;
|
||||
private long payload;
|
||||
private static final int lenId = Utils.lengthVarInt(id);
|
||||
private byte[] rawdata;
|
||||
private int size;
|
||||
|
||||
@Override
|
||||
@@ -28,18 +28,15 @@ public class PingPacket implements Packet {
|
||||
|
||||
@Override
|
||||
public void readSelf(NetStream netStream) {
|
||||
payload = netStream.readVarLong();
|
||||
size = lengthVarInt(id)
|
||||
+ lengthVarLong(payload);
|
||||
rawdata = new byte[netStream.getExpectedLength() - lenId];
|
||||
netStream.readBytes(rawdata);
|
||||
size = lenId + rawdata.length;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void writeSelf(NetStream netStream) {
|
||||
long payload = System.currentTimeMillis();
|
||||
int size = lengthVarLong(payload);
|
||||
|
||||
netStream.writeVarInt(size);
|
||||
netStream.writeVarInt(id);
|
||||
netStream.writeVarLong(payload);
|
||||
netStream.writeBytes(rawdata);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user