package net.glowstone.net.message.play.game;
import com.flowpowered.networking.Message;
import com.flowpowered.networking.util.ByteBufUtils;
import io.netty.buffer.ByteBuf;
import io.netty.buffer.Unpooled;
import lombok.Data;
import net.glowstone.GlowServer;
import java.io.IOException;
import java.util.logging.Level;
@Data
public final class PluginMessage implements Message {
public final String channel;
public final byte[] data;
public static PluginMessage fromString(String channel, String text) {
ByteBuf buf = Unpooled.buffer(5 + text.length());
try {
ByteBufUtils.writeUTF8(buf, text);
} catch (IOException e) {
GlowServer.logger.log(Level.WARNING, "Error converting to PluginMessage: \"" + channel + "\", \"" + text + "\"", e);
}
byte[] array = buf.array();
if (buf.refCnt() > 0) {
buf.release(buf.refCnt());
}
return new PluginMessage(channel, array);
}
}