SafeEdit
SafeEdit - WorldEdit 10+ million blocks with NO lag!
Tired of your server crashing with large world edits? Is your server being bogged down by lag when making large cuts or pastes? Well worry no more! SafeEdit is a WorldEdit mod that allows you to set the speed in which your builds are WorldEdited.
Description
SafeEdit works by taking WorldEdit commands and executing them a certain number of blocks per tick. The speed in which blocks are WorldEdited can be set by either typing a number after the command, (ex: paste 1000) or by setting the number in the config and using WorldEdit as you normally would. If you don't type a number after your command, SafeEdit will default to the number set in the config.
Now supports all region types!
Commands
WorldEdit Supported
- cut
- cyl
- hcyl
- faces (outline)
- sphere
- hsphere
- walls
- paste
- replace
- set
- regen
- drain
- fixwater
- fixlava
SafeEdit
- sundo
- sstop - stops current operation in progress
- /safeedit reload - reloads plugin
Installation
- If you haven't already, make sure to download WorldEdit and extract the .jar into your server's plugins folder.
- Download SafeEdit and put the .jar in your server's plugin folder, and you're good to go!
Tutorial
Check out this tutorial made by our good friend over at FreeFormCinematics:
Another great tutorial from VariationVault:
Documentation
Stay up to date with SafeEdit releases/fixes with the Change Log and find the Admin/User perms below!
Please keep in mind this is a very powerful plugin. Just like with WorldEdit, a miss-click or typo can ruin your project. We urge you to please be careful when working with this plugin! We are not responsible for any lost/damaged builds, or any unforeseen bugs the plugin may have.
This plugin has been tested thoroughly and we think that you will enjoy the benefits of SafeEdit on your server as much as we do :)
I get this error every time I try to paste something, plz help!
[20:14:22 ERROR]: Could not pass event PlayerCommandPreprocessEvent to SafeEdit v1.2.0
org.bukkit.event.EventException: null
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:306) ~[Lobby1.12.2.jar:git-Spigot-7129aeb-c15d869]
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[Lobby1.12.2.jar:git-Spigot-7129aeb-c15d869]
at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:500) [Lobby1.12.2.jar:git-Spigot-7129aeb-c15d869]
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:485) [Lobby1.12.2.jar:git-Spigot-7129aeb-c15d869]
at net.minecraft.server.v1_12_R1.PlayerConnection.handleCommand(PlayerConnection.java:1389) [Lobby1.12.2.jar:git-Spigot-7129aeb-c15d869]
at net.minecraft.server.v1_12_R1.PlayerConnection.a(PlayerConnection.java:1232) [Lobby1.12.2.jar:git-Spigot-7129aeb-c15d869]
at net.minecraft.server.v1_12_R1.PacketPlayInChat.a(PacketPlayInChat.java:45) [Lobby1.12.2.jar:git-Spigot-7129aeb-c15d869]
at net.minecraft.server.v1_12_R1.PacketPlayInChat.a(PacketPlayInChat.java:1) [Lobby1.12.2.jar:git-Spigot-7129aeb-c15d869]
at net.minecraft.server.v1_12_R1.PlayerConnectionUtils$1.run(SourceFile:13) [Lobby1.12.2.jar:git-Spigot-7129aeb-c15d869]
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [?:1.8.0_151]
at java.util.concurrent.FutureTask.run(Unknown Source) [?:1.8.0_151]
at net.minecraft.server.v1_12_R1.SystemUtils.a(SourceFile:46) [Lobby1.12.2.jar:git-Spigot-7129aeb-c15d869]
at net.minecraft.server.v1_12_R1.MinecraftServer.D(MinecraftServer.java:748) [Lobby1.12.2.jar:git-Spigot-7129aeb-c15d869]
at net.minecraft.server.v1_12_R1.DedicatedServer.D(DedicatedServer.java:406) [Lobby1.12.2.jar:git-Spigot-7129aeb-c15d869]
at net.minecraft.server.v1_12_R1.MinecraftServer.C(MinecraftServer.java:679) [Lobby1.12.2.jar:git-Spigot-7129aeb-c15d869]
at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:577) [Lobby1.12.2.jar:git-Spigot-7129aeb-c15d869]
at java.lang.Thread.run(Unknown Source) [?:1.8.0_151]
Caused by: java.lang.NoSuchMethodError: com.sk89q.worldedit.LocalSession.getClipboard()Lcom/sk89q/worldedit/CuboidClipboard;
at me.frodenkvist.safeedit.PasteRunnable.<init>(PasteRunnable.java:65) ~[?:?]
at me.frodenkvist.safeedit.SafeEdit.paste(SafeEdit.java:321) ~[?:?]
at me.frodenkvist.safeedit.PlayerListener.onPlayerCommandPreprocessEvent(PlayerListener.java:155) ~[?:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_151]
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_151]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_151]
at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_151]
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:302) ~[Lobby1.12.2.jar:git-Spigot-7129aeb-c15d869]
... 16 more
Any idea, why safedit wouldn't work? I have worldedit plugin and safeedit plugin installed. I've restarted the server twice. I receive the message "There were unused arguments: 5" for the command set 1 5
EDIT: I'm getting this on the server:
10.10 10:28:48 [Server] ERROR Error occurred while enabling SafeEdit v1.2.0 (Is it up to date?)
Because of outdated version
(Is SafeEdit updated to 1.10/1.11 or to version of your server?)
Use ASyncWorldEdit & Voxel Sniper from spigotmc.org
@ryan_the_leach
Yes because the douche bag makes you wait for 24hours + to get the plugin after payment
What a pity, this would have been great, I even get an internal error
03.07 23:27:12 [Server] INFO Caused by: java.lang.NoSuchMethodError: com.sk89q.worldedit.LocalSession.getClipboard()Lcom/sk89q/worldedit/CuboidClipboard; 03.07 23:27:12 [Server] INFO at java.lang.Thread.run(Thread.java:745) [?:1.8.0_66] 03.07 23:27:12 [Server] INFO at net.minecraft.server.v1_10_R1.MinecraftServer.run(MinecraftServer.java:571) [custom18.jar:git-Spigot-c55900f-9856d8a] 03.07 23:27:12 [Server] INFO at net.minecraft.server.v1_10_R1.MinecraftServer.C(MinecraftServer.java:672) [custom18.jar:git-Spigot-c55900f-9856d8a] 03.07 23:27:12 [Server] INFO at net.minecraft.server.v1_10_R1.DedicatedServer.D(DedicatedServer.java:399) [custom18.jar:git-Spigot-c55900f-9856d8a] 03.07 23:27:12 [Server] INFO at net.minecraft.server.v1_10_R1.MinecraftServer.D(MinecraftServer.java:733) [custom18.jar:git-Spigot-c55900f-9856d8a] 03.07 23:27:12 [Server] INFO at net.minecraft.server.v1_10_R1.SystemUtils.a(SourceFile:45) [custom18.jar:git-Spigot-c55900f-9856d8a] 03.07 23:27:12 [Server] INFO at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_66] 03.07 23:27:12 [Server] INFO at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_66] 03.07 23:27:12 [Server] INFO at net.minecraft.server.v1_10_R1.PlayerConnectionUtils$1.run(SourceFile:13) [custom18.jar:git-Spigot-c55900f-9856d8a] 03.07 23:27:12 [Server] INFO at net.minecraft.server.v1_10_R1.PacketPlayInChat.a(PacketPlayInChat.java:1) [custom18.jar:git-Spigot-c55900f-9856d8a] 03.07 23:27:12 [Server] INFO at net.minecraft.server.v1_10_R1.PacketPlayInChat.a(PacketPlayInChat.java:45) [custom18.jar:git-Spigot-c55900f-9856d8a] 03.07 23:27:12 [Server] INFO at net.minecraft.server.v1_10_R1.PlayerConnection.a(PlayerConnection.java:1186) [custom18.jar:git-Spigot-c55900f-9856d8a] 03.07 23:27:12 [Server] INFO at net.minecraft.server.v1_10_R1.PlayerConnection.handleCommand(PlayerConnection.java:1343) [custom18.jar:git-Spigot-c55900f-9856d8a] 03.07 23:27:12 [Server] INFO at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:487) [custom18.jar:git-Spigot-c55900f-9856d8a] 03.07 23:27:12 [Server] INFO at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:502) [custom18.jar:git-Spigot-c55900f-9856d8a] 03.07 23:27:12 [Server] INFO at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) [custom18.jar:git-Spigot-c55900f-9856d8a] 03.07 23:27:12 [Server] INFO at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:310) [custom18.jar:git-Spigot-c55900f-9856d8a] 03.07 23:27:12 [Server] INFO org.bukkit.event.EventException 03.07 23:27:12 [Server] ERROR Could not pass event PlayerCommandPreprocessEvent to SafeEdit v1.1.5 03.07 23:27:04 [Server] INFO SpyCraft3r loaded /plugins/WorldEdit/schematics/amazing-spawn-treefall.schematic
Thank you, worked awesome!
Hey , if you won't do anything I'll do it my self
Please, we are begging you, update to 1.8! please!
This is incredible. Works like a charm!
Update this, since async is become a premium premium -.-
Please Update to 1.8
Please Update to 1.8
please update :O
To anyone waiting on an update, is there a good reason why you arn't using asyncworldedit? as far as I can see it does the same thing this plugin does, but better and up to date.
Can the source code be made available to everyone please? Last login I see from both authors was February of 2014 and july of 2014. My developer would like to keep this project current.
Also I would like to suggest maybe a merge with World Edit? Has anyone contacted them about trying to combine plugins? This is an excellent plugin and shouldn't go to waste.
Update?
I figured dont use above 400 ticks per second or what ever, use 375. for example. paste 375
I have been experiencing ALOT of lag on my server and I have finally gotten to the bottom of it. For some reason you have a player listener join event? There was also another plugin causing down time for about 15-20 minutes randomly which I pinned down but thats a seperate issue. But as you can see, Safe Edit causes lag specifically on player join and leave events for a little over 2 seconds each event, Meaning If I have 5 people join at once, everyone lags like crazy.
Heres some data I got from it. http://timings.aikar.co/?url=9090987
Is there anyway for me to disable Player join events? Or can you release a version that doesn't include this feature? Quite honestly I have no clue what it's there for.
But all in all, this is a GREAT plugin and I use it daily. I honestly wouldn't know where I would be without this plugin when I'm trying to world edit 6.8 billion blocks at a time. You sir, are a genius and the minecraft community is forever indebted to you. This takes a great plugin and makes it x1000 greater!
Please update :C Sometimes the sundo dont work and lot of erros in console
@ssoylu1996
OutOfMemoryError