- This plugin visualizes your current WorldEdit selection with some fancy particles!
- You can customize the shown particle effect, their amount and enable an advanced grid (useful for bigger selections). To take a look at other options, look at the configuration section below! Covered are cuboid, spherical, ellipsoid, cylinder and 2D polygonal selections (see below for examples).
- One of the other features is the display of your copied selection (of //copy), which can be toggled with the WESUI command. You can also show a specific WorldGuard region by using the /wesui showregion command
... This plugin mimics the functionality of the popular WorldEditCUI client mod, but running as a serverside plugin, so that you/your users do not need to install any mods. The main difference I wanted to achieve compared to similar plugins is on simplicity, performance and memory impact by choosing a rather simplistic and direct approach to calculating vectors, but you can check these for yourself.
This plugin works with the following versions and forks of WorldEdit:
Available commands and their permissions are: \
/wesui showregion <region>-
wesui.maxselectionsize.bypass - bypass the selection size limit set in the config
Cuboid selection with advanced-grid enabled
2D poly selection
Found any bugs or want a new feature? Join my Discord guild.
# If enabled, the positions for particles will only be calculated once per selection and then cached. # This essentially entirely removes the higher CPU usage of the calculations, but results in some caching if many/big selections are being made. # # Disable this if you run into concurreny errors. cache-calculated-positions: true # A list of all particles can be found here: https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/Particle.html # Just note that newly introduced particles obviously won't work in older versions. # Shown for the selection you currently have. # # If you want to use a particle that requires extra data (REDSTONE, FALLING_DUST, BLOCK_DUST, BLOCK_CRACK, ITEM_CRACK), # you can read up on how to do that at the bottom of the plugin's Spigot page. # The same applies to per-particle view-distance, speed, and offsets. particle: FLAME # Shown for the clipboard (after using WorldEdit's //copy command). # Can be enabled with the '/wesui toggleclipboard' command. clipboard-particle: VILLAGER_HAPPY # Shown for the WG region view (when using '/wesui showregion <region>'). wg-region-particle: VILLAGER_HAPPY # How many particles should be displayed for every block of length. # The recommended amount is between 2 and 4. Can be set from 1 to 5. particles-per-block: 3 # This number determines how many ticks should be between every sending of particles. # Can be set from 5 to 200. # For reference: 20 Minecraft ticks are equivalent to 1 second -> 10 ticks are 0.5 seconds -> 1 tick is 0.05 seconds. particle-send-interval: 12 # Max ping a player can have before particles are no longer sent - this option only works on Paper servers. # Set this to -1 to disable. max-ping: 150 # Selecting giant areas may result in a high cpu usage or server lag. # This limits the maximum number of blocks that can be displayed (default is 10 million, ~250*150*250 blocks). # You could still go even higher if they can only be used by trusted people. max-selection-size-to-display: 10_000_000 # If set to true, players with the 'wesui.maxselectionsize.bypass' permission ignore the limit from above. enable-max-selection-bypass-perm: true advanced-grid: # If enabled, the selection will not only be displayed by the outline, # but also with a grid between the outlines (the bigger the selection, the bigger the grid). # Requires more or less 2 to 3 times the amount of calculations, but looks amazing! enabled: false # How many particles should be displayed for every block of length. # The recommended amount is between 2 and 3. Can be set from 2 to 5. particles-per-block: 2 advanced-clipboard-grid: # You can also enable the grid for the clipboard view. # Same as advanced-grid settings, but for the clipboard. enabled: false particles-per-block: 2 advanced-wg-region-grid: # You can also enable the grid for the WG region view by using the '/wesui showregion <region>' command. # Same as advanced-grid settings, but for the WorldGuard regions. enabled: false particles-per-block: 2 particle-expiry: # If enabled and a selection isn't changed for the given amount of seconds, particles will stop being sent for it enabled: false expires-after-seconds: 180 # If enabled, players are notified if their particles disappear after the expiry. expire-message: true # If set to 'none', every player will have their selection displayed. # Else, only players with the set permission will have particles for their selection. permission: "none" send-particles-to-all: # If enabled, the particles will be sent to all players, rather than just to the player having the WorldEdit selection. # Might be useful when building as a group. enabled: false # You can also limit those seeing the particles by a permission. Leave 'none' to let all players see them. # Warning: If you have a (bad) perm plugin that does not cache its checks / takes a while for permission checks, leave this at 'none'. view-others-particles-perm: "none" # If you want people to see different particles for another player's selections, you can set them here. others-particle: FLAME others-clipboard-particle: VILLAGER_HAPPY # If set to false, players will have to use '/wesui toggle' first to be able to see the particles. show-selection-by-default: true # If set to false, players will have to use '/wesui toggleclipboard' first to be able to see the particles. show-clipboard-by-default: false # Saves toggles to a file, so that they stay changed after player quits and server restarts. # This also includes the clipboard toggle. persistent-toggles: false # Changes the distance from which particles can be seen, can be set from 1 to 500 (if you for some reason want to see them 500 blocks away). # This does NOT affect server performance in any way. particle-viewdistance: 99 # Recommended to have this enabled, as you'd else miss out on new features and overall improvements. update-checks: true
... If you want to use particles that require extra data (REDSTONE, FALLING_DUST, BLOCK_DUST, BLOCK_CRACK, ITEM_CRACK) or want to set speed, part-particle view-distance, or offsets, you also need to put that extra data in the config (note that the REDSTONE particle is only changeable for 1.13+ servers).
All of the below are examples - the important bits are what follows the X-particle-data key!
Let's say you want to set the normal selection particle to REDSTONE and change radius and offset; Then your config should look similar to this:
[...] particle: REDSTONE particle-data: # RGB color data - numbers from 0 to 255 r: 0 # red g: 0 # green b: 0 # blue # Relative particle size size: 0.9 # Generic settings radius: 50 offX: 0.2 offY: 0.1 offZ: 1 [...]
You can also add the speed parameter to the -data section, being a decimal number from 0 to 1. [/SIZE]Note that some particles do not support setting their speed.
Now you want to set the clipboard particle to FALLING_DUST (works the same for BLOCK_DUST and BLOCK_CRACK):
[...] clipboard-particle: FALLING_DUST clipboard-particle-data: # Block material material: DIAMOND_BLOCK [...]
Finally, you want to set the others-particle field in send-particles-to-all to ITEM_CRACK:
[...] send-particles-to-all: others-particle: ITEM_CRACK others-particle-data: material: STICK [...]
IMPORTANT: If you are running a server on 1.12 or lower, you need to note the following when using either BLOCK_CRACK, BLOCK_DUST, or FALLING_DUST:
- after the material, you might also need the extra data/durability. E.g. brown wool is just YELLOW_WOOL in 1.13+, but in 1.12- it is WOOL with data 4, so you would write it as in the following example:
particle: FALLING_DUST particle-data: material: WOOL data: 4
You can obviously put any of the particles in any of the fields; I just used different ones to illustrate its structure.
|Published on||December 22, 2022|