
TrialChamberPro
Because Trial Chambers deserve better than being a "one and done" dungeon.
1.2K
14
Список изменений
1.2.4 - 2025-11-30
Fixed
- Tipped Arrow Duration Bug: Fixed tipped arrows showing "00:00" duration when looted from vaults
- Root cause: Minimum duration check only triggered when calculated duration was exactly 0
- If Paper API returned small duration values (1-99 ticks), integer division produced tiny but non-zero values that bypassed the minimum check
- Now uses
maxOf(calculatedDuration, minDuration)to always enforce minimum durations - Also fixed:
effect-duration: 0in config now correctly falls back to calculated duration instead of using 0
Added
- Full Folia Support: Complete rewrite of scheduler system for Folia compatibility
- New
SchedulerAdapterabstraction layer with Paper and Folia implementations - Automatic Folia detection at startup with appropriate scheduler selection
- Location-based scheduling (
runAtLocation) for block operations (snapshots, restoration, scanning) - Entity-based scheduling (
runAtEntity) for player operations (teleportation, inventory, messages) - Global region scheduling for non-location-specific tasks
- Added
folia-supported: trueto plugin.yml
- New
Changed
- 17 files updated to use the new scheduler abstraction:
- Core:
TrialChamberPro.kt,CoroutineExtensions.kt - Managers:
ResetManager.kt,ChamberManager.kt,SnapshotManager.kt,LootManager.kt,PasteConfirmationManager.kt - Listeners:
VaultInteractListener.kt,PlayerMovementListener.kt,UndoListener.kt - GUI:
MenuService.kt,LootTypeSelectView.kt,LootEditorView.kt - Utils:
BlockRestorer.kt,ParticleVisualizer.kt,UpdateChecker.kt
- Core:
- Player teleportation during chamber resets now uses entity-specific scheduling for thread safety
- Block restoration batches now schedule to the correct region thread per chunk
- Chamber scanning uses location-based scheduling for proper Bukkit API access
Technical Details
SchedulerAdapterinterface provides unified API for both platforms:runTask()/runTaskAsync()- Global/async tasksrunTaskLater()/runTaskLaterAsync()- Delayed tasks (now returnScheduledTaskfor cancellation)runTaskTimer()/runTaskTimerAsync()- Repeating tasksrunAtLocation()/runAtLocationLater()- Region-specific tasks (critical for Folia)runAtEntity()/runAtEntityLater()- Entity-specific tasks (critical for Folia)
- On Paper: All location/entity methods delegate to main thread
- On Folia: Uses
RegionScheduler,EntityScheduler,GlobalRegionScheduler, andAsyncScheduler
Файлы
TrialChamberPro-1.2.4.jar(11.99 MiB)
ОсновнойМетаданные
Канал релиза
Release
Номер версии
1.2.4
Загрузчики
FoliaPaperPurpur
Версии игры
1.21.1–1.21.10
Загрузок
9
Дата публикации
2 мес. назад
