
TrialChamberPro
Because Trial Chambers deserve better than being a "one and done" dungeon.
1.2K
14
Список изменений
1.2.8 - 2025-12-04
Added
- Complete GUI Overhaul: 14 new views replacing the old 6-view system
- MainMenuView: New central hub with 6 category buttons (Chambers, Loot Tables, Statistics, Settings, Protection, Help)
- ChamberListView: Paginated chamber list (36 per page) replacing ChambersOverviewView
- ChamberDetailView: Enhanced chamber management hub with quick actions
- ChamberSettingsView: Per-chamber settings (reset interval, exit location, loot overrides)
- VaultManagementView: Vault cooldown management with player lock display
- SettingsMenuView: Settings category hub with config reload
- GlobalSettingsView: Runtime-toggleable settings (13 config options, instant save)
- ProtectionMenuView: Protection toggle switches without YAML editing
- StatsMenuView: Statistics category menu with leaderboard shortcuts
- LeaderboardView: Top 10 players by category with player heads
- PlayerStatsView: Individual player stats with K/D ratio and averages
- LootTableListView: Direct loot table browser
- HelpMenuView: Command reference, permissions, and plugin info
- Runtime Config Editing: Toggle 13 config options directly in the GUI
- Reset settings: clear-ground-items, remove-spawner-mobs, reset-trial-spawners, reset-vault-cooldowns
- Feature settings: spawner-waves, boss-bar, spectator-mode, statistics tracking
- Loot settings: apply-luck-effect, per-player-loot
- Protection settings: All 6 protection toggles
- Changes save immediately to config.yml
- Pagination Support: Handle unlimited chambers with 36 items per page
- Session Restoration: Return to previous screens with proper state preservation
Fixed
- MySQL Database Compatibility: Fixed SQL syntax errors when using MySQL database
StatisticsManager.batchAddTimeSpent()now usesON DUPLICATE KEY UPDATEfor MySQL (was SQLite-onlyON CONFLICT)StatisticsManager.saveStats()now usesON DUPLICATE KEY UPDATEfor MySQL (was SQLite-onlyINSERT OR REPLACE)- Exposed
DatabaseManager.databaseTypeproperty for runtime database type detection
- Folia Compatibility in ChamberDetailView: Fixed player ejection not using Folia-safe scheduling
exitPlayers()now usesscheduler.runAtEntity()for each player (required for Folia where players may be in different regions)- Added
player.isOnlinecheck before teleporting to prevent errors with disconnected players
- Coroutine Scope Leak in Commands: Fixed orphaned coroutine scope causing resource leaks
- Removed standalone
commandScopefromTCPCommand.ktandTCPCommandExtensions.kt - Commands now use
plugin.launchAsync {}which is properly cancelled on plugin disable - Ensures all async command operations are tied to plugin lifecycle
- Removed standalone
- SpawnerWaveManager Async Thread Safety: Fixed boss bar cleanup running on wrong thread
- Changed
runTaskLaterAsynctorunTaskLaterfor boss bar removal removeBossBar()callsserver.getPlayer()which requires main thread access
- Changed
- GlobalSettingsView Code Cleanup: Removed unused parameters from extension function
- Removed redundant
paneandplayerparameters fromStaticPane.addItem()extension - Cleaned up all 10 call sites
- Removed redundant
Changed
- MenuService: Rewritten with 16 screen enums and unified navigation methods
- Legacy Compatibility: Old GUI methods deprecated but still functional
- /tcp menu: Now opens MainMenuView instead of ChambersOverviewView
Technical Details
- New helper methods in ChamberManager:
updateResetInterval(),updateExitLocation() - New helper method in VaultManager:
getVaultLockCount() - GUI system uses consistent back/close navigation pattern
- All views use StaticPane and OutlinePane for layout
DatabaseManager.databaseTypenow publicly accessible for database-specific SQL queries
Файлы
TrialChamberPro-1.2.8.jar(12.22 MiB)
ОсновнойМетаданные
Канал релиза
Release
Номер версии
1.2.8
Загрузчики
FoliaPaperPurpur
Версии игры
1.21.1–1.21.10
Загрузок
66
Дата публикации
2 мес. назад
