Minestom/src/main/java/fr/themode/minestom/utils/PacketUtils.java
2020-04-17 01:16:02 +02:00

33 lines
949 B
Java

package fr.themode.minestom.utils;
import fr.themode.minestom.net.packet.PacketWriter;
import fr.themode.minestom.net.packet.server.ServerPacket;
import io.netty.buffer.ByteBuf;
import io.netty.buffer.Unpooled;
public class PacketUtils {
public static ByteBuf writePacket(ServerPacket serverPacket) {
int id = serverPacket.getId();
PacketWriter packetWriter = new PacketWriter();
packetWriter.writeVarInt(id);
serverPacket.write(packetWriter);
byte[] bytes = packetWriter.toByteArray();
int length = bytes.length;
int varIntSize = Utils.lengthVarInt(length);
ByteBuf buffer = Unpooled.buffer(length + varIntSize);
Utils.writeVarIntBuf(buffer, length);
buffer.writeBytes(bytes);
//System.out.println("WRITE PACKET: " + id + " " + serverPacket.getClass().getSimpleName() + " size: " + length);
return Unpooled.copiedBuffer(buffer);
}
}