@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);
 }