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
WorldEditDisplay 2.1.2
by TWMEon Apr 21, 2026
WorldEditDisplay v2.1.2 Release Notes
Summary
Patch release fixing polygon regions not rendering when the selection has a flat vertical range (minY equals maxY).
Changelog
- fix(region): Polygon region not displayed when minY == maxY
- Fixed a bug where PolygonRegion.isDefined() used a strict maxY > minY check, which prevented rendering whenever the polygon's vertical range was flat (e.g. a single-block-height selection or when the first mm event arrives with equal min/max values).
- Changed the condition to maxY >= minY so polygon regions are rendered correctly in all cases.
Notes
Full Changelog: https://github.com/TWME-TW/WorldEditDisplay/compare/2.1.1...2.1.2
- No public API changes.
- Fully backward-compatible. No configuration changes required.
WorldEditDisplay 2.1.1
by TWMEon Apr 20, 2026
WorldEditDisplay v2.1.1 Release Notes
Summary
Release adding per-shape see-through settings, a rendering rebase task, and fixing a rendering issue with polyhedron selections.
Note: This release is not fully backward-compatible for configuration. renderer.global.see_through has been removed. Please update your config.yml before upgrading.Changelog
- fix(renderer): Polyhedron vertex visibility
- Fixed a bug where polyhedron vertex markers were not displayed when only vertex (p) events had been received and faces (poly) had not yet been reported by WorldEdit. Vertex markers are now rendered immediately as vertex events arrive.
- change(renderer): Per-shape see_through configuration
- Removed the global renderer.global.see_through setting.
- Added individual see_through settings for each shape type (cuboid, cylinder, ellipsoid, polygon, polyhedron).
- Existing configurations using renderer.global.see_through must be updated to the new per-shape format.
- feat(renderer): Rendering rebase task
- Added a periodic rebase task to keep TextDisplay entities within view range as players move.
- perf(renderer): Reduce ellipsoid grid line count
- Changed calculateGridStep formula from radius / N to ceil(2 * radius / N).
- radius_grid_division now controls the approximate number of grid lines per axis plane rather than being a divisor of the radius.
- For mid-sized ellipsoids (e.g. radius 10), grid lines per plane drop from ~20 to ~5, reducing total line entity count by up to 75%.
- chore(deps): Bumped TextDisplayShape dependency to 1.3.0.
Notes
Full Changelog: https://github.com/TWME-TW/WorldEditDisplay/compare/2.1.0...2.1.1
- No public API changes.
- Configuration is not fully backward-compatible: renderer.global.see_through has been replaced with per-shape settings.
WorldEditDisplay 2.1.0
by TWMEon Mar 17, 2026
New Features
- Cylinder & Ellipsoid Fill Options - New fill color and customization settings for Cylinder and Ellipsoid selection types
- Enhanced Player Settings - Extended player preference system with renderer-specific settings for Cylinder and Ellipsoid rendering
- Improved Settings Management - New PlayerRenderSettings class for more granular control over individual selection type rendering preferences
Improvements
- Optimized Segment Configuration - Refined minimum and maximum segment count adjustments for Cylinder and Ellipsoid renderers for better visual fidelity
- Enhanced Grid Thickness Control - Improved grid thickness adjustments for circular and elliptical selections
- Default Rendering Behavior - Polygon face fill rendering now disabled by default for cleaner initial visualization (users can enable per preference)
- Language File Restructuring - Reorganized language files for Cuboid, Cylinder, Ellipsoid, Polygon, and Polyhedron settings for better localization management
- Settings Command Enhancement - Improved PlayerSettingsCommand to support new Cylinder and Ellipsoid customization options
Several configuration options have been added to config.yml for Cylinder and Ellipsoid rendering. The new format maintains backward compatibility while introducing:
Configuration Updates
- Fill options for Cylinder selections
- Fill color settings for Ellipsoid selections
- Adjustable segment count parameters for both shapes
Bug Fixes
- Fixed rendering issues with Cylinder and Ellipsoid grid display
- Improved stability for polygon fill rendering by disabling by default
- Enhanced pull request detection reliability
System Requirements
- Java: 21
- Minecraft: 1.21.x
- WorldEdit: Latest stable version
Support
For issues, feature requests, or questions, please open an issue on our GitHub repository.
Full Changelog: https://github.com/TWME-TW/WorldEditDisplay/compare/2.0.0...2.1.0
WorldEditDisplay 2.0.0
by TWMEon Mar 17, 2026
We're thrilled to announce WorldEditDisplay 2.0.0, a major release featuring a complete redesign of the rendering system with extensive improvements to visual customization and performance optimization.
WorldEditDisplay 2.0.0 - Redesigned Rendering with Customizable Colors & Enhanced Performance
New Features
- Migrated to TextDisplayShapes Framework - Completely redesigned rendering system for more reliable and customizable display entity rendering
- Customizable Colors - Support for custom hex colors (#RRGGBBAA) for all visual elements across all selection types
- Region Face Filling - Enable visual face filling for Cuboid, Polygon, and Polyhedron selections to better visualize 3D regions
- Dirty Region Optimization - Intelligent dirty region tracking to improve rendering performance and reduce unnecessary updates
- Enhanced Renderer Management - Improved architecture for managing multiple renderer instances with better resource allocation
- Single Region Rendering - New capability to render or clear individual regions without affecting others
- CUI Color Override Support - Uses WorldEdit's CUI (Client User Interface) colors to enhance fill surface rendering
- Debug Mode Enhancement - Added detailed WECUI message display in debug mode for easier troubleshooting
Improvements
- Overall rendering architecture redesign for better performance and maintainability
- Enhanced fill color processing for more accurate visual representation
- Better multi-renderer management system
- Improved region clearing and rendering efficiency
- More robust packet handling and event listeners
Technical Updates
- Java Requirement: Updated to Java 21
- Dependencies: Updated to latest stable versions
- Framework: Migrated to TextDisplayShapes library for enhanced display entity rendering
Breaking Changes
- Requires Java 21 (previously Java 17)
- Rendering system has been completely redesigned - configurations may need adjustment for optimal appearance
You MUST regenerate your config.yml file before upgrading to 2.0.0
Important Configuration Update
Due to significant architectural changes in the rendering system, the configuration format has changed substantially.
Action Required:
Attempting to use the old configuration format may cause unexpected behavior or errors.
- Backup your current config.yml file
- Delete the old config.yml on your server
- Start the plugin - it will generate a new config.yml with the updated format
- Re-apply any custom settings from your backup to the new configuration file
This release includes multiple fixes to ensure stability and better compatibility with the latest Minecraft versions.
Stability
Support
For issues, feature requests, or questions, please open an issue on our GitHub repository.
What's Changed
- chore(deps): bump com.github.retrooper
acketevents-spigot from 2.10.1 to 2.11.1 by @dependabot[bot] in #12
- Cleaned up and optimized code and comments by @MissingReports in #14
New Contributors
Full Changelog: 1.0.3...1.0.5
- @MissingReports made their first contribution in #14
WorldEditDisplay 1.0.3 Release Notes
Bug Fixes
Axiom Compatibility Fix
- Fixed crash caused by large plugin messages from mods like Axiom
- Added error handling for PacketEvents wrapper initialization (#1133)
- Improved packet listener stability
Improvements
Dependency Updates
- PacketEvents upgraded to 2.10.1 (from 2.10.0)
- Paper API upgraded to 1.21.10-R0.1-SNAPSHOT
- Enhanced compatibility and performance
Code Improvements
- Removed unnecessary type casting in player packet handling
- Updated dependency groupId for better compatibility
Compatibility
- Minecraft: 1.20 ~ 1.21.x (Paper)
- Java: 21+
- PacketEvents: 2.10.1+
Download
WorldEditDisplay-1.0.3.jar
Installation
- Install PacketEvents (2.10.1+) and WorldEdit(or FAWE)
- Place jar in plugins folder
- Restart server
- Run /wedisplayreload to reload config
Requirements
- Minecraft: 1.20 ~ 1.21.x (Paper)
- Java: 21+
- PacketEvents: 2.10.1+
What's Changed
Full Changelog: 1.0.2...1.0.3
- PacketEvents upgraded from 2.10.0 to 2.10.1 by @dependabot[bot] in #7
- Fixed Axiom compatibility issue by @TWME-TW in #9
- Updated Paper API to 1.21.10-R0.1-SNAPSHOT by @TWME-TW
WorldEditDisplay 1.0.2 Release Notes
New Features
Enhanced UI with Clickable Text
- Improved renderer settings display and editing interface
- More intuitive player interaction with visual components
Multi-language Support
- Improved Chinese translations (Simplified & Traditional)
- Better localization for all messages
Improvements
Dependency Updates
- PacketEvents upgraded to 2.10.0
- Enhanced compatibility and performance
Compatibility
- Official support for Minecraft 1.20 ~ 1.21.x
- Verified Paper API 1.21.8 compatibility
CI/CD
- Added GitHub Actions automated build workflow
Technical Changes
- Maven Shade Plugin: 3.6.1
- Maven Compiler Plugin: 3.14.1
- Java: 21+
Download
WorldEditDisplay-1.0.2.jar
Installation
- Install PacketEvents (2.9.5+) and WorldEdit
- Place jar in plugins folder
- Restart server
- Run /wedisplayreload to reload config
Requirements
- Minecraft: 1.20 ~ 1.21.x (Paper)
- Java: 21+
- PacketEvents: 2.10.0+
What's Changed
- Add GitHub Actions build workflow by @TWME-TW in #4
- PacketEvents upgraded from 2.9.5 to 2.10.0 by @dependabot[bot] in #1
- Chinese translations improved (Simplified & Traditional) by @GTedd in #5
- Enhanced renderer settings UI by @TWME-TW in #8
New Contributors
Full Changelog: Compare 1.0.1...1.0.2
WorldEditDisplay 1.0.1 Release Notes
New Features
Render Toggle
- Added /wedisplay toggle command for players to quickly enable or disable selection visualization
- Introduced worldeditdisplay.render.auto-enable permission, allowing server administrators to control whether rendering is automatically enabled when players join
- Provides more flexible user experience and management options
Bug Fixes
Plugin Configuration Fixes
- Fixed api-version configuration
- Removed unnecessary dependencies
- Updated Minecraft requirement to Paper only
Documentation Updates
Dependency Updates
- Maven Shade Plugin updated to 3.6.1
- Maven Compiler Plugin updated to 3.14.1
- Added Dependabot automatic dependency update configuration
Download
Download WorldEditDisplay-1.0.1.jar and place it in your server's plugins folder
Installation Instructions
- Ensure PacketEvents are installed on your server
- Place the jar file in the plugins folder
- Restart the server
- Use /wedisplayreload to reload the configuration
Compatibility
- Minecraft: 1.20 ~ 1.21.x
- Java: 21+
- Dependencies: PacketEvents 2.9.5+
