Giter Club home page Giter Club logo

worldeditselectionvisualizer's Introduction

WorldEditSelectionVisualizer

Java CI Discord

WorldEditSelectionVisualizer (WESV) is essentially the famous WorldEditCUI mod in the form of a Bukkit plugin, which means that players don't need to install anything on their client.

Features

  • Spawns particles around WorldEdit selections so players can see them
  • No client mod required
  • Supports cuboid, sphere, ellipsoid, cylinder, polygon and convex selections
  • Can display the current clipboard
  • Use /wesv toggle to toggle the visualizer
  • Option to only show the selection when holding the selection item
  • Configurable particle effect and view distance
  • Prevent players from spawning too many particles when selecting huge regions
  • Highly customizable for the performance of your server
  • Supports both WorldEdit and FastAsyncWorldEdit
  • Compatible with all Minecraft versions starting with 1.7.10
  • PlaceholderAPI support (you can use the placeholders %wesv_toggled_selection%, %wesv_toggled_clipboard%, %wesv_volume_selection% and %wesv_volume_clipboard%)

Downloads

You can download releases and find more information on SpigotMC.

Commands

  • /wesv toggle and /wesv toggle clipboard: toggle the selection/clipboard visualization
  • /wesv lock: lock/unlock the origin of the clipboard visualization to your current location
  • /wesv lock tp: teleport to the lock location (when clipboard visualization lock is enabled)
  • /wesv reload: reload the plugin config

Screenshots

Cuboid selection Cylinder selection Convex selection
Cuboid selection Cylinder selection Convex selection

More screenshots

Credits

WorldEditSelectionVisualizer was originally made by Rojetto, and then was updated and maintained by martinambrus.

YourKit

YourKit

YourKit supports open source projects with innovative and intelligent tools for monitoring and profiling Java and .NET applications. YourKit is the creator of YourKit Java Profiler, YourKit .NET Profiler, and YourKit YouMonitor.

worldeditselectionvisualizer's People

Contributors

crosf32 avatar ferrybig avatar firestone82 avatar iriberri avatar martinambrus avatar mrmicky-fr avatar rezzedup avatar skbeh avatar waffle-iron avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

worldeditselectionvisualizer's Issues

Partials still show when removing wand without changing slot

If I have the world edit wand in my selected hotbar slot and create a selection it shows the partials. If I then clear my inventory either with commands, creative inventory or another plugin the partials stay visible. This is fixed when giving myself the world edit wand and changing the slot on and off it.

Visualize selection points

This is a feature request to add the ability to represent the selection points, such as by replacing the blocks at the points.

The purpose of this is to make it easier to move one (or both) of the points if you don't remember where it was placed. For example if you've got a cuboid, and you don't know which corner has point 1, you just have to set point 1 and see what happens. This is even more problematic when you're restoring a selection (such as from clipboard, or a WorldGuard region), as then it's even more difficult to remember which corner is which.

It would be nice if this functionality were also available without a complete selection defined. Meaning if you select point 1, but there is no point 2 yet. But I wouldn't consider it an absolute requirement.

Sentry Integration

Instead of showing all the big bad stack traces to users, use Sentry to log them and react to them before users can even report those :)

server crash (drawing line)

I am using FastAsyncWorldedit for my worldedit plugin

[20:52:32 ERROR]: ------------------------------
[20:52:32 ERROR]: Current Thread: Server thread
[20:52:32 ERROR]:       PID: 33 | Suspended: false | Native: false | State: RUNNABLE
[20:52:32 ERROR]:       Stack:
[20:52:32 ERROR]:               java.lang.System.identityHashCode(Native Method)
[20:52:32 ERROR]:               java.util.HashMap$TreeNode.tieBreakOrder(HashMap.java:1904)
[20:52:32 ERROR]:               java.util.HashMap$TreeNode.putTreeVal(HashMap.java:1999)
[20:52:32 ERROR]:               java.util.HashMap.putVal(HashMap.java:638)
[20:52:32 ERROR]:               java.util.HashMap.put(HashMap.java:612)
[20:52:32 ERROR]:               java.util.HashSet.add(HashSet.java:220)
[20:52:32 ERROR]:               fr.mrmicky.worldeditselectionvisualizer.selection.shape.ShapeProcessor.createLine(ShapeProcessor.java:49)
[20:52:32 ERROR]:               fr.mrmicky.worldeditselectionvisualizer.selection.shape.type.CuboidProcessor.processSelection(CuboidProcessor.java:41)
[20:52:32 ERROR]:               fr.mrmicky.worldeditselectionvisualizer.selection.shape.type.CuboidProcessor.processSelection(CuboidProcessor.java:14)
[20:52:32 ERROR]:               fr.mrmicky.worldeditselectionvisualizer.selection.shape.ShapeProcessor.processSelection(ShapeProcessor.java:30)
[20:52:32 ERROR]:               fr.mrmicky.worldeditselectionvisualizer.selection.WorldEditHelper.updatePlayerVisualization(WorldEditHelper.java:156)
[20:52:32 ERROR]:               fr.mrmicky.worldeditselectionvisualizer.selection.WorldEditHelper.updatePlayerVisualizations(WorldEditHelper.java:67)
[20:52:32 ERROR]:               fr.mrmicky.worldeditselectionvisualizer.selection.WorldEditHelper.run(WorldEditHelper.java:61)
[20:52:32 ERROR]:               org.bukkit.craftbukkit.v1_16_R2.scheduler.CraftTask.run(CraftTask.java:99)
[20:52:32 ERROR]:               org.bukkit.craftbukkit.v1_16_R2.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:468)
[20:52:32 ERROR]:               net.minecraft.server.v1_16_R2.MinecraftServer.b(MinecraftServer.java:1354)
[20:52:32 ERROR]:               net.minecraft.server.v1_16_R2.DedicatedServer.b(DedicatedServer.java:372)
[20:52:32 ERROR]:               net.minecraft.server.v1_16_R2.MinecraftServer.a(MinecraftServer.java:1267)
[20:52:32 ERROR]:               net.minecraft.server.v1_16_R2.MinecraftServer.w(MinecraftServer.java:999)
[20:52:32 ERROR]:               net.minecraft.server.v1_16_R2.MinecraftServer.lambda$a$0(MinecraftServer.java:177)
[20:52:32 ERROR]:               net.minecraft.server.v1_16_R2.MinecraftServer$$Lambda$3071/1094881292.run(Unknown Source)
[20:52:32 ERROR]:               java.lang.Thread.run(Thread.java:748)
[20:52:32 ERROR]: ------------------------------

Spam in console

[12:02:46 WARN]: [WESV] Task #987 for WorldEditSelectionVisualizer v2.0.7 generated an exception
java.lang.IllegalStateException: No player infos loaded for youngfruit
at fr.mrmicky.worldeditselectionvisualizer.WorldEditSelectionVisualizer.getPlayerInfos(WorldEditSelectionVisualizer.java:147) ~[?:?]
at fr.mrmicky.worldeditselectionvisualizer.display.ParticlesTask.run(ParticlesTask.java:49) ~[?:?]
at org.bukkit.craftbukkit.v1_16_R3.scheduler.CraftTask.run(CraftTask.java:99) ~[patched_1.16.5.jar:git-Paper-"8fa15382b"]
at org.bukkit.craftbukkit.v1_16_R3.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:468) ~[patched_1.16.5.jar:git-Paper-"8fa15382b"]
at net.minecraft.server.v1_16_R3.MinecraftServer.b(MinecraftServer.java:1293) ~[patched_1.16.5.jar:git-Paper-"8fa15382b"]
at net.minecraft.server.v1_16_R3.DedicatedServer.b(DedicatedServer.java:377) ~[patched_1.16.5.jar:git-Paper-"8fa15382b"]
at net.minecraft.server.v1_16_R3.MinecraftServer.a(MinecraftServer.java:1208) ~[patched_1.16.5.jar:git-Paper-"8fa15382b"]
at net.minecraft.server.v1_16_R3.MinecraftServer.w(MinecraftServer.java:996) ~[patched_1.16.5.jar:git-Paper-"8fa15382b"]
at net.minecraft.server.v1_16_R3.MinecraftServer.lambda$a$0(MinecraftServer.java:173) ~[patched_1.16.5.jar:git-Paper-"8fa15382b"]
at java.lang.Thread.run(Thread.java:832) [?:?]

WorldEditSelectionVisualizer v2.0.7
Papermc 1.16.5
Java 11
Debian 10

wesv only marking one block with particles

Server is 1.19.2 with Bukkit/Spigot. When wesv is enabled and toggled on it only marks one block with particles.

Its only the happy villager particle that works and its as I said only one block. No matter what I try to create its only the origin block that is visualised, nothing else.

Metrics Unit Tests

This will be the first class to write Unit Tests for. We'll test the methodology on it and apply a satisfactory result to other classes when unit testing.

Also, Code Coverage should not be omitted.

JavaDoc Generation

Some nice JavaDoc should be generated at least from the Metrics class by now, so it's time to put that claim to test :)

Other particle types?

in the config, primary and secondary particles are set to 'FLAME" and 'REDSTONE' respectively. what other materials are supported?

ClassNotFoundException

Getting a ClassNotFoundException error with Spigot 1.13.1,
Running:
CraftBukkit version git-Spigot-2440e18-60d7982 (MC: 1.13.1) (Implementing API version 1.13.1-R0.1-SNAPSHOT)
[FastAsyncWorldEdit] Loading FastAsyncWorldEdit v1.0
[WorldEdit] Loading WorldEdit vunspecified
[WorldEditSelectionVisualizer] Loading WorldEditSelectionVisualizer v1.5.1

FastAsyncWorldEdit includes WorldEdit

https://pastebin.com/raw/JzBLBqzE

Fade particles after a timeout

Implement a timeout that would hide particles after a configured amount of time (default = 0, i.e. disabled, >0 = amount of time in seconds to wait before the fade).

NOTE: Since WESV is dependent on WorldEdit's current selection, fading particles would mean I would need to cancel that selection after the timeout, which is probably not what most people would want. Anyone wanting to work on this should take this information into consideration.

Option to disable by default

Add an option in the config to disable it by default.
-only enable when players toggle it.

Right now its on by default and players complain. For me it's useful so I'd want it but don't want to bother the others.

Exception caused by player join

Hello,

WESV isn't playing nice with Paper's asyc chunk loading. The following exception is generated every player join and disconnect:

[10:55:54 WARN]: [WESV] Task #26 for WorldEditSelectionVisualizer v2.0.4 generated an exception
java.lang.IllegalStateException: No player infos loaded for PLAYERNAME
        at fr.mrmicky.worldeditselectionvisualizer.WorldEditSelectionVisualizer.getPlayerInfos(WorldEditSelectionVisualizer.java:131) ~[?:?]
        at fr.mrmicky.worldeditselectionvisualizer.display.ParticlesTask.run(ParticlesTask.java:49) ~[?:?]
        at org.bukkit.craftbukkit.v1_15_R1.scheduler.CraftTask.run(CraftTask.java:84) ~[patched_1.15.2.jar:git-Paper-208]
        at org.bukkit.craftbukkit.v1_15_R1.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:452) ~[patched_1.15.2.jar:git-Paper-208]
        at net.minecraft.server.v1_15_R1.MinecraftServer.b(MinecraftServer.java:1234) ~[patched_1.15.2.jar:git-Paper-208]
        at net.minecraft.server.v1_15_R1.DedicatedServer.b(DedicatedServer.java:430) ~[patched_1.15.2.jar:git-Paper-208]
        at net.minecraft.server.v1_15_R1.MinecraftServer.a(MinecraftServer.java:1152) ~[patched_1.15.2.jar:git-Paper-208]
        at net.minecraft.server.v1_15_R1.MinecraftServer.run(MinecraftServer.java:946) ~[patched_1.15.2.jar:git-Paper-208]
        at java.lang.Thread.run(Thread.java:748) [?:1.8.0_242]

Issue started when I upgraded from Paper 185 to 208.
Thanks

WESV throws exception when the player gets kicked

It seems that WESV doesn't check whether the player is online.

[Server thread/WARN]: [WESV] Task #84324 for WorldEditSelectionVisualizer v2.1.3 generated an exception
java.lang.IllegalStateException: No player data loaded for {player name}
        at fr.mrmicky.worldeditselectionvisualizer.WorldEditSelectionVisualizer.getPlayerData(WorldEditSelectionVisualizer.java:144) ~[?:?]
        at fr.mrmicky.worldeditselectionvisualizer.listeners.PlayerListener.lambda$onPlayerHeldItem$1(PlayerListener.java:58) ~[?:?]
        at org.bukkit.craftbukkit.v1_8_R3.scheduler.CraftTask.run(CraftTask.java:59) ~[paper.jar:git-PandaSpigot-"4ebc815"]
        at org.bukkit.craftbukkit.v1_8_R3.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:352) ~[paper.jar:git-PandaSpigot-"4ebc815"]
        at net.minecraft.server.v1_8_R3.MinecraftServer.B(MinecraftServer.java:889) ~[paper.jar:git-PandaSpigot-"4ebc815"]
        at net.minecraft.server.v1_8_R3.DedicatedServer.B(DedicatedServer.java:412) ~[paper.jar:git-PandaSpigot-"4ebc815"]
        at net.minecraft.server.v1_8_R3.MinecraftServer.A(MinecraftServer.java:814) ~[paper.jar:git-PandaSpigot-"4ebc815"]
        at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:647) ~[paper.jar:git-PandaSpigot-"4ebc815"]
        at net.minecraft.server.v1_8_R3.MinecraftServer.lambda$spin$0(MinecraftServer.java:133) ~[paper.jar:git-PandaSpigot-"4ebc815"]
        at java.lang.Thread.run(Thread.java:833) [?:?]

1.14.4 fails to load

error in startup log is as follows:

[18:14:15] [Server thread/ERROR]: Error occurred while enabling WorldEditSelectionVisualizer v2.0.2 (Is it up to date?)
java.lang.NoClassDefFoundError: com/boydti/fawe/object/regions/PolyhedralRegion
	at fr.mrmicky.worldeditselectionvisualizer.selection.shape.type.FawePolyhedralProcessor.getRegionClass(FawePolyhedralProcessor.java:22) ~[?:?]
	at fr.mrmicky.worldeditselectionvisualizer.selection.WorldEditHelper.registerShapeProcessors(WorldEditHelper.java:196) ~[?:?]
	at fr.mrmicky.worldeditselectionvisualizer.selection.WorldEditHelper.<init>(WorldEditHelper.java:47) ~[?:?]
	at fr.mrmicky.worldeditselectionvisualizer.WorldEditSelectionVisualizer.onEnable(WorldEditSelectionVisualizer.java:61) ~[?:?]
	at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:263) ~[patched_1.14.4.jar:git-Paper-152]
	at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:338) ~[patched_1.14.4.jar:git-Paper-152]
	at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:420) ~[patched_1.14.4.jar:git-Paper-152]
	at org.bukkit.craftbukkit.v1_14_R1.CraftServer.enablePlugin(CraftServer.java:467) ~[patched_1.14.4.jar:git-Paper-152]
	at org.bukkit.craftbukkit.v1_14_R1.CraftServer.enablePlugins(CraftServer.java:381) ~[patched_1.14.4.jar:git-Paper-152]
	at net.minecraft.server.v1_14_R1.MinecraftServer.a(MinecraftServer.java:474) ~[patched_1.14.4.jar:git-Paper-152]
	at net.minecraft.server.v1_14_R1.DedicatedServer.init(DedicatedServer.java:282) ~[patched_1.14.4.jar:git-Paper-152]
	at net.minecraft.server.v1_14_R1.MinecraftServer.run(MinecraftServer.java:869) ~[patched_1.14.4.jar:git-Paper-152]
	at java.lang.Thread.run(Unknown Source) [?:1.8.0_221]
Caused by: java.lang.ClassNotFoundException: com.boydti.fawe.object.regions.PolyhedralRegion
	at java.net.URLClassLoader.findClass(Unknown Source) ~[?:1.8.0_221]
	at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:139) ~[patched_1.14.4.jar:git-Paper-152]
	at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:85) ~[patched_1.14.4.jar:git-Paper-152]
	at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.8.0_221]
	at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.8.0_221]
	... 13 more

NoClassDefFoundError: net/md_5/bungee/api/ChatMessageType on Spigot 1.7.10

Server version: 1.7.10 vanilla
Plugins: we, fawe, builder's utilities, essentials, essentials spawn, multiworld, signedit, WorldEditSelectionVisualizer
Console log after starting server:

[22:08:45 INFO]: [WorldEdit] Using com.sk89q.worldedit.bukkit.adapter.impl.CraftBukkit_v1_7_R4 as the Bukkit adapter
[22:08:45 INFO]: [WESV] Enabling WorldEditSelectionVisualizer v2.1.5
[22:08:45 ERROR]: Error occurred while enabling WorldEditSelectionVisualizer v2.1.5 (Is it up to date?)
java.lang.NoClassDefFoundError: net/md_5/bungee/api/ChatMessageType
        at fr.mrmicky.worldeditselectionvisualizer.compat.SpigotActionBarAdapter.checkSupported(SpigotActionBarAdapter.java:15) ~[?:?]
        at fr.mrmicky.worldeditselectionvisualizer.compat.CompatibilityHelper.isActionBarSupported(CompatibilityHelper.java:128) ~[?:?]
        at fr.mrmicky.worldeditselectionvisualizer.compat.CompatibilityHelper.<init>(CompatibilityHelper.java:32) ~[?:?]
        at fr.mrmicky.worldeditselectionvisualizer.WorldEditSelectionVisualizer.onEnable(WorldEditSelectionVisualizer.java:53) ~[?:?]
        at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:316) ~[server.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95]
        at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:332) [server.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95]
        at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:412) [server.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95]
        at org.bukkit.craftbukkit.v1_7_R4.CraftServer.loadPlugin(CraftServer.java:476) [server.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95]
        at org.bukkit.craftbukkit.v1_7_R4.CraftServer.enablePlugins(CraftServer.java:394) [server.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95]
        at net.minecraft.server.v1_7_R4.MinecraftServer.n(MinecraftServer.java:360) [server.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95]
        at net.minecraft.server.v1_7_R4.MinecraftServer.g(MinecraftServer.java:334) [server.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95]
        at net.minecraft.server.v1_7_R4.MinecraftServer.a(MinecraftServer.java:290) [server.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95]
        at net.minecraft.server.v1_7_R4.DedicatedServer.init(DedicatedServer.java:210) [server.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95]
        at net.minecraft.server.v1_7_R4.MinecraftServer.run(MinecraftServer.java:458) [server.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95]
        at net.minecraft.server.v1_7_R4.ThreadServerApplication.run(SourceFile:628) [server.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95]
Caused by: java.lang.ClassNotFoundException: net.md_5.bungee.api.ChatMessageType
        at java.net.URLClassLoader.findClass(URLClassLoader.java:387) ~[?:1.8.0_312]
        at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:101) ~[server.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95]
        at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:86) ~[server.jar:git-Spigot-1.7.9-R0.2-208-ge0f2e95]
        at java.lang.ClassLoader.loadClass(ClassLoader.java:418) ~[?:1.8.0_312]
        at java.lang.ClassLoader.loadClass(ClassLoader.java:351) ~[?:1.8.0_312]
        ... 15 more

Fast Async World Edit Compatibility

I've noticed that this plugin is not compatible with FAWE, and throws an error saying it didn't find worldedit on server start.
Would it be possible to support it?

Found error while debugging my own plugin

Currently running paper 1.12.2
plugin version is 2.0.3

might be due to me running an older version but just wanted to send you this either way

`Could not pass event PlayerChangedWorldEvent to WorldEditSelectionVisualizer v2.0.3

org.bukkit.event.EventException: null

at org.bukkit.plugin.EventExecutor$2.execute(EventExecutor.java:72) ~[patched_1.12.2.jar:git-Paper-1618]

at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:78) ~[patched_1.12.2.jar:git-Paper-1618]

at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[patched_1.12.2.jar:git-Paper-1618]

at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:513) ~[patched_1.12.2.jar:git-Paper-1618]

at net.minecraft.server.v1_12_R1.PlayerList.moveToWorld(PlayerList.java:753) ~[patched_1.12.2.jar:git-Paper-1618]

at org.bukkit.craftbukkit.v1_12_R1.entity.CraftPlayer.teleport(CraftPlayer.java:655) ~[patched_1.12.2.jar:git-Paper-1618]

at org.bukkit.craftbukkit.v1_12_R1.entity.CraftEntity.teleport(CraftEntity.java:310) ~[patched_1.12.2.jar:git-Paper-1618]

at com.JaxsonYehNah.YeetSpawns.Events.onJoin.JoinEvent(onJoin.java:44) ~[?:?]

at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor149.execute(Unknown Source) ~[?:?]

at org.bukkit.plugin.EventExecutor$2.execute(EventExecutor.java:70) ~[patched_1.12.2.jar:git-Paper-1618]

at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:78) ~[patched_1.12.2.jar:git-Paper-1618]

at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[patched_1.12.2.jar:git-Paper-1618]

at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:513) ~[patched_1.12.2.jar:git-Paper-1618]

at net.minecraft.server.v1_12_R1.PlayerList.onPlayerJoin(PlayerList.java:370) ~[patched_1.12.2.jar:git-Paper-1618]

at net.minecraft.server.v1_12_R1.PlayerList.a(PlayerList.java:183) ~[patched_1.12.2.jar:git-Paper-1618]

at net.minecraft.server.v1_12_R1.LoginListener.b(LoginListener.java:178) ~[patched_1.12.2.jar:git-Paper-1618]

at net.minecraft.server.v1_12_R1.LoginListener.e(LoginListener.java:68) ~[patched_1.12.2.jar:git-Paper-1618]

at net.minecraft.server.v1_12_R1.NetworkManager.a(NetworkManager.java:273) ~[patched_1.12.2.jar:git-Paper-1618]

at net.minecraft.server.v1_12_R1.ServerConnection.c(ServerConnection.java:150) ~[patched_1.12.2.jar:git-Paper-1618]

at net.minecraft.server.v1_12_R1.MinecraftServer.D(MinecraftServer.java:948) ~[patched_1.12.2.jar:git-Paper-1618]

at net.minecraft.server.v1_12_R1.DedicatedServer.D(DedicatedServer.java:423) ~[patched_1.12.2.jar:git-Paper-1618]

at net.minecraft.server.v1_12_R1.MinecraftServer.C(MinecraftServer.java:774) ~[patched_1.12.2.jar:git-Paper-1618]

at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:666) ~[patched_1.12.2.jar:git-Paper-1618]

at java.lang.Thread.run(Thread.java:813) [?:1.8.0_212]

Caused by: java.lang.IllegalStateException: No player infos loaded for JaxsonYehNah

at fr.mrmicky.worldeditselectionvisualizer.WorldEditSelectionVisualizer.getPlayerInfos(WorldEditSelectionVisualizer.java:130) ~[?:?]

at fr.mrmicky.worldeditselectionvisualizer.listeners.PlayerListener.onPlayerChangedWorld(PlayerListener.java:36) ~[?:?]

at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor559.execute(Unknown Source) ~[?:?]

at org.bukkit.plugin.EventExecutor$2.execute(EventExecutor.java:70) ~[patched_1.12.2.jar:git-Paper-1618]

... 23 more`

Clipboard visualizer does not rotate with clipboard

When a selection is copied to the clipboard, then the clipboard is rotated (//rotate 90 for instance) the clipboard visualizer stays in the same position instead of rotating with the clipboard.
WorldEditSelectionVisualizer 2.0.1
paper 1.14.3 build 134

Add top+bottom particles

Right now, only side particles are being displayed, for performance reasons. Top + bottom display should be possible but needs a good implementation + optimizations to not cause client-side lags.

Clipboard marking

As I saw clipboard marking is currently not implemented. As this would be an essential feature for me, I'm gonna work on that tomorrow. Shouldn't be too difficult.

For this I'll make a fork and implement it there. If it works I'll open up a pull request.

I'll provide an additional option in the Config for an additional particle as well as a new command to enable clipboard marking.
I have studied the API of worldedit thoroughly and am confident in accomplishing this task. There is only a minor issue. Although I have over 11 years of expertise in programming and Java I have never written a bukkit plug in before. Could you possibly guide me through the build process of a plug in? That would be awesome so I don't waste a lot of time in trying to figure this out too.

Thanks in advance and for your great work.

Extreme FPS Lag

If I select more than about 100 blocks, my FPS drops to 0 FPS. I used to use a similar plugin, and it didn't cause such lag, even when selecting thousands of blocks. Is there some setting I can tweak to improve this?

Server freeze when switching between FAWE selection types

I can consistently cause a full server freeze with FAWE and WESV by changing to a "fuzzy" selection and then to a cuboid selection. Both have their default configs. I think it might have something to do with fuzzy to cuboid causing a huge selection as changing from fuzzy to ellipsoid shows the message for having a selection above 50k blocks, without crashing. I tried reducing the visualizer limit to 1000 but it made no difference.

FAWE commands:
//sel fuzzy
//sel cuboid

Server thread dump:

[Paper Watchdog Thread/ERROR]: ------------------------------
[Paper Watchdog Thread/ERROR]: Server thread dump (Look for plugins here before reporting to Paper!):
[Paper Watchdog Thread/ERROR]: ------------------------------
[Paper Watchdog Thread/ERROR]: Current Thread: Server thread
[Paper Watchdog Thread/ERROR]: 	PID: 41 | Suspended: false | Native: false | State: RUNNABLE
[Paper Watchdog Thread/ERROR]: 	Stack:
[Paper Watchdog Thread/ERROR]: 		WorldEditSelectionVisualizer-2.1.5.jar//fr.mrmicky.worldeditselectionvisualizer.geometry.Line.render(Line.java:23)
[Paper Watchdog Thread/ERROR]: 		WorldEditSelectionVisualizer-2.1.5.jar//fr.mrmicky.worldeditselectionvisualizer.display.ParticlesTask.run(ParticlesTask.java:73)
[Paper Watchdog Thread/ERROR]: 		org.bukkit.craftbukkit.v1_20_R1.scheduler.CraftTask.run(CraftTask.java:101)
[Paper Watchdog Thread/ERROR]: 		org.bukkit.craftbukkit.v1_20_R1.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:480)
[Paper Watchdog Thread/ERROR]: 		net.minecraft.server.MinecraftServer.tickChildren(MinecraftServer.java:1480)
[Paper Watchdog Thread/ERROR]: 		net.minecraft.server.dedicated.DedicatedServer.tickChildren(DedicatedServer.java:447)
[Paper Watchdog Thread/ERROR]: 		net.minecraft.server.MinecraftServer.tickServer(MinecraftServer.java:1394)
[Paper Watchdog Thread/ERROR]: 		net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1171)
[Paper Watchdog Thread/ERROR]: 		net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:318)
[Paper Watchdog Thread/ERROR]: 		net.minecraft.server.MinecraftServer$$Lambda$4702/0x00007fcf6ca3b550.run(Unknown Source)
[Paper Watchdog Thread/ERROR]: 		[email protected]/java.lang.Thread.run(Thread.java:833)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.