WorldEditDisplay 2.2.0 - Selection Sharing, Multi-Platform Support & Performance Improvements
Summary
Major release introducing a Selection Sharing System that lets players share their WorldEdit selections with others in real-time, expanded multi-platform support (Paper, Folia, Spigot), a new RegionRenderer abstract base class for a more extensible rendering architecture, and numerous performance improvements with render caching and async operations.
New Features
Selection Sharing System
- Added /wedisplay share command to invite other players to view your selection
- Selections shared in real-time with persistent storage across sessions
- Each shared selection is assigned a unique color generated automatically
- Unused shared colors are released when sharing ends to optimize resources
- Permission-based access control: worldeditdisplay.share required to use share commands
- Share manager configuration is reloadable via /wedisplayreload
RegionRenderer Abstract Base Class
- Introduced RegionRenderer abstract base class for a unified and extensible rendering architecture
- Simplifies adding new region types and customizing render behavior
Multi-Platform Support
- Added official support for Folia (region-threaded scheduling)
- Added official support for Spigot (in addition to Paper)
- Task scheduling is now platform-aware and routes to the correct scheduler automatically
Region Bounding Box & Distance Utilities
- Added bounding box calculation methods to region objects
- Added distance calculation methods between regions and players for range-based optimizations
Improvements
Rendering Performance
- Introduced renderer-level caching to reduce redundant computation
- Name cache logic for shared renders is now correctly invalidated to avoid stale reads
- Clearing a sharer's render now properly releases associated resources
- Render brightness and label position adjustments for improved visual quality
Async Settings I/O
- Player settings are now saved asynchronously to prevent main-thread blocking
- Config saves are deferred to a scheduled task to avoid repeated disk writes during rapid state changes
Thread Safety
- Share request timeout is now stored in a thread-safe mutable field
- Player multi-region map is now returned as an unmodifiable view to protect data integrity
Bug Fixes
- fix(render): Corrected shared render name-cache invalidation logic to prevent unnecessary re-reads
- fix(player): Returned unmodifiable multi-region map to protect internal data from external mutation
- fix(share): Made share request timeout mutable for proper thread-safe handling
- fix(render): Adjusted brightness calculation and label position for better display results
Technical & CI Updates
- Updated GitHub Actions workflow file versions for improved stability
- Added adventure-api exclusion filter to the Spigot Maven profile to prevent class conflicts
- Removed SHARE-DESIGN.md design document (merged into implementation)
System Requirements
Component
Requirement
Minecraft 1.20 ~ 1.21.x
Java 21+
Platform Paper / Folia / Spigot
PacketEvents 2.11.1+
WorldEdit Latest stable / FAWE
Configuration Notes
- No breaking configuration changes from 2.1.x.
- A new share section will be generated in config.yml on first launch.
- Run /wedisplayreload after upgrading to apply any new defaults.
Download
Available on
GitHub Actions and
Modrinth.
Support
For issues, feature requests, or questions, please open an issue on our
GitHub repository.
Full Changelog:
2.1.2...2.2.0