Compatibility
Minecraft: Java Edition
1.21.x
1.20.x
1.19.x
1.18.x
Platforms
Creators
Details
Changelog
Migrated primary API from Paper to Spigot for broader compatibility. The plugin remains fully compatible with Paper, Purpur and Folia through runtime detection and conditional code paths.
Build system:
- Replaced ktor fatJar with Shadow plugin (with HikariCP relocation)
- Replaced local JARs (PlaceholderAPI, Dynmap) with Maven dependencies
- Centralized all dependency versions in libs.versions.toml
- Updated CI workflow to gradle/actions/setup-gradle@v4
- Cleaned up unused plugins (application, paperweight)
- Updated Shadow plugin to 8.3.5 for Java 22 support
Bug fixes (GitHub issues):
- #90: Fixed BlueMap/Dynmap/Pl3xMap claims disappearing after reload/restart
- #86: Fixed NPE on /claim setname (null claim check)
- #85: Fixed Pl3xMap setLiveUpdate NoSuchMethodError (wrapped in try/catch)
- #77: Fixed elytra/piston bypass of enter protection (cancel event + disable gliding)
- #75: Fixed Folia PlayerPostRespawnEvent crash (use player scheduler directly)
- #74: Fixed HikariCP classpath conflict with LibertyBans (shadow relocation)
- #73: Added configurable opacity for Pl3xMap/Dynmap/BlueMap claim layers
- #67: Fixed wrong error message for unknown commands (show help instead)
- #58: Fixed mob spawning not blocked for Ghast, MagmaCube, Hoglin, etc.
- #57: Fixed wrong error message for ProtectedArea invalid characters
- #55: Fixed fly persisting after teleportation out of claim
- #48: Fixed player head names missing for Bedrock players (profile name fix)
- #47: Fixed MySQL TEXT column DEFAULT error
- #79: Added %description% placeholder to enter/leave messages
Performance & thread safety:
- Replaced all HashMap fields with ConcurrentHashMap where shared across threads
- Replaced 5 blocking .join() calls in event handlers with sync method
- Replaced 40+ stream().forEach() with direct forEach()
- Replaced parallelStream() on small collections with forEach()
- Fixed race condition in clearDataForPlayer (atomic remove pattern)
- Fixed resource leaks (HTTP connections, PreparedStatements)
- Added null checks on critical paths (CPlayer, Claim, API)
- Cached defaultValues lookups in claim loading loops
- Replaced Bukkit.getOfflinePlayer(name) with cached UUID lookups
API:
- Expanded SimpleClaimSystemAPI with 18 new methods
- Added async variants (CompletableFuture) for all blocking operations
- Added query methods: getPlayerClaimsCount, isClaimMember, isClaimBanned, etc.
- Added claim info methods: getClaimOwnerAt, getClaimNameAt, getAllChunksFromOwner
- Added validation methods: isAreaClaimFree, areChunksConnected, checkClaimPermission
Code quality:
- Added contextual logging to all catch blocks (no more bare printStackTrace)
- Removed all decorative comment blocks across 71 files
- Fixed incorrect javadocs (wrong param names, missing annotations)
- Updated .gitignore with IDE and OS file patterns
- Cleaned up Dockerfile (proper Adoptium URL, Ubuntu 24.04, temp cleanup)
- Modernized console startup banner with dynamic padding
- Updated LICENSE to standard MIT format
Config:
- Added dynmap-settings.claim-opacity (0.0-1.0)
- Added bluemap-settings.claim-opacity (hex alpha 00-FF)
- Added pl3xmap-settings.claim-opacity (0-255)
- Fixed explicit commit on claim insertion for DB safety
Files
Metadata
Release channel
ReleaseVersion number
1.13Loaders
Game versions
1.18–1.21.11Downloads
15Publication date
March 30, 2026 at 12:31 AMPublisher

Xyness
Member


