@Override public RecyclableCollection<PacketData> toData(ProtocolVersion version) throws IOException { effectId = IdRemapper.EFFECT.getTable(version).getRemap(effectId); if (version.isBefore(ProtocolVersion.MINECRAFT_1_9)) { effectId = LegacyEffect.getLegacyId(version, effectId); if (effectId == 2001) { data = IdRemapper.BLOCK.getTable(version).getRemap((data & 0xFFF) << 4) >> 4; } } PacketData serializer = PacketData.create(ClientBoundPacket.PLAY_WORLD_EVENT_ID, version); serializer.writeInt(effectId); serializer.writePosition(position); serializer.writeInt(data); serializer.writeBoolean(disableRelative); return RecyclableSingletonList.create(serializer); }
@Override public RecyclableCollection<PacketData> toData(ProtocolVersion version) { PacketData serializer = PacketData.create(ClientBoundPacket.PLAY_SPAWN_NAMED_ID, version); serializer.writeVarInt(playerEntityId); serializer.writeString( version == ProtocolVersion.MINECRAFT_1_7_10 ? uuid.toString() : uuid.toString().replace("-", "")); serializer.writeString(name); if (version == ProtocolVersion.MINECRAFT_1_7_10) { serializer.writeVarInt(properties.size()); for (Property property : properties) { serializer.writeString(property.getName()); serializer.writeString(property.getValue()); serializer.writeString(property.getSignature()); } } serializer.writeInt((int) (x * 32)); serializer.writeInt((int) (y * 32)); serializer.writeInt((int) (z * 32)); serializer.writeByte(yaw); serializer.writeByte(pitch); serializer.writeShort(0); serializer.writeBytes( LegacyDataWatcherSerializer.encodeData( version, WatchedDataRemapper.transform(wplayer, metadata, version))); return RecyclableSingletonList.create(serializer); }