boy0001 / fastasyncworldedit Goto Github PK
View Code? Open in Web Editor NEWBlazingly fast world manipulation for artists, large networks and developers: https://www.spigotmc.org/resources/13932/
License: GNU General Public License v3.0
Blazingly fast world manipulation for artists, large networks and developers: https://www.spigotmc.org/resources/13932/
License: GNU General Public License v3.0
When doing //move or many other commands blocks with gravity (ex: sand, gravel, dragon eggs, anvils) don't get set correctly. This is probably due to FAWE trying to do things async but the blocks are falling at the same time. Maybe try stopping physics for all falling blocks.
[20:18:15 ERROR]: [WorldEdit] An unexpected error while handling a WorldEdit command
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_66]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_66]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_66]
at java.lang.reflect.Method.invoke(Method.java:497) ~[?:1.8.0_66]
at com.sk89q.worldedit.util.command.parametric.ParametricCallable.call(ParametricCallable.java:243) ~[WorldEdit.jar:?]
at com.sk89q.worldedit.util.command.SimpleDispatcher.call(SimpleDispatcher.java:125) ~[WorldEdit.jar:?]
at com.sk89q.worldedit.extension.platform.CommandManager$1.run(CommandManager.java:253) [FastAsyncWorldEdit.jar:?]
at org.bukkit.craftbukkit.v1_8_R3.scheduler.CraftTask.run(CraftTask.java:71) [spigot.jar:git-PaperSpigot-60136e7-18fbb24]
at org.bukkit.craftbukkit.v1_8_R3.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:53) [spigot.jar:git-PaperSpigot-60136e7-18fbb24]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [?:1.8.0_66]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [?:1.8.0_66] at org.bukkit.craftbukkit.v1_8_R3.scheduler.CraftTask.run(CraftTask.java:71) [spigot.jar:git-PaperSpigot-60136e7-18fbb24]
at org.bukkit.craftbukkit.v1_8_R3.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:53) [spigot.jar:git-PaperSpigot-60136e7-18fbb24]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [?:1.8.0_66]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [?:1.8.0_66]
at java.lang.Thread.run(Thread.java:745) [?:1.8.0_66]
Caused by: java.lang.IllegalStateException: Asynchronous block remove!
at org.spigotmc.AsyncCatcher.catchOp(AsyncCatcher.java:14) ~[spigot.jar:git-PaperSpigot-60136e7-18fbb24]
at net.minecraft.server.v1_8_R3.Block.remove(Block.java:317) ~[spigot.jar:git-PaperSpigot-60136e7-18fbb24]
at net.minecraft.server.v1_8_R3.Chunk.a(Chunk.java:585) ~[spigot.jar:git-PaperSpigot-60136e7-18fbb24]
at net.minecraft.server.v1_8_R3.World.setTypeAndData(World.java:396) ~[spigot.jar:git-PaperSpigot-60136e7-18fbb24]
at org.bukkit.craftbukkit.v1_8_R3.block.CraftBlock.setTypeIdAndData(CraftBlock.java:137) ~[spigot.jar:git-PaperSpigot-60136e7-18fbb24]
at com.sk89q.worldedit.bukkit.adapter.impl.Spigot_v1_8_R3.setBlock(Spigot_v1_8_R3.java:237) ~[?:?]
at com.sk89q.worldedit.bukkit.BukkitWorld.setBlock(BukkitWorld.java:416) ~[?:?]
at com.sk89q.worldedit.world.AbstractWorld.setBlock(AbstractWorld.java:83) ~[?:?]
at com.sk89q.worldedit.world.AbstractWorld.setBlockType(AbstractWorld.java:58) ~[?:?]
at com.sk89q.worldedit.extension.platform.AbstractPlayerActor.floatAt(AbstractPlayerActor.java:304) ~[?:?]
at com.sk89q.worldedit.extension.platform.AbstractPlayerActor.ascendUpwards(AbstractPlayerActor.java:292) ~[?:?]
at com.sk89q.worldedit.command.NavigationCommands.up(NavigationCommands.java:181) ~[?:?]
... 12 more
Anyone interested. What kind of functions would be useful?
Note: Fawe doesn't prevent you from using the normal WorldEdit API
When using //undo, FAWE changes all the block to the block selected, not the one it was before it was changed. For example, I selected a large area consisting of lapis lazuli, stone and water. I marked my corners with glowstone and selected position on a glowstone and position 2 on a glowstone. I change it all to one material. I use //undo. All the blocks are now glowstone, not their original materials.
plugin wont paste in pistons or redstone lamps
When trying to regen an area I got lots of those exceptions:
[21:23:10] [Craft Scheduler Thread - 73/WARN]: [WorldEdit] Chunk generation via Bukkit raised an error
java.lang.IllegalStateException: Asynchronous chunk unload!
at org.spigotmc.AsyncCatcher.catchOp(AsyncCatcher.java:14) ~[spigot-1.8.8.jar:git-Spigot-e4d4710-e1ebe52]
at org.bukkit.craftbukkit.v1_8_R3.CraftWorld.unloadChunk(CraftWorld.java:181) ~[spigot-1.8.8.jar:git-Spigot-e4d4710-e1ebe52]
at org.bukkit.craftbukkit.v1_8_R3.CraftWorld.regenerateChunk(CraftWorld.java:205) ~[spigot-1.8.8.jar:git-Spigot-e4d4710-e1ebe52]
at com.sk89q.worldedit.bukkit.BukkitWorld.regenerate(BukkitWorld.java:176) [worldedit-bukkit-6.1.1-SNAPSHOT-dist-b3463.jar:?]
at com.sk89q.worldedit.command.RegionCommands.regenerateChunk(RegionCommands.java:350) [worldedit-bukkit-6.1.1-SNAPSHOT-dist-b3463.jar:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_74]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_74]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_74]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_74]
at com.sk89q.worldedit.util.command.parametric.ParametricCallable.call(ParametricCallable.java:243) [worldedit-bukkit-6.1.1-SNAPSHOT-dist-b3463.jar:?]
at com.sk89q.worldedit.util.command.SimpleDispatcher.call(SimpleDispatcher.java:125) [worldedit-bukkit-6.1.1-SNAPSHOT-dist-b3463.jar:?]
at com.sk89q.worldedit.extension.platform.CommandManager$1.run(CommandManager.java:253) [FastAsyncWorldEdit338.jar:?]
at org.bukkit.craftbukkit.v1_8_R3.scheduler.CraftTask.run(CraftTask.java:71) [spigot-1.8.8.jar:git-Spigot-e4d4710-e1ebe52]
at org.bukkit.craftbukkit.v1_8_R3.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:53) [spigot-1.8.8.jar:git-Spigot-e4d4710-e1ebe52]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [?:1.8.0_74]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [?:1.8.0_74]
at java.lang.Thread.run(Thread.java:745) [?:1.8.0_74]
Even though it said Region regenerated
and [FAWE] Action completed in 0.33 seconds
the regen has not been performed.
Spigot 1.8.8
FAWE 3.3.8
WE build 3463
Config:
limits:
default:
max-changes: 50000000
max-checks: 50000000
max-iterations: 1000
max-entities: 1337
max-fails: 50000000
max-blockstates: 1337
region-restrictions: true
max-memory-percent: 95
command-blacklist:
- cs
- .s
- restore
- snapshot
- delchunks
- listchunks
command-processor: true
history:
chunk-wait-ms: 0
compress: true
use-disk: false
buffer-size: 531441
crash-mitigation: true
fix-all-lighting: true
metrics: true
require-selection-in-mask: false
These two lines are causing the following code to fail:
schematic.setBlock(currentPoint, new BaseBlock(BlockID.AIR))
It's impossible to change a block to air in a schematic before pasting it. I haven't checked if there are other occurencies of similar behaviour. Normal WorldEdit alone works fine.
[00:15:47] [Server thread/INFO]: Lasercar7 issued server command: //set glass
[00:15:47] [Server thread/INFO]: [FastAsyncWorldEdit] §cPotentially inefficient WorldEdit extent: net.coreprotect.worldedit.CoreProtectLogger
[00:15:47] [Server thread/INFO]: [FastAsyncWorldEdit] §8 - §7For area restrictions, it is recommended to use the FaweAPI
[00:15:47] [Server thread/INFO]: [FastAsyncWorldEdit] §8 - §7Ignore this if not an area restriction
[00:15:47] [Server thread/ERROR]: [WorldEdit] An unexpected error while handling a WorldEdit command
java.lang.AbstractMethodError: com.sk89q.worldedit.function.visitor.RegionVisitor.addStatusMessages(Ljava/util/List;)V
at com.sk89q.worldedit.command.composition.SelectionCommand.call(SelectionCommand.java:87) ~[worldedit-bukkit-6.1.1-SNAPSHOT-dist.jar:?]
at com.sk89q.worldedit.command.composition.SelectionCommand.call(SelectionCommand.java:46) ~[worldedit-bukkit-6.1.1-SNAPSHOT-dist.jar:?]
at com.sk89q.worldedit.util.command.composition.LegacyCommandAdapter.call(LegacyCommandAdapter.java:52) ~[worldedit-bukkit-6.1.1-SNAPSHOT-dist.jar:?]
at com.sk89q.worldedit.util.command.SimpleDispatcher.call(SimpleDispatcher.java:125) ~[worldedit-bukkit-6.1.1-SNAPSHOT-dist.jar:?]
at com.sk89q.worldedit.extension.platform.CommandManager.handleCommand(CommandManager.java:270) [worldedit-bukkit-6.1.1-SNAPSHOT-dist.jar:?]
at sun.reflect.GeneratedMethodAccessor189.invoke(Unknown Source) ~[?:?]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_45]
at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_45]
at com.sk89q.worldedit.util.eventbus.MethodEventHandler.dispatch(MethodEventHandler.java:58) [worldedit-bukkit-6.1.1-SNAPSHOT-dist.jar:?]
at com.sk89q.worldedit.util.eventbus.EventHandler.handleEvent(EventHandler.java:73) [worldedit-bukkit-6.1.1-SNAPSHOT-dist.jar:?]
at com.sk89q.worldedit.util.eventbus.EventBus.dispatch(EventBus.java:187) [worldedit-bukkit-6.1.1-SNAPSHOT-dist.jar:?]
at com.sk89q.worldedit.util.eventbus.EventBus.post(EventBus.java:173) [worldedit-bukkit-6.1.1-SNAPSHOT-dist.jar:?]
at com.sk89q.worldedit.bukkit.WorldEditPlugin.onCommand(WorldEditPlugin.java:242) [worldedit-bukkit-6.1.1-SNAPSHOT-dist.jar:?]
at com.sk89q.bukkit.util.DynamicPluginCommand.execute(DynamicPluginCommand.java:54) [worldedit-bukkit-6.1.1-SNAPSHOT-dist.jar:?]
at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:141) [spigot-1.9.jar:git-Spigot-d20369f-7fc5cd8]
at org.bukkit.craftbukkit.v1_9_R1.CraftServer.dispatchCommand(CraftServer.java:645) [spigot-1.9.jar:git-Spigot-d20369f-7fc5cd8]
at net.minecraft.server.v1_9_R1.PlayerConnection.handleCommand(PlayerConnection.java:1350) [spigot-1.9.jar:git-Spigot-d20369f-7fc5cd8]
at net.minecraft.server.v1_9_R1.PlayerConnection.a(PlayerConnection.java:1185) [spigot-1.9.jar:git-Spigot-d20369f-7fc5cd8]
at net.minecraft.server.v1_9_R1.PacketPlayInChat.a(PacketPlayInChat.java:45) [spigot-1.9.jar:git-Spigot-d20369f-7fc5cd8]
at net.minecraft.server.v1_9_R1.PacketPlayInChat.a(PacketPlayInChat.java:1) [spigot-1.9.jar:git-Spigot-d20369f-7fc5cd8]
at net.minecraft.server.v1_9_R1.PlayerConnectionUtils$1.run(SourceFile:13) [spigot-1.9.jar:git-Spigot-d20369f-7fc5cd8]
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [?:1.8.0_45]
at java.util.concurrent.FutureTask.run(Unknown Source) [?:1.8.0_45]
at net.minecraft.server.v1_9_R1.SystemUtils.a(SourceFile:45) [spigot-1.9.jar:git-Spigot-d20369f-7fc5cd8]
at net.minecraft.server.v1_9_R1.MinecraftServer.D(MinecraftServer.java:721) [spigot-1.9.jar:git-Spigot-d20369f-7fc5cd8]
at net.minecraft.server.v1_9_R1.DedicatedServer.D(DedicatedServer.java:400) [spigot-1.9.jar:git-Spigot-d20369f-7fc5cd8]
at net.minecraft.server.v1_9_R1.MinecraftServer.C(MinecraftServer.java:660) [spigot-1.9.jar:git-Spigot-d20369f-7fc5cd8]
at net.minecraft.server.v1_9_R1.MinecraftServer.run(MinecraftServer.java:559) [spigot-1.9.jar:git-Spigot-d20369f-7fc5cd8]
at java.lang.Thread.run(Unknown Source) [?:1.8.0_45]
The error only happens if fawe is installed.
Sometimes you run in a situation where you don't want to use FAWE during your WorldEdit edits. Be it because you run into a bug or whatever.
So my suggestion is to add a command to disable the FAWE wrapper for the executing player and let him use WorldEdit the direct (inefficient) way.
Hello I am migrating to 1.9.2 and was really surprised by the performance of your plugin for AsynchWE
Incredible that you can speed up the processing of another plugin in such proportions.
I also updated PreciousStones and it seems that the plugin made a minior Change in APIs
Caused by: java.lang.NoClassDefFoundError: net/sacredlabyrinth/Phaed/PreciousStones/FieldFlag
at com.boydti.fawe.bukkit.regions.PreciousStonesFeature.getMask(PreciousStonesFeature.java:29) ~[?:?]
at com.boydti.fawe.bukkit.regions.PreciousStonesFeature.getMask(PreciousStonesFeature.java:14) ~[?:?]
class seems to have added a ".field' subpackages here :
https://github.com/marcelo-mason/Pr...et/sacredlabyrinth/Phaed/PreciousStones/field
Binary is here :
http://104.236.246.108:8080/job/PreciousStones/
Thanks for your amazing contribution
Starting the plugin on Spigot 1.8.8 with the newest code built the plugin crashes on startup.
After a small investigation this is caused by setting the static INSTANCE field to a new instance of the Fawe class, however in the Fawe constructor IMP.getQueue()
is called, which will in the Bukkit version call Fawe.get()
, but since the INSTANCE
is currently being initialized (we are still in the constructor) this returns null and therefore Fawe.get().checkVersion(getServerVersion(), 1, 9, 0)
blows up.
Stack Trace:
[17:11:06 INFO]: [FastAsyncWorldEdit] Enabling FastAsyncWorldEdit v1.2.1
[17:11:06 WARN]: java.lang.NullPointerException
[17:11:06 WARN]: at com.boydti.fawe.bukkit.FaweBukkit.getQueue(FaweBukkit.java:137)
[17:11:06 WARN]: at com.boydti.fawe.Fawe.<init>(Fawe.java:110)
[17:11:06 WARN]: at com.boydti.fawe.Fawe.set(Fawe.java:76)
[17:11:06 WARN]: at com.boydti.fawe.bukkit.FaweBukkit.onEnable(FaweBukkit.java:57)
[17:11:06 WARN]: at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:321)
[17:11:06 WARN]: at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:340)
[17:11:06 WARN]: at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:405)
[17:11:06 WARN]: at org.bukkit.craftbukkit.v1_8_R3.CraftServer.loadPlugin(CraftServer.java:357)
[17:11:06 WARN]: at org.bukkit.craftbukkit.v1_8_R3.CraftServer.enablePlugins(CraftServer.java:317)
[17:11:06 WARN]: at net.minecraft.server.v1_8_R3.DedicatedServer.init(DedicatedServer.java:199)
[17:11:06 WARN]: at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:525)
[17:11:06 WARN]: at java.lang.Thread.run(Thread.java:745)
Affected classes:
com.boydti.fawe.Fawe
com.boydti.fawe.bukkit.FaweBukkit
Reproduction steps:
On a spigot 1.8.8 server, install WorldEdit (either dev or normal build) and compile this project with maven, install the generated Bukkit jar, start the server.
Suggested fix:
Move the initialization of the SetQueue.IMP
in the Fawe class into the delayed initialization.
worldedit will not work when i load up fast async worldedit
it basically places fake blocks i cant see when i use it. the only thing that works is seting blocks to air.
the commands were //set and //replace
The blocks didnt disappear till server restart
worldedit 6.1
fastasyncworldedit 3.3.0
spigot: R0.1-Snapshot
Issues with the //forest
command. Need to recode it to use the queue.
http://pastebin.com/A8RfdCJN
Description
When pasting lit redstone dust next to a redstone torch or another source, it will lose its power (lit up stage) unless updated by a block placed by the player. This bug does not affect repeaters, doors, redstone lamps, or any other block that has another data value when powered.
Example
Here is an example of this bug. The left is the original and the right is after the paste.
Plugin Versions
FastAsyncWorldEdit: v 3.3.0
WorldEdit: 6.1.1-SNAPSHOT;3392-1dd6faf7
Cannot paste a simple schematic, log: http://hastebin.com/okisigejag.avrasm
Config: http://hastebin.com/ajuhorezez.sm
When it pastes or at least attempts to, it spews out the log above.
This error is replicated whenever I change blocks.
Hi,
I'm currenlty experimenting with your API and I get the following error when calling FaweAPI.setBlockAsync(...):
java.lang.ClassCastException: [Lnet.minecraft.server.v1_9_R1.EntitySlice; cannot be cast to [Ljava.util.List;
at com.boydti.fawe.bukkit.v1_9.BukkitQueue_1_9.setComponents(BukkitQueue_1_9.java:327)
at com.boydti.fawe.bukkit.v0.BukkitQueue_0.execute(BukkitQueue_0.java:218)
at com.boydti.fawe.bukkit.v0.BukkitQueue_0.next(BukkitQueue_0.java:200)
at com.boydti.fawe.util.SetQueue$1.run(SetQueue.java:48)
at org.bukkit.craftbukkit.v1_9_R1.scheduler.CraftTask.run(CraftTask.java:53)
at org.bukkit.craftbukkit.v1_9_R1.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:349)
at net.minecraft.server.v1_9_R1.MinecraftServer.D(MinecraftServer.java:686)
at net.minecraft.server.v1_9_R1.DedicatedServer.D(DedicatedServer.java:361)
at net.minecraft.server.v1_9_R1.MinecraftServer.C(MinecraftServer.java:635)
at net.minecraft.server.v1_9_R1.MinecraftServer.run(MinecraftServer.java:539)
at java.lang.Thread.run(Unknown Source)
Im currently using a Bukkit server (version 1.9). I also tried this on a Spigot server (version 1.9) and then it works fine.
Hi,
I just install this plugin, and on first boot I have noticed the following message on the console:-
[FastAsyncWorldEdit] Plugin 'PlotMe' not found. PlotMe features disabled.
As PlotMe is no-longer updated, our server (along with many others) has moved to alternatives such as PlotSquared
It would be great if you could support this plot plugin as well.
Many thanks
Jabel
Hi,
First of all. Great plugin!
When I do a replace of blocks, some of the blocks disapear. An undo won't bring them back. For example: //replace 159:14 159:11
After this command 90% of the block were simply gone.
FAWE 3.3.10
WE 6.1.1 b3463
The area within the void was selected for regeneration.
The reason for this might have been that I was not around the regeneration area, so chunks were unloaded.
There was no error messages in game nor any WorldEdit or FAWE related output in the console.
As a side note: When using other commands like //set
and so on FAWE tells me the time it took to process the command. On //regen
this does not happen.
Not a big deal, just noticed that this message showing up three times. One is probably enough.
FAWE 3.3.22
[17:34:52 INFO]: [FastAsyncWorldEdit] §cPotentially inefficient WorldEdit extent: me.botsko.prism.bridge.PrismWorldEditLogger
[17:34:52 INFO]: [FastAsyncWorldEdit] §8 - §7For area restrictions, it is recommended to use the FaweAPI
[17:34:52 INFO]: [FastAsyncWorldEdit] §8 - §7Ignore this if not an area restriction
[17:34:52 INFO]: [FastAsyncWorldEdit] §cPotentially inefficient WorldEdit extent: me.botsko.prism.bridge.PrismWorldEditLogger
[17:34:52 INFO]: [FastAsyncWorldEdit] §8 - §7For area restrictions, it is recommended to use the FaweAPI
[17:34:52 INFO]: [FastAsyncWorldEdit] §8 - §7Ignore this if not an area restriction
[17:34:52 INFO]: [FastAsyncWorldEdit] §cPotentially inefficient WorldEdit extent: me.botsko.prism.bridge.PrismWorldEditLogger
[17:34:52 INFO]: [FastAsyncWorldEdit] §8 - §7For area restrictions, it is recommended to use the FaweAPI
[17:34:52 INFO]: [FastAsyncWorldEdit] §8 - §7Ignore this if not an area restriction
Hey, just letting you know. With the latest commit on github and possibly before, a few things are broken:
[12:58:20 INFO]: Quicksteve issued server command: //hsphere air 70
[12:58:20 ERROR]: [WorldEdit] An unexpected error while handling a WorldEdit command
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_72-internal]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_72-internal]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_72-internal]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_72-internal]
at com.sk89q.worldedit.util.command.parametric.ParametricCallable.call(ParametricCallable.java:243) ~[worldedit-bukkit-6.1.1-SNAPSHOT-dist.jar:?]
at com.sk89q.worldedit.util.command.SimpleDispatcher.call(SimpleDispatcher.java:125) ~[worldedit-bukkit-6.1.1-SNAPSHOT-dist.jar:?]
at com.sk89q.worldedit.extension.platform.CommandManager$1.run(CommandManager.java:253) [FastAsyncWorldEdit.jar:?]
at org.bukkit.craftbukkit.v1_8_R3.scheduler.CraftTask.run(CraftTask.java:71) [server.jar:git-Spigot-5f38d38-18fbb24]
at org.bukkit.craftbukkit.v1_8_R3.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:53) [server.jar:git-Spigot-5f38d38-18fbb24]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [?:1.8.0_72-internal]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [?:1.8.0_72-internal]
at java.lang.Thread.run(Thread.java:745) [?:1.8.0_72-internal]
Caused by: java.lang.ArrayIndexOutOfBoundsException: -1
at com.boydti.fawe.bukkit.v1_8.BukkitQueue_1_8.getCombinedId4Data(BukkitQueue_1_8.java:276) ~[?:?]
at com.boydti.fawe.object.HistoryExtent.setBlock(HistoryExtent.java:54) ~[?:?]
at com.sk89q.worldedit.extent.AbstractDelegateExtent.setBlock(AbstractDelegateExtent.java:78) ~[?:?]
at com.boydti.fawe.object.extent.SafeExtentWrapper.setBlock(SafeExtentWrapper.java:24) ~[?:?]
at com.sk89q.worldedit.EditSession.setBlock(EditSession.java:644) ~[?:?]
at com.sk89q.worldedit.EditSession.setBlock(EditSession.java:687) ~[?:?]
at com.sk89q.worldedit.EditSession.setBlock(EditSession.java:705) ~[?:?]
at com.sk89q.worldedit.EditSession.makeSphere(EditSession.java:1719) ~[?:?]
at com.sk89q.worldedit.command.GenerationCommands.sphere(GenerationCommands.java:185) ~[?:?]
at com.sk89q.worldedit.command.GenerationCommands.hsphere(GenerationCommands.java:139) ~[?:?]
... 12 more
[12:58:51 INFO]: Quicksteve issued server command: //hsphere stone 70
[12:58:51 ERROR]: [WorldEdit] An unexpected error while handling a WorldEdit command
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_72-internal]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_72-internal]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_72-internal]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_72-internal]
at com.sk89q.worldedit.util.command.parametric.ParametricCallable.call(ParametricCallable.java:243) ~[worldedit-bukkit-6.1.1-SNAPSHOT-dist.jar:?]
at com.sk89q.worldedit.util.command.SimpleDispatcher.call(SimpleDispatcher.java:125) ~[worldedit-bukkit-6.1.1-SNAPSHOT-dist.jar:?]
at com.sk89q.worldedit.extension.platform.CommandManager$1.run(CommandManager.java:253) [FastAsyncWorldEdit.jar:?]
at org.bukkit.craftbukkit.v1_8_R3.scheduler.CraftTask.run(CraftTask.java:71) [server.jar:git-Spigot-5f38d38-18fbb24]
at org.bukkit.craftbukkit.v1_8_R3.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:53) [server.jar:git-Spigot-5f38d38-18fbb24]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [?:1.8.0_72-internal]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [?:1.8.0_72-internal]
at java.lang.Thread.run(Thread.java:745) [?:1.8.0_72-internal]
Caused by: java.lang.ArrayIndexOutOfBoundsException: -1
at com.boydti.fawe.bukkit.v1_8.BukkitQueue_1_8.getCombinedId4Data(BukkitQueue_1_8.java:276) ~[?:?]
at com.boydti.fawe.object.HistoryExtent.setBlock(HistoryExtent.java:54) ~[?:?]
at com.sk89q.worldedit.extent.AbstractDelegateExtent.setBlock(AbstractDelegateExtent.java:78) ~[?:?]
at com.boydti.fawe.object.extent.SafeExtentWrapper.setBlock(SafeExtentWrapper.java:24) ~[?:?]
at com.sk89q.worldedit.EditSession.setBlock(EditSession.java:644) ~[?:?]
at com.sk89q.worldedit.EditSession.setBlock(EditSession.java:687) ~[?:?]
at com.sk89q.worldedit.EditSession.setBlock(EditSession.java:705) ~[?:?]
at com.sk89q.worldedit.EditSession.makeSphere(EditSession.java:1719) ~[?:?]
at com.sk89q.worldedit.command.GenerationCommands.sphere(GenerationCommands.java:185) ~[?:?]
at com.sk89q.worldedit.command.GenerationCommands.hsphere(GenerationCommands.java:139) ~[?:?]
... 12 more
[12:58:51 INFO]: [FastAsyncWorldEdit] [FAWE] History compressed. Saved ~ 847b (6x smaller)
If I try to copy a large Area (150x150x256) this happens: http://hastebin.com/henadiseki
Without FAWE it works fine.
I'm using Spigot 1.9.2, Worldedit 6.1.1-SNAPSHOT #3463 and FAWE 3.3.8
Tried to regen an area with fastmode enabled. After completion there were many unedited chunks which was expected due to the fastmode. Relog fixes this.
However it seems like some leafs as well as water and lava are not removed properly, see below. Not sure if this is an issue with FAWE or WorldEdit itself.
No further console output besides Region regenerated.
available.
FAWE 3.3.22
WE 3463
1.8
Doing regen
a second time over the same area fixes this.
Have CuboidRegion iterate by chunk
...is not supported, I know, but that is not the point ;)
What I did was enabling fastmode, using //copy
and //paste
. Tried //undo
and got the reply that Undo successful.
which should not be the case as there should not be any history that could be undone. Also not sure if this is more related to WE rather than FAWE.
FAWE 3.3.22
So, as far as I can see, there is now way to cancel an action before it finishes anywhere. This could be useful if you decide that you don't want to do an action after all.
What's the difference between the admin permission fawe.worldeditregion and the region permission fawe.worldguard ?
If someone has permission fawe.worldguard and has regular worldedit permissions, are they prohibited from affecting blocks outside of regions they own using WorldGuard?
Could you provide answers to these questions in permissions documentation.?
Hi,
The server shuts down immediately after loading the plugin, with the following error:
[00:31:11 INFO]: [FastAsyncWorldEdit] Loading FastAsyncWorldEdit v1.2.1
[00:31:11 INFO]: [WorldEdit] Loading WorldEdit v6.1.1-SNAPSHOT;3386-025591e6
[00:31:11 INFO]: [FastAsyncWorldEdit] Enabling FastAsyncWorldEdit v1.2.1
[00:31:11 WARN]: java.lang.NullPointerException
[00:31:11 WARN]: at com.boydti.fawe.bukkit.FaweBukkit.getQueue(FaweBukkit.java:137)
[00:31:11 WARN]: at com.boydti.fawe.Fawe.<init>(Fawe.java:110)
[00:31:11 WARN]: at com.boydti.fawe.Fawe.set(Fawe.java:76)
[00:31:11 WARN]: at com.boydti.fawe.bukkit.FaweBukkit.onEnable(FaweBukkit.java:57)
[00:31:11 WARN]: at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:291)
[00:31:11 WARN]: at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:332)
[00:31:11 WARN]: at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:407)
[00:31:11 WARN]: at org.bukkit.craftbukkit.v1_9_R1.CraftServer.loadPlugin(CraftServer.java:355)
[00:31:11 WARN]: at org.bukkit.craftbukkit.v1_9_R1.CraftServer.enablePlugins(CraftServer.java:315)
[00:31:11 WARN]: at net.minecraft.server.v1_9_R1.DedicatedServer.init(DedicatedServer.java:206)
[00:31:11 WARN]: at net.minecraft.server.v1_9_R1.MinecraftServer.run(MinecraftServer.java:564)
[00:31:11 WARN]: at java.lang.Thread.run(Thread.java:745)
Using version 3.3.0 on Spigot 1.9. Running with only FastAsyncWorldEdit and WorldEdit.
Add per player configuration for block changes:
Would it be possible to port this awesomeness of an addition to Forge, too?
We have been working on a mod that makes use of world edit's schematic files but we need to paste areas from schematics into an empty world "on the fly" if they don't exist already and as you know, on standard world edit, this is only feasable for smaller schematics.
Please consider changing the default value of the chunk-wait setting from 0 to a value that should be safe for large paste operations. For example issue #36 where it had to be upped to 100 to stop paste from causing duplicated chunks.
For example, using a value that would make FAWE more stable for larger block operations and yet not cause problems other than speed reduction for smaller ones. This would decrease support time and increase trust in FAWE. You could include a comment in the config file that the chunk-wait value can be decreased down to a min of 0 to speed up operations, but if you experience errors like duplicated chunks, then increase it again.
Data of copied blocks (ex: items in chests, or letters on signs) gets deleted after pastes. This is happens on:
Items:
Characters:
TODO: have actual blocks changed
//up doesn't work as expected:
[16:06:52 INFO]: Player issued server command: //up 1
[16:06:52 ERROR]: [WorldEdit] An unexpected error while handling a WorldEdit command
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_72-internal]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_72-internal]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_72-internal]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_72-internal]
at com.sk89q.worldedit.util.command.parametric.ParametricCallable.call(ParametricCallable.java:243) ~[worldedit-bukkit-6.1.1-SNAPSHOT-dist.jar:?]
at com.sk89q.worldedit.util.command.SimpleDispatcher.call(SimpleDispatcher.java:125) ~[worldedit-bukkit-6.1.1-SNAPSHOT-dist.jar:?]
at com.sk89q.worldedit.extension.platform.CommandManager$1.run(CommandManager.java:253) [FastAsyncWorldEdit.jar:?]
at org.bukkit.craftbukkit.v1_8_R3.scheduler.CraftTask.run(CraftTask.java:71) [server.jar:git-Spigot-5f38d38-18fbb24]
at org.bukkit.craftbukkit.v1_8_R3.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:53) [server.jar:git-Spigot-5f38d38-18fbb24]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [?:1.8.0_72-internal]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [?:1.8.0_72-internal]
at java.lang.Thread.run(Thread.java:745) [?:1.8.0_72-internal]
Caused by: java.lang.IllegalStateException: Asynchronous block remove!
at org.spigotmc.AsyncCatcher.catchOp(AsyncCatcher.java:14) ~[server.jar:git-Spigot-5f38d38-18fbb24]
at net.minecraft.server.v1_8_R3.Block.remove(Block.java:317) ~[server.jar:git-Spigot-5f38d38-18fbb24]
at net.minecraft.server.v1_8_R3.Chunk.a(Chunk.java:536) ~[server.jar:git-Spigot-5f38d38-18fbb24]
at net.minecraft.server.v1_8_R3.World.setTypeAndData(World.java:396) ~[server.jar:git-Spigot-5f38d38-18fbb24]
at org.bukkit.craftbukkit.v1_8_R3.block.CraftBlock.setTypeIdAndData(CraftBlock.java:137) ~[server.jar:git-Spigot-5f38d38-18fbb24]
at com.sk89q.worldedit.bukkit.adapter.impl.Spigot_v1_8_R3.setBlock(Spigot_v1_8_R3.java:237) ~[?:?]
at com.sk89q.worldedit.bukkit.BukkitWorld.setBlock(BukkitWorld.java:416) ~[?:?]
at com.sk89q.worldedit.world.AbstractWorld.setBlock(AbstractWorld.java:83) ~[?:?]
at com.sk89q.worldedit.world.AbstractWorld.setBlockType(AbstractWorld.java:58) ~[?:?]
at com.sk89q.worldedit.extension.platform.AbstractPlayerActor.floatAt(AbstractPlayerActor.java:304) ~[?:?]
at com.sk89q.worldedit.extension.platform.AbstractPlayerActor.ascendUpwards(AbstractPlayerActor.java:292) ~[?:?]
at com.sk89q.worldedit.command.NavigationCommands.up(NavigationCommands.java:181) ~[?:?]
... 12 more
Related to #32
Tried //undo
on the //regen
show in the issue above completely replaced the area with void.
FAWE 3.3.10
WE 6.1.1 b3463
FAWE 3.3.22
WE 3482
Yesterday I copied a new spawn area from one world into another using c&p, about 64 million blocks. In fast mode no big deal.
However my teammates noticed that there were a few minor issues occurred.
It seems like torches which are placed on a wall directing to west (to say look west, place a block and put a torch on it) are turned 180 degree and heading to east now.
Other directions seem not to be affected.
Item frames and armor stands have not been copied at all.
No further console output available as the rest worked flawlessly.
[16:06:10 ERROR]: [WorldEdit] Could not dispatch event: com.sk89q.worldedit.event.platform.BlockInteractEvent@1263065b to handler EventHandler{priority=NORMAL}
java.lang.reflect.InvocationTargetException
at com.sk89q.worldedit.util.eventbus.EventHandler.handleEvent(EventHandler.java:75) ~[worldedit-bukkit-6.1.1-SNAPSHOT-dist.jar:?]
at com.sk89q.worldedit.util.eventbus.EventBus.dispatch(EventBus.java:187) [worldedit-bukkit-6.1.1-SNAPSHOT-dist.jar:?]
at com.sk89q.worldedit.util.eventbus.EventBus.post(EventBus.java:173) [worldedit-bukkit-6.1.1-SNAPSHOT-dist.jar:?]
at com.sk89q.worldedit.WorldEdit.handleBlockLeftClick(WorldEdit.java:703) [worldedit-bukkit-6.1.1-SNAPSHOT-dist.jar:?]
at com.sk89q.worldedit.bukkit.WorldEditListener.onPlayerInteract(WorldEditListener.java:128) [worldedit-bukkit-6.1.1-SNAPSHOT-dist.jar:?]
at sun.reflect.GeneratedMethodAccessor17.invoke(Unknown Source) ~[?:?]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_72-internal]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_72-internal]
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:306) [server.jar:git-Spigot-5f38d38-18fbb24]
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) [server.jar:git-Spigot-5f38d38-18fbb24]
at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:502) [server.jar:git-Spigot-5f38d38-18fbb24]
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:487) [server.jar:git-Spigot-5f38d38-18fbb24]
at penguin.core.event.EventModule.publish(EventModule.java:31) [Penguin.jar:?]
at penguin.core.event.PenguinPluginManager.callEvent(PenguinPluginManager.java) [?:?]
at org.bukkit.craftbukkit.v1_8_R3.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:228) [server.jar:git-Spigot-5f38d38-18fbb24]
at org.bukkit.craftbukkit.v1_8_R3.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:195) [server.jar:git-Spigot-5f38d38-18fbb24]
at net.minecraft.server.v1_8_R3.PlayerInteractManager.a(PlayerInteractManager.java:107) [server.jar:git-Spigot-5f38d38-18fbb24]
at net.minecraft.server.v1_8_R3.PlayerConnection.a(PlayerConnection.java:623) [server.jar:git-Spigot-5f38d38-18fbb24]
at net.minecraft.server.v1_8_R3.PacketPlayInBlockDig.a(SourceFile:40) [server.jar:git-Spigot-5f38d38-18fbb24]
at net.minecraft.server.v1_8_R3.PacketPlayInBlockDig.a(SourceFile:10) [server.jar:git-Spigot-5f38d38-18fbb24]
at net.minecraft.server.v1_8_R3.PlayerConnectionUtils$1.run(SourceFile:13) [server.jar:git-Spigot-5f38d38-18fbb24]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_72-internal]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_72-internal]
at net.minecraft.server.v1_8_R3.SystemUtils.a(SourceFile:44) [server.jar:git-Spigot-5f38d38-18fbb24]
at net.minecraft.server.v1_8_R3.MinecraftServer.B(MinecraftServer.java:715) [server.jar:git-Spigot-5f38d38-18fbb24]
at net.minecraft.server.v1_8_R3.DedicatedServer.B(DedicatedServer.java:374) [server.jar:git-Spigot-5f38d38-18fbb24]
at net.minecraft.server.v1_8_R3.MinecraftServer.A(MinecraftServer.java:654) [server.jar:git-Spigot-5f38d38-18fbb24]
at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:557) [server.jar:git-Spigot-5f38d38-18fbb24]
at java.lang.Thread.run(Thread.java:745) [?:1.8.0_72-internal]
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.GeneratedMethodAccessor21.invoke(Unknown Source) ~[?:?]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_72-internal]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_72-internal]
at com.sk89q.worldedit.util.eventbus.MethodEventHandler.dispatch(MethodEventHandler.java:58) ~[worldedit-bukkit-6.1.1-SNAPSHOT-dist.jar:?]
at com.sk89q.worldedit.util.eventbus.EventHandler.handleEvent(EventHandler.java:73) ~[worldedit-bukkit-6.1.1-SNAPSHOT-dist.jar:?]
... 28 more
Caused by: java.lang.NullPointerException
at com.sk89q.worldedit.command.tool.RecursivePickaxe.actPrimary(RecursivePickaxe.java:66) ~[worldedit-bukkit-6.1.1-SNAPSHOT-dist.jar:?]
at com.sk89q.worldedit.extension.platform.PlatformManager.handleBlockInteract(PlatformManager.java:345) ~[worldedit-bukkit-6.1.1-SNAPSHOT-dist.jar:?]
at sun.reflect.GeneratedMethodAccessor21.invoke(Unknown Source) ~[?:?]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_72-internal]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_72-internal]
at com.sk89q.worldedit.util.eventbus.MethodEventHandler.dispatch(MethodEventHandler.java:58) ~[worldedit-bukkit-6.1.1-SNAPSHOT-dist.jar:?]
at com.sk89q.worldedit.util.eventbus.EventHandler.handleEvent(EventHandler.java:73) ~[worldedit-bukkit-6.1.1-SNAPSHOT-dist.jar:?]
... 28 more
Make getSurvivalExtent
in EditSession
return a dummy SurvivalModeExtent
instead of null
.
On a server using GriefPrevention claims, if player is outside a GP claim when executing a WorldEdit command, a red message stating "Your WorldEdit may have been extended outside your allowed region"
If I recall correctly, performing a //move simply deletes the selected region, as if running a //set 0 (In other words, it simply deletes the blocks in the region, setting them to air.)
Could you guys add an improvement to your To Do list to update the configuration / perms info to give a reasonable explanation for all of the config options and permission interactions..
For example the problem I encountered using the default chunk-wait value 0 causing paste operations to duplicate small sections of the copied area.
There's no mention anywhere that the chunk-wait setting could have this effect. Would be great to note this symptom and what to do about it in the description of chunk-wait.
RedProtect
Some forge mods
etc.
Running FAWE 3.3.12 with WE 6.1.1 #3462, on Spigot 1.8.8
//Copy'd huge area of 257 Million blocks and saved as Schematic. After saving, I moved to target area then did //paste -a
The paste started, and eventually I got the finished message completed in 51.nnn seconds.
An area of 160 (+x) x 155 (-Z) blocks pasted OK, but then beyond that area along the +X axit, a 1 chunk long area along the X axis repeated over and over to fill what looks like the size of the original selection (probably 1000 x 256 x 1000) 257 Million blocks.
Compression and history file are enabled in the config file as shown below. The console log shows the commands being entered but no additional information. No errors in the Client message log.
Any ideas?
Just tried to move a sign 1 block down. Worked well besides the fact that it was empty after that.
Then I tried to //undo
the action but there was nothing left to undo
.
Retried //move up
and down
with another block but still not saved to history.
I double-checked that fastmode was disabled.
Except from compress: true
config is default.
FAWE 3.3.22
WE 3482
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.