Список изменений
Changelog
[1.0.17] - 2026-08-02
Performance
- Spatial index for
getRegionAt()andcheckCollision()— O(1) amortized lookups instead of O(n) linear scan - Optimized
loadAllRegionsSync()— 3 queries with batch loading instead of 2N+1 individual queries - Fixed race condition on
idMap— changed fromHashMaptoConcurrentHashMap - SQLite
PRAGMA foreign_keysmoved to HikariCPconnectionInitSql— no longer executes on everygetConnection()
Architecture
- Extracted
SchemaManagerclass — eliminates ~200 lines of duplicated table creation logic between MySQL and SQLite - Consolidated
sendAccessDenied/sendAccessDeniedCooldowninto single method inProtectionListener - Unified
saveMemberSync/saveMemberAsynclogic into sharedexecuteSaveMemberinProtectionDao - Added Builder pattern to
ProtectionRegion(existing constructors preserved for compatibility)
Changed
ProtectionManagernow usesMessageUtils.parse()singleton instead of inlineMiniMessage.miniMessage().deserialize()getAdjacentRegions()andmergeRegions()now use spatial index instead of scanning all world regions- Removed
@Deprecated isAllowed()method fromProtectionRegion - Removed
@SuppressWarnings("unused")fromAdminProtectionCommand - Removed redundant null checks in
ProtectionListenerevent handlers - Hardcoded Spanish fallback strings replaced with English in
AdminProtectionCommand
Fixed
- Fixed SQLite syntax error with
AUTOINCREMENTkeyword order inSchemaManager
Файлы
AmplProtections-1.0.17.jar(1.63 MiB)
ОсновнойМетаданные
Канал релиза
Release
Номер версии
1.0.17
Загрузчики
PaperPurpurSpigot
Версии игры
1.21–26.2
Загрузок
5
Дата публикации
03.08.2026

