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

33 lines
949 B
Java
Raw Normal View History

2019-08-22 14:52:32 +02:00
package fr.themode.minestom.utils;
2019-08-31 07:54:53 +02:00
import fr.themode.minestom.net.packet.PacketWriter;
2019-08-22 14:52:32 +02:00
import fr.themode.minestom.net.packet.server.ServerPacket;
2020-04-17 01:16:02 +02:00
import io.netty.buffer.ByteBuf;
import io.netty.buffer.Unpooled;
2019-08-22 14:52:32 +02:00
public class PacketUtils {
2020-04-17 01:16:02 +02:00
public static ByteBuf writePacket(ServerPacket serverPacket) {
2019-08-22 14:52:32 +02:00
int id = serverPacket.getId();
2020-04-17 01:16:02 +02:00
PacketWriter packetWriter = new PacketWriter();
packetWriter.writeVarInt(id);
2019-08-31 07:54:53 +02:00
serverPacket.write(packetWriter);
2020-04-17 01:16:02 +02:00
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);
2020-03-20 19:50:22 +01:00
2020-04-17 01:16:02 +02:00
return Unpooled.copiedBuffer(buffer);
2019-08-23 15:37:38 +02:00
}
2019-08-22 14:52:32 +02:00
}