WorldEditDisplay-Paper
SpigotMCA server-side plugin for Minecraft that adds visual selection rendering for WorldEdit.
WorldEditDisplay
A server-side WorldEdit selection visualization plugin
About
WorldEditDisplay is a server-side plugin for Minecraft that adds visual selection rendering for WorldEdit. It intercepts WorldEdit's CUI (Client User Interface) protocol packets and renders selections using Display Entities on the server side. This means players can see their WorldEdit selections without installing any client-side mods.
Features
Selection Types
- Cuboid - Box selections with edge lines and grid display
- Polygon - 2D polygon boundaries with vertical columns
- Ellipsoid - Smooth elliptical selections
- Cylinder - Circular selections with adjustable height
- Polyhedron - Complex 3D polyhedral structures
- Uses Minecraft's Display Entity (TextDisplay) system
- Customizable hex colors (#RRGGBBAA) for all visual elements
- Adjustable line thickness and grid density
- Translucent face filling for Cuboid, Polygon, and Polyhedron regions
- Grid overlay for easier size calculation
The interface is available in multiple languages with automatic client language detection:
- Traditional Chinese (zh_tw)
- English (en_us)
Players can customize their own rendering preferences:
- Choose preferred hex colors for elements
- Enable or disable face filling
- Adjust line thickness within server limits
- Control grid spacing and density
- Changes apply immediately
- Share your WorldEdit selection with other players in real-time
- Invite, accept, revoke, and unwatch shares via /wedisplay share
- Each shared selection is displayed in a unique auto-generated color
- Share relationships persist across server restarts
- Toggle monitoring of all online players' selections via /wedisplay view
- Hide specific players from your view, toggle name labels, and list monitored players
- Server-wide defaults in config.yml
- Per-player overrides in player_config/*.yml
- Hot reload without server restart
- Minecraft 1.20 ~ 1.21.x (Paper / Folia / Spigot)
- Java 21 or higher
- Required plugins:
- PacketEvents 2.11.1+
- Make sure WorldEdit and PacketEvents are installed on your server
- Download WorldEditDisplay.jar
- Place it in your server's plugins folder
- Restart the server
- Edit plugins/WorldEditDisplay/config.yml if needed
- Use /wedisplayreload to reload the configuration
Admin Commands
/wedisplayreload - Reload plugin configuration
- Permission: worldeditdisplay.reload (default: op)
/wedisplay set <renderer> <setting> <value> - Configure personal rendering settings
- Example: /wedisplay set cuboid edge_color #FFD700FF
- Permission: worldeditdisplay.use.settings
- Example: /wedisplay reset cuboid (reset all settings)
- Example: /wedisplay reset cuboid edge_color (reset specific setting)
- Example: /wedisplay show (show all)
- Example: /wedisplay show cuboid (show specific renderer)
- Quick command to enable or disable selection visualization
- Works independently for each player
/wedisplay lang <language> - Set interface language
- Example: /wedisplay lang en_us
- Supported: zh_tw, en_us
- Permission: worldeditdisplay.use.share.invite
- Permission: worldeditdisplay.use.share.accept
- Permission: worldeditdisplay.use.share.revoke
- Permission: worldeditdisplay.use.share.unwatch
- Permission: worldeditdisplay.use.share.list
/wedisplay view - Toggle view-all mode (see all online players' selections)
- Permission: worldeditdisplay.use.view
- Permission: worldeditdisplay.use.view.hide
- Permission: worldeditdisplay.use.view.hide
- Permission: worldeditdisplay.use.view.hide
- Permission: worldeditdisplay.use.view.label
- Permission: worldeditdisplay.use.view.list
The main configuration file is config.yml:
language:
default: "en-us" # Default language
auto_detect: true # Auto-detect player's client language
allow_player_change: true # Allow players to change language manually
renderer:
cuboid:
edge_color: "#FFD700FF" # Color for edges in #RRGGBBAA
edge_thickness: 0.05 # Line thickness
grid_spacing: 8 # Grid spacing
fill_enabled: true # Enable face filling
fill_color: "#FF000040" # Face fill color
# ... more settings
player_limits:
thickness:
min: 0.01 # Minimum thickness
max: 0.5 # Maximum thickness players can set
# ... more limits
Each renderer type has its own configuration section:
- cuboid
- **polygon**
- **ellipsoid**
- **cylinder**
- **polyhedron**
How It Works
Core Components
- Packet listener intercepts WorldEdit CUI protocol messages
- Render engine creates Display Entities to visualize selections
- Configuration manager handles server-wide and per-player settings
- Language manager provides multi-language support
The plugin uses Minecraft's Display Entity system:
- Display entities render the visual elements
- More efficient than particle effects
- Works with vanilla clients (no mods required)
- Only updates when selections change
- Server admins can limit grid density and segment counts
- Each player's settings are independent
worldeditdisplay.use: # Use visualization features (default: true)
worldeditdisplay.use.settings: # Manage personal rendering settings (default: true)
worldeditdisplay.use.share: # General share feature toggle (default: true)
worldeditdisplay.use.share.invite: # Send share invitations (default: true)
worldeditdisplay.use.share.accept: # Accept share invitations (default: true)
worldeditdisplay.use.share.revoke: # Revoke granted shares (default: true)
worldeditdisplay.use.share.unwatch: # Stop watching a shared selection (default: true)
worldeditdisplay.use.share.list: # List share relationships (default: true)
worldeditdisplay.use.view: # Toggle view-all mode (default: op)
worldeditdisplay.use.view.defaultenable: # Auto-enable view-all on join (default: op)
worldeditdisplay.use.view.hide: # Hide players from view-all (default: op)
worldeditdisplay.use.view.list: # List view-all monitoring status (default: true)
worldeditdisplay.use.view.label: # Toggle name label display (default: true)
worldeditdisplay.use.view.label.defaultenable: # Auto-enable labels on join (default: true)
worldeditdisplay.reload: # Reload configuration (default: op)
worldeditdisplay.render.auto-enable: # Automatically enable rendering on join (default: true)
About Auto-Enable Permission
The worldeditdisplay.render.auto-enable permission controls whether rendering is automatically enabled when a player joins the server:
- With permission: Rendering is enabled by default when logging in
- Without permission: Players must manually use /wedisplay toggle to enable rendering
Usage
Basic Usage
- Use WorldEdit's //wand command to get the selection tool
- Left/right click blocks to define your selection
- The selection is automatically visualized (no extra steps needed)
- Use /wedisplay commands to customize the appearance
# Change cuboid edges to solid diamond blue
/wedisplay set cuboid edge_color #55FF55FF
# Make lines thicker
/wedisplay set cuboid edge_thickness 0.08
# Change grid spacing
/wedisplay set cuboid height_grid_division 2
# Enable face filling with half-transparent red
/wedisplay set cuboid fill_enabled true
/wedisplay set cuboid fill_color #FF000080
# Toggle rendering on/off
/wedisplay toggle
# Reset all settings
/wedisplay reset cuboid
Building
To build the plugin from source:
mvn clean package
The compiled jar will be in target/WorldEditDisplay-version-platform.jar
Project Structure
src/main/java/dev/twme/worldeditdisplay/
├── event/ # CUI event system
├── display/ # Render engine
│ └── renderer/ # Renderer implementations
├── config/ # Configuration management
├── lang/ # Language system
├── command/ # Command handlers
├── listener/ # Packet listeners
└── player/ # Player data management
Contributing
Issues and pull requests are welcome.
License
See LICENSE file for details.
Credits
- TWME-TW - Developer
- WorldEdit - The core editing tool
- WorldEditCUI - Client-side CUI mod (protocol reference)
- PacketEvents - Packet handling library
- TextDisplayShapes - Shape rendering library used by the plugin
Versions
FAQ
How do I install WorldEditDisplay-Paper?
Download the file for your Minecraft version and loader from this page, then drop the .jar into your mods (or plugins) folder and launch the game.
Is WorldEditDisplay-Paper free?
WorldEditDisplay-Paper is free to download on Modgrid — we link straight to the official source, no paywall or bundled installer.
Which Minecraft versions does WorldEditDisplay-Paper support?
See the download section on this page for the full list of supported versions and loaders.
Comments 0
No comments yet. Be the first to share your thoughts.