Minestom/src/main/java/fr/themode/minestom/utils/PacketUtils.java

36 lines
1.1 KiB
Java
Raw Normal View History

2019-08-22 14:52:32 +02:00
package fr.themode.minestom.utils;
import fr.adamaq01.ozao.net.Buffer;
import fr.adamaq01.ozao.net.packet.Packet;
import fr.themode.minestom.net.packet.server.ServerPacket;
import static fr.themode.minestom.net.protocol.MinecraftProtocol.PACKET_ID_IDENTIFIER;
2019-08-23 15:37:38 +02:00
import static fr.themode.minestom.utils.Utils.writeVarInt;
2019-08-22 14:52:32 +02:00
public class PacketUtils {
public static Packet writePacket(ServerPacket serverPacket) {
int id = serverPacket.getId();
Packet packet = Packet.create();
Buffer buffer = packet.getPayload();
serverPacket.write(buffer);
packet.put(PACKET_ID_IDENTIFIER, id);
return packet;
}
2019-08-23 15:37:38 +02:00
public static boolean verify(Packet packet) {
return packet.get("id") != null;
}
public static Buffer encode(Packet packet) {
Buffer buffer = Buffer.create();
Buffer idAndPayload = Buffer.create();
writeVarInt(idAndPayload, packet.get(PACKET_ID_IDENTIFIER));
idAndPayload.putBuffer(packet.getPayload());
writeVarInt(buffer, idAndPayload.length());
buffer.putBuffer(idAndPayload);
return buffer;
}
2019-08-22 14:52:32 +02:00
}