
FullXaos_RPG
⚔️ RPG skills & dungeons 🌋 Portal dungeon RPG ⚡ Optimized RPG plugin 🏰 MCMMO-style RPG 🌀 Skills & portals RPG
Список изменений
v0.5.4 — Changelog (Quality Pass) КРИТИЧЕСКИЙ — ChatListener (сломан в Paper 1.21) AsyncPlayerChatEvent удалён из Paper 1.19+. Заменён на AsyncChatEvent с Adventure API. Без этого фикса плагин не компилируется на Paper 1.21. MAJOR — Утечки ресурсов БД (3 места) UpgradeService.loadUpgrades(), UpgradeService.checkSkillCooldown(), CurrencyService.getCredits() — ResultSet не закрывался. Добавлены try-with-resources. Порядок setString() перед executeQuery() также исправлен. MAJOR — NPE: seasonService.getSeasonEnd() возвращает null HudService вызывал ChronoUnit.HOURS.between(now, null) если сезон не инициализирован → краш. Добавлена проверка seasonEnd != null. MAJOR — Bukkit.getWorlds().get(0) без проверки Если мир не загружен, бросает IndexOutOfBoundsException. Добавлена guard-проверка + поддержка config-ключа portals.world для явного указания мира. MAJOR — Утечка памяти: RiftScannerListener.lastScanTime Карта UUID→время никогда не очищалась. Добавлен @EventHandler onPlayerQuit() с lastScanTime.remove(). MINOR — e.printStackTrace() заменён на logger PlayerService (5 мест), SkillService (5 мест), FullXaosRPGPlugin.onEnable() — всё переведено на plugin.getLogger().log(Level.SEVERE, ..., e). DB — Migration 2: Индексы производительности 7 новых индексов: idx_skills_uuid, idx_quests_uuid, idx_achievements_uuid, idx_quest_progress_uuid, idx_title_unlocks_uuid, idx_season_scores_points DESC, idx_rift_rank_points DESC. Автоматически создаются при первом запуске через MigrationRunner.
