This mod integrates Open Parties and Claims with BlueMap to display land claims on your web maps in real-time.
This fork includes significant enhancements over the original Fabric version:
- Event-driven syncing using OpenPaC's
IClaimsManagerListenerAPI - Immediate claim updates - no more waiting 10 minutes for changes to appear
- Live chunk change detection with
onChunkChange,onWholeRegionChange, andonDimensionChangeevents
- NeoForge 1.21.1 support (migrated from Fabric)
- Updated dependencies for latest Minecraft version
- Server-prefixed JAR naming for easy identification
- Ghost chunk elimination - fixed issue where unclaimed chunks remained visible on BlueMap
- Cache-first architecture - prevents stale data from OpenPaC API
- Memory leak prevention - eliminated OutOfMemoryError crashes
- Thread-safe operations using
ConcurrentHashMapand synchronized collections
- UUID-based marker identification for consistent tracking
- Incremental per-player updates instead of full map rebuilds
- Efficient chunk caching system
- Reduced update intervals (5-minute fallback vs 10-minute)
- Comprehensive logging system
- Cache consistency validation
- Event tracking for troubleshooting
// Real-time event listeners
@Override
public void onChunkChange(ServerLevel serverLevel, ChunkPos chunkPos, UUID playerId, boolean claimed) {
// Immediate cache and marker updates
}
@Override
public void onWholeRegionChange(ServerLevel serverLevel, UUID playerId, boolean claimed) {
// Handle mass claim changes efficiently
}// Trust local cache over potentially stale API data
Set<ChunkPos> cachedChunks = chunkToPlayerCache.entrySet()
.stream()
.filter(entry -> entry.getValue().equals(playerId))
.map(Map.Entry::getKey)
.collect(Collectors.toSet());
if (cachedChunks.isEmpty()) {
// Immediate marker removal - no API query needed
markers.keySet().removeIf(k -> k.startsWith(playerId + "---"));
return;
}- Install NeoForge for Minecraft 1.21.1
- Install Open Parties and Claims (v0.23.0+)
- Install BlueMap (v5.0.0+)
- Download and install this mod
The mod automatically configures with sensible defaults:
- Update interval: 5 minutes (fallback for missed events)
- Real-time events: Enabled by default
- Cache validation: Automatic consistency checks
This version specifically addresses:
- ✅ Ghost chunks remaining after unclaiming
- ✅ Memory crashes during claim operations
- ✅ Delayed updates taking up to 10 minutes
- ✅ API data inconsistency issues
- ✅ Thread safety concerns
Important: This fork includes significant architectural changes that may introduce instability:
- Event-driven architecture is experimental and may cause unexpected behavior
- Real-time updates put additional load on the server during heavy claim operations
- Memory usage may be higher than the original due to caching systems
- Edge cases in claim/unclaim operations may not be fully tested
Recommendations:
- Test thoroughly in a development environment before production use
- Monitor server performance and memory usage
- Keep backups of your world and BlueMap data
- Report any issues with detailed logs and reproduction steps
Consider using the original Fabric version if stability is more important than real-time updates.
./gradlew buildThe built JAR will be prefixed with server- for easy identification.
- Minecraft 1.21.1
- NeoForge 21.1.0+
- OpenPaC 0.23.0+
- BlueMap 5.0.0+
- Complete NeoForge migration
- Real-time event-driven updates
- Ghost chunk bug fixes
- Memory optimization
- Cache-first architecture
- Timer-based updates (10-minute intervals)
- Basic BlueMap integration
- Fabric platform support
This is a modernized fork with significant architectural improvements. Feel free to submit issues or pull requests for further enhancements.
MIT License - Same as original project