Tags
Creators
Details
2.3.0
Compatibility
Required content
Changes
WorldEditDisplay 2.3.0 - Particle Fallback Renderer, Floodgate Support & Cross-Version Compatibility
Summary
This release introduces a Particle Fallback Renderer that allows clients below Minecraft 1.19.4 (which lack TextDisplay entity support) to visualize WorldEdit selections via particle effects, Floodgate integration to detect Bedrock players and suppress incompatible CUI messages, bStats metrics collection with display method distribution tracking, automatic re-rendering on world change, and several compatibility fixes.
New Features
Particle Fallback Renderer
- Added a full particle-based rendering system for clients without TextDisplay support (Minecraft < 1.19.4)
- ViaVersion API integration to automatically detect client protocol version and select the appropriate renderer
- Dedicated particle renderers for all region types:
ParticleCuboidRenderer,ParticleCylinderRenderer,ParticleEllipsoidRenderer,ParticlePolygonRenderer,ParticlePolyhedronRenderer - Point cache optimization: region geometry is only re-computed when the selection changes; repeated ticks only send pre-computed particle packets
- Players can manually switch between render modes via
/wedisplay render [auto|text|particle|toggle] - Permission node:
worldeditdisplay.use.renderto allow switching render modes
Floodgate Support
- Added Floodgate integration to detect Bedrock players on Geyser servers
- CUI messages are automatically suppressed for Bedrock clients to prevent client-side issues
- Soft-dependency on Floodgate (optional; no impact if Floodgate is not installed)
bStats Integration
- Added bStats metrics for anonymous usage statistics
- Display method distribution chart to track TextDisplay vs Particle fallback usage across online players
- Helps guide future development priorities
World Change Handling
- Added
PlayerChangedWorldListenerto automatically clear stale renders and re-render selections when a player changes worlds - Eliminates ghost renders left behind in the previous world
Improvements
- Auto-merge new config keys on startup/reload: When upgrading from a previous version, any new configuration options added to
config.ymlin the plugin JAR are now automatically merged into the existing config file on disk. Existing user values are never overwritten — only genuinely missing keys are added. This eliminates the need to manually edit config.yml after updates. (/wedisplayreloadalso performs this merge.) - Updated plugin documentation with new image links
- Improved
.gitignoreto exclude IDE configuration files - Enhanced share label position calculation accuracy (see bug fixes)
- Optimized Spigot adventure shading configuration with clearer documentation
Bug Fixes
- fix(render): Corrected shared label position calculation logic for proper visual alignment
- fix(spigot): Downgraded adventure dependencies to 4.17.0 for PacketEvents compatibility on Spigot
Technical & Dependency Updates
- Updated
adventure-apifrom 4.17.0 to 5.1.1 - Updated
adventure-keyfrom 4.17.0 to 5.1.1 - Updated
adventure-text-minimessageto latest - Updated
adventure-text-serializer-legacyto latest - Updated
adventure-text-serializer-bungeecordto latest - Added
viaversion-apidependency for protocol version detection - Added
floodgate-apidependency for Bedrock player detection - Added
bstats-basedependency for metrics collection - Added OpenCollab and ViaVersion repository sources
System Requirements
| Minecraft | 1.20 ~ 1.21.x |
| Java | 21+ |
| Platform | Paper / Folia / Spigot |
| PacketEvents | 2.11.1+ |
| WorldEdit | Latest stable / FAWE |
| ViaVersion | Optional (required for particle fallback auto-detection) |
| Floodgate | Optional (required for Bedrock player detection) |
Configuration Notes
- No breaking configuration changes from 2.2.x.
- New config keys (such as
particle_fallback.*) are automatically merged into your existingconfig.ymlon first startup after upgrading — no manual edits required. - New permission
worldeditdisplay.use.renderis available to control access to/wedisplay render. - Run
/wedisplayreloadafter upgrading to ensure all new settings are applied.
Support
For issues, feature requests, or questions, please open an issue on our GitHub repository.
Full Changelog: 2.2.0...2.3.0
Optional dependencies
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:eVvfozdY:wjfzw5ZV"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:eVvfozdY:wjfzw5ZV"
}

