Список изменений
Added
- Optimized World Storage Scanner: Complete rewrite with intelligent chunk caching and dirty tracking.
- Chunk-level caching with configurable expiry (default: 600 seconds).
- Event-driven dirty tracking — only re-scans chunks where containers were modified.
- Disk persistence for cache data across server restarts.
- Empty inventory skip optimization for faster scanning.
- Material set-based O(1) container type filtering.
Fixed
- GUI Click Handling (MC 1.21+): Fixed critical bug where market GUI items could be taken and clicks weren't registering on Minecraft 1.21+ servers.
- Root cause: MC 1.21 changed
InventoryViewfrom a class to an interface, breaking reflection-based title extraction. - Solution: Implemented UUID-based GUI state tracking with
GuiTypeenum instead of unreliable title matching. - All GUI types (Market, Details, Deliveries, Holdings) now properly track player state.
- Root cause: MC 1.21 changed
Configuration
New cache settings under price-world-storage:
price-world-storage:
cache:
enabled: true
chunk-expiry-seconds: 600
full-refresh-cycles: 5
persist-to-disk: true
Technical
GuiTypeenum:MARKET,DETAILS,DELIVERIES,HOLDINGS,NONEopenGuis: MutableMap<UUID, GuiType>tracks which GUI each player has openChunkScanCachedata class for per-chunk scan results- Event listeners for
InventoryCloseEvent,BlockPlaceEvent,BlockBreakEvent,ChunkUnloadEvent - Cache file:
plugins/TheEndex/scanner-cache.json
Performance
- Reduced redundant container scanning by 80-90% on stable servers
- Chunk caching eliminates repeated full scans of unchanged areas
- Dirty tracking ensures only modified chunks are re-scanned
- Memory-efficient with automatic cache cleanup on chunk unload
Файлы
TheEndex-1.5.2.jar(2.04 MiB)
ОсновнойМетаданные
Канал релиза
Release
Номер версии
1.5.2
Загрузчики
PaperPurpurSpigot
Версии игры
1.21–1.21.11
Загрузок
4
Дата публикации
3 мес. назад

