▶️ ЗАБЕРИ СВОИ 8 ПОДАРКОВ 🎁 ПРИ СОЗДАНИИ СВОЕГО МАЙНКРАФТ СЕРВЕРА
Плагины/WorldEditDisplay
WorldEditDisplay

WorldEditDisplay

A server-side plugin for Minecraft that adds visual selection rendering for WorldEdit.

198
1

WorldEditDisplay

Minecraft Version Java Version License

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

Visual Rendering

  • Uses Minecraft's Display Entity system
  • Customizable block materials for all visual elements
  • Adjustable line thickness and grid density
  • Grid overlay for easier size calculation

Multi-language Support

The interface is available in multiple languages with automatic client language detection:

  • Traditional Chinese (zh_tw)
  • English (en_us)

Player Settings

Players can customize their own rendering preferences:

  • Choose preferred block materials
  • Adjust line thickness within server limits
  • Control grid spacing and density
  • Changes apply immediately

Configuration System

  • Server-wide defaults in config.yml
  • Per-player overrides in player_config/*.yml
  • Hot reload without server restart

Requirements

  • Minecraft 1.20 ~ 1.21.x (Paper)
  • Java 21 or higher
  • Required plugins:

Installation

  1. Make sure WorldEdit and PacketEvents are installed on your server
  2. Download WorldEditDisplay.jar
  3. Place it in your server's plugins folder
  4. Restart the server
  5. Edit plugins/WorldEditDisplay/config.yml if needed
  6. Use /wedisplayreload to reload the configuration

Commands

Admin Commands

/wedisplayreload - Reload plugin configuration

  • Permission: worldeditdisplay.reload (default: op)

Player Commands

/wedisplay set <renderer> <setting> <value> - Configure personal rendering settings

  • Example: /wedisplay set cuboid line_material GOLD_BLOCK
  • Permission: worldeditdisplay.use.settings

/wedisplay reset <renderer> [setting] - Reset to server defaults

  • Example: /wedisplay reset cuboid (reset all settings)
  • Example: /wedisplay reset cuboid line_material (reset specific setting)

/wedisplay show [renderer] - Show current settings

  • Example: /wedisplay show (show all)
  • Example: /wedisplay show cuboid (show specific renderer)

/wedisplay toggle - Toggle rendering on/off

  • Quick command to enable or disable selection visualization
  • Works independently for each player

/wedisplay reloadplayer - Reload your personal configuration file

/wedisplay lang <language> - Set interface language

  • Example: /wedisplay lang en_us
  • Supported: zh_tw, en_us

Configuration

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:
    line_material: GOLD_BLOCK   # Material for edges
    line_thickness: 0.05        # Line thickness
    grid_spacing: 8             # Grid spacing
    # ... 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 image
  • polygon image
  • ellipsoid image
  • cylinder image
  • polyhedron image

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

Rendering Technology

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)

Performance

  • Only updates when selections change
  • Server admins can limit grid density and segment counts
  • Each player's settings are independent

Permissions

worldeditdisplay.use:              # Use visualization features (default: true)
worldeditdisplay.use.settings:     # Manage personal settings (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

This allows server admins to control which player groups have rendering enabled by default.

Usage

Basic Usage

  1. Use WorldEdit's //wand command to get the selection tool
  2. Left/right click blocks to define your selection
  3. The selection is automatically visualized (no extra steps needed)
  4. Use /wedisplay commands to customize the appearance

Customization Examples

# Change cuboid edges to diamond blocks
/wedisplay set cuboid line_material DIAMOND_BLOCK

# Make lines thicker
/wedisplay set cuboid line_thickness 0.08

# Change grid spacing
/wedisplay set cuboid grid_spacing 16

# 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-X.X.X.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

Related Projects


Made with ❤️ by TWME-TW

Совместимость

Minecraft: Java Edition

1.21.x1.20.x1.19.x

Платформы

Поддерживаемые окружения

Сервер

Создатели

Детали

Лицензия:Apache-2.0
Опубликован:2 месяца назад
Обновлён:1 день назад
Главная