/** * Write an encoded chat message to the buffer. * * @param buf The buffer. * @param text The chat message to write. * @throws IOException on write failure. */ public static void writeChat(ByteBuf buf, TextMessage text) throws IOException { ByteBufUtils.writeUTF8(buf, text.encode()); }
@Override public ByteBuf encode(ByteBuf buf, StatusResponseMessage message) throws IOException { ByteBufUtils.writeUTF8(buf, message.getJson()); return buf; } }
@Override public ByteBuf encode(ByteBuf buf, IncomingChatMessage message) throws IOException { ByteBufUtils.writeUTF8(buf, message.getText()); return buf; } }
@Override public ByteBuf encode(ByteBuf buf, LoginStartMessage message) throws IOException { ByteBufUtils.writeUTF8(buf, message.getUsername()); return buf; } }
@Override public ByteBuf encode(ByteBuf buf, StatisticMessage message) throws IOException { Map<String, Integer> map = message.getValues(); ByteBufUtils.writeVarInt(buf, map.size()); for (Entry<String, Integer> entry : map.entrySet()) { ByteBufUtils.writeUTF8(buf, entry.getKey()); ByteBufUtils.writeVarInt(buf, entry.getValue()); } return buf; } }
@Override public ByteBuf encode(ByteBuf buf, PluginMessage message) throws IOException { ByteBufUtils.writeUTF8(buf, message.getChannel()); buf.writeBytes(message.getData()); return buf; } }
@Override public ByteBuf encode(ByteBuf buf, ScoreboardDisplayMessage message) throws IOException { buf.writeByte(message.getPosition()); ByteBufUtils.writeUTF8(buf, message.getObjective()); return buf; } }
@Override public ByteBuf encode(ByteBuf buf, ScoreboardScoreMessage message) throws IOException { boolean remove = message.isRemove(); ByteBufUtils.writeUTF8(buf, message.getTarget()); buf.writeByte(remove ? 1 : 0); ByteBufUtils.writeUTF8(buf, message.getObjective()); if (!remove) { ByteBufUtils.writeVarInt(buf, message.getValue()); } return buf; } }
@Override public ByteBuf encode(ByteBuf buf, RespawnMessage message) throws IOException { buf.writeInt(message.getDimension()); buf.writeByte(message.getDifficulty()); buf.writeByte(message.getMode()); ByteBufUtils.writeUTF8(buf, message.getLevelType()); return buf; } }
@Override public ByteBuf encode(ByteBuf buf, TabCompleteResponseMessage message) throws IOException { ByteBufUtils.writeVarInt(buf, message.getCompletions().size()); for (String completion : message.getCompletions()) { ByteBufUtils.writeUTF8(buf, completion); } return buf; } }
@Override public ByteBuf encode(ByteBuf buf, JoinGameMessage message) throws IOException { buf.writeInt(message.getId()); buf.writeByte(message.getMode()); buf.writeInt(message.getDimension()); buf.writeByte(message.getDifficulty()); buf.writeByte(message.getMaxPlayers()); ByteBufUtils.writeUTF8(buf, message.getLevelType()); buf.writeBoolean(message.isReducedDebugInfo()); return buf; } }
@Override public ByteBuf encode(ByteBuf buf, OpenWindowMessage message) throws IOException { buf.writeByte(message.getId()); ByteBufUtils.writeUTF8(buf, message.getType()); GlowBufUtils.writeChat(buf, message.getTitle()); buf.writeByte(message.getSlots()); if (message.getEntityId() != 0) { // magic number 11 for AnimalChest type which Bukkit doesn't seem to know about buf.writeInt(message.getEntityId()); } return buf; } }
@Override public ByteBuf encode(ByteBuf buf, AdvancementTabMessage message) throws IOException { ByteBufUtils.writeVarInt(buf, message.getAction()); if (message.getAction() == AdvancementTabMessage.ACTION_OPEN) { ByteBufUtils.writeUTF8(buf, message.getTabId()); } return buf; } }
@Override public ByteBuf encode(ByteBuf buf, EncryptionKeyRequestMessage message) throws IOException { ByteBufUtils.writeUTF8(buf, message.getSessionId()); ByteBufUtils.writeVarInt(buf, message.getPublicKey().length); buf.writeBytes(message.getPublicKey()); ByteBufUtils.writeVarInt(buf, message.getVerifyToken().length); buf.writeBytes(message.getVerifyToken()); return buf; } }
@Override public ByteBuf encode(ByteBuf buf, HandshakeMessage message) throws IOException { ByteBufUtils.writeVarInt(buf, message.getVersion()); ByteBufUtils.writeUTF8(buf, message.getAddress()); buf.writeShort(message.getPort()); ByteBufUtils.writeVarInt(buf, message.getState()); return buf; } }
@Override public ByteBuf encode(ByteBuf buf, ClientSettingsMessage message) throws IOException { ByteBufUtils.writeUTF8(buf, message.getLocale()); buf.writeByte(message.getViewDistance()); ByteBufUtils.writeVarInt(buf, message.getChatFlags()); buf.writeBoolean(message.isChatColors()); buf.writeByte(message.getSkinFlags()); ByteBufUtils.writeVarInt(buf, message.getHand()); return buf; } }
@Override public ByteBuf encode(ByteBuf buf, NamedSoundEffectMessage message) throws IOException { ByteBufUtils.writeUTF8(buf, message.getSound()); ByteBufUtils.writeVarInt(buf, message.getSoundCategory().ordinal()); buf.writeInt((int) (8 * message.getX())); buf.writeInt((int) (8 * message.getY())); buf.writeInt((int) (8 * message.getZ())); buf.writeFloat(message.getVolume()); buf.writeFloat(message.getPitch()); return buf; } }
@Override public ByteBuf encode(ByteBuf buf, SpawnPaintingMessage message) throws IOException { ByteBufUtils.writeVarInt(buf, message.getId()); GlowBufUtils.writeUuid(buf, message.getUniqueId()); ByteBufUtils.writeUTF8(buf, message.getTitle()); GlowBufUtils.writeBlockPosition(buf, message.getX(), message.getY(), message.getZ()); buf.writeByte(message.getFacing()); return buf; } }