Exception while undo
dwknippers opened this issue ยท 8 comments
Platform
- Minecraft 1.15.2 (fabric-loader-0.8.2+build.194-1.15.2/fabric/Fabric)
- Fabric-Official(7.1.0;8e55131)
Description (Reproduce)
Worldedit throws class cast exception when attempting to undo a pasted schematic in a single player world using the fabric platform.
Exception stack trace
Full stack trace available here: https://paste.enginehub.org/gidVa9g-V
[21:03:33] [Server thread/ERROR]: Could not dispatch event: com.sk89q.worldedit.event.platform.CommandEvent@528089bf to handler EventHandler{priority=NORMAL}
java.lang.reflect.InvocationTargetException: null
at com.sk89q.worldedit.util.eventbus.EventHandler.handleEvent(EventHandler.java:75) ~[worldedit-fabric-mc1.15.2-7.1.0.jar:?]
at com.sk89q.worldedit.util.eventbus.EventBus.dispatch(EventBus.java:193) [worldedit-fabric-mc1.15.2-7.1.0.jar:?]
at com.sk89q.worldedit.util.eventbus.EventBus.post(EventBus.java:181) [worldedit-fabric-mc1.15.2-7.1.0.jar:?]
at com.sk89q.worldedit.fabric.CommandWrapper.lambda$register$0(CommandWrapper.java:65) [worldedit-fabric-mc1.15.2-7.1.0.jar:?]
at com.sk89q.worldedit.fabric.CommandWrapper$$Lambda$3584/1140203729.run(Unknown Source) [worldedit-fabric-mc1.15.2-7.1.0.jar:?]
at com.mojang.brigadier.CommandDispatcher.execute(CommandDispatcher.java:262) [brigadier-1.0.17.jar:?]
at com.mojang.brigadier.CommandDispatcher.execute(CommandDispatcher.java:176) [brigadier-1.0.17.jar:?]
at net.minecraft.class_2170.method_9249(class_2170.java:235) [intermediary-fabric-loader-0.8.2+build.194-1.15.2.jar:?]
at net.minecraft.class_3244.method_14370(class_3244.java:1083) [intermediary-fabric-loader-0.8.2+build.194-1.15.2.jar:?]
at net.minecraft.class_3244.method_12048(class_3244.java:1070) [intermediary-fabric-loader-0.8.2+build.194-1.15.2.jar:?]
at net.minecraft.class_2797.method_12115(class_2797.java:36) [intermediary-fabric-loader-0.8.2+build.194-1.15.2.jar:?]
at net.minecraft.class_2797.method_11054(class_2797.java:9) [intermediary-fabric-loader-0.8.2+build.194-1.15.2.jar:?]
at net.minecraft.class_2600.method_11072(class_2600.java:21) [intermediary-fabric-loader-0.8.2+build.194-1.15.2.jar:?]
at net.minecraft.class_2600$$Lambda$3830/230720802.run(Unknown Source) [intermediary-fabric-loader-0.8.2+build.194-1.15.2.jar:?]
at net.minecraft.class_3738.run(class_3738.java:18) [intermediary-fabric-loader-0.8.2+build.194-1.15.2.jar:?]
at net.minecraft.class_1255.method_18859(class_1255.java:144) [intermediary-fabric-loader-0.8.2+build.194-1.15.2.jar:?]
at net.minecraft.class_4093.method_18859(class_4093.java:23) [intermediary-fabric-loader-0.8.2+build.194-1.15.2.jar:?]
at net.minecraft.server.MinecraftServer.method_24306(MinecraftServer.java:743) [intermediary-fabric-loader-0.8.2+build.194-1.15.2.jar:?]
at net.minecraft.server.MinecraftServer.method_18859(MinecraftServer.java:138) [intermediary-fabric-loader-0.8.2+build.194-1.15.2.jar:?]
at net.minecraft.class_1255.method_16075(class_1255.java:118) [intermediary-fabric-loader-0.8.2+build.194-1.15.2.jar:?]
at net.minecraft.server.MinecraftServer.method_20415(MinecraftServer.java:725) [intermediary-fabric-loader-0.8.2+build.194-1.15.2.jar:?]
at net.minecraft.server.MinecraftServer.method_16075(MinecraftServer.java:719) [intermediary-fabric-loader-0.8.2+build.194-1.15.2.jar:?]
at net.minecraft.class_1255.method_18857(class_1255.java:127) [intermediary-fabric-loader-0.8.2+build.194-1.15.2.jar:?]
at net.minecraft.server.MinecraftServer.method_16208(MinecraftServer.java:704) [intermediary-fabric-loader-0.8.2+build.194-1.15.2.jar:?]
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:659) [intermediary-fabric-loader-0.8.2+build.194-1.15.2.jar:?]
at java.lang.Thread.run(Thread.java:745) [?:1.8.0_51]
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_51]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_51]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_51]
at java.lang.reflect.Method.invoke(Method.java:497) ~[?:1.8.0_51]
at com.sk89q.worldedit.util.eventbus.MethodEventHandler.dispatch(MethodEventHandler.java:58) ~[worldedit-fabric-mc1.15.2-7.1.0.jar:?]
at com.sk89q.worldedit.util.eventbus.EventHandler.handleEvent(EventHandler.java:73) ~[worldedit-fabric-mc1.15.2-7.1.0.jar:?]
... 25 more
Caused by: java.lang.ClassCastException: net.minecraft.class_2248 cannot be cast to net.minecraft.class_2185
at net.minecraft.class_2573.method_11014(class_2573.java:111) ~[intermediary-fabric-loader-0.8.2+build.194-1.15.2.jar:?]
at com.sk89q.worldedit.fabric.FabricWorld.setBlock(FabricWorld.java:196) ~[worldedit-fabric-mc1.15.2-7.1.0.jar:?]
at com.sk89q.worldedit.extent.world.FastModeExtent.setBlock(FastModeExtent.java:112) ~[worldedit-fabric-mc1.15.2-7.1.0.jar:?]
at com.sk89q.worldedit.extent.AbstractDelegateExtent.setBlock(AbstractDelegateExtent.java:80) ~[worldedit-fabric-mc1.15.2-7.1.0.jar:?]
at com.sk89q.worldedit.extent.world.SurvivalModeExtent.setBlock(SurvivalModeExtent.java:100) ~[worldedit-fabric-mc1.15.2-7.1.0.jar:?]
at com.sk89q.worldedit.extent.AbstractDelegateExtent.setBlock(AbstractDelegateExtent.java:80) ~[worldedit-fabric-mc1.15.2-7.1.0.jar:?]
at com.sk89q.worldedit.extent.world.BlockQuirkExtent.setBlock(BlockQuirkExtent.java:63) ~[worldedit-fabric-mc1.15.2-7.1.0.jar:?]
at com.sk89q.worldedit.extent.AbstractDelegateExtent.setBlock(AbstractDelegateExtent.java:80) ~[worldedit-fabric-mc1.15.2-7.1.0.jar:?]
at com.sk89q.worldedit.extent.world.ChunkLoadingExtent.setBlock(ChunkLoadingExtent.java:70) ~[worldedit-fabric-mc1.15.2-7.1.0.jar:?]
at com.sk89q.worldedit.extent.AbstractDelegateExtent.setBlock(AbstractDelegateExtent.java:80) ~[worldedit-fabric-mc1.15.2-7.1.0.jar:?]
at com.sk89q.worldedit.extent.cache.LastAccessExtentCache.setBlock(LastAccessExtentCache.java:74) ~[worldedit-fabric-mc1.15.2-7.1.0.jar:?]
at com.sk89q.worldedit.extent.AbstractDelegateExtent.setBlock(AbstractDelegateExtent.java:80) ~[worldedit-fabric-mc1.15.2-7.1.0.jar:?]
at com.sk89q.worldedit.extent.inventory.BlockBagExtent.setBlock(BlockBagExtent.java:114) ~[worldedit-fabric-mc1.15.2-7.1.0.jar:?]
at com.sk89q.worldedit.function.operation.SetBlockMap.resume(SetBlockMap.java:47) ~[worldedit-fabric-mc1.15.2-7.1.0.jar:?]
at com.sk89q.worldedit.extent.reorder.MultiStageReorder$1.resume(MultiStageReorder.java:268) ~[worldedit-fabric-mc1.15.2-7.1.0.jar:?]
at com.sk89q.worldedit.function.operation.OperationQueue.resume(OperationQueue.java:92) ~[worldedit-fabric-mc1.15.2-7.1.0.jar:?]
at com.sk89q.worldedit.function.operation.OperationQueue.resume(OperationQueue.java:92) ~[worldedit-fabric-mc1.15.2-7.1.0.jar:?]
at com.sk89q.worldedit.function.operation.Operations.completeBlindly(Operations.java:74) ~[worldedit-fabric-mc1.15.2-7.1.0.jar:?]
at com.sk89q.worldedit.EditSession.flushSession(EditSession.java:808) ~[worldedit-fabric-mc1.15.2-7.1.0.jar:?]
at com.sk89q.worldedit.extension.platform.PlatformCommandManager.handleCommand(PlatformCommandManager.java:532) ~[worldedit-fabric-mc1.15.2-7.1.0.jar:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_51]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_51]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_51]
at java.lang.reflect.Method.invoke(Method.java:497) ~[?:1.8.0_51]
at com.sk89q.worldedit.util.eventbus.MethodEventHandler.dispatch(MethodEventHandler.java:58) ~[worldedit-fabric-mc1.15.2-7.1.0.jar:?]
at com.sk89q.worldedit.util.eventbus.EventHandler.handleEvent(EventHandler.java:73) ~[worldedit-fabric-mc1.15.2-7.1.0.jar:?]
... 25 more
[21:04:49] [main/INFO]: [CHAT] Please report this error: [See console]
[21:04:49] [main/INFO]: [CHAT] java.lang.ClassCastException: net.minecraft.class_2248 cannot be cast to net.minecraft.class_2185
[21:04:49] [Server thread/ERROR]: An unexpected error while handling a WorldEdit command
java.lang.ClassCastException: net.minecraft.class_2248 cannot be cast to net.minecraft.class_2185
at net.minecraft.class_2573.method_11014(class_2573.java:111) ~[intermediary-fabric-loader-0.8.2+build.194-1.15.2.jar:?]
at com.sk89q.worldedit.fabric.FabricWorld.setBlock(FabricWorld.java:196) ~[worldedit-fabric-mc1.15.2-7.1.0.jar:?]
at com.sk89q.worldedit.extent.world.FastModeExtent.setBlock(FastModeExtent.java:112) ~[worldedit-fabric-mc1.15.2-7.1.0.jar:?]
at com.sk89q.worldedit.extent.AbstractDelegateExtent.setBlock(AbstractDelegateExtent.java:80) ~[worldedit-fabric-mc1.15.2-7.1.0.jar:?]
at com.sk89q.worldedit.extent.world.SurvivalModeExtent.setBlock(SurvivalModeExtent.java:100) ~[worldedit-fabric-mc1.15.2-7.1.0.jar:?]
at com.sk89q.worldedit.extent.AbstractDelegateExtent.setBlock(AbstractDelegateExtent.java:80) ~[worldedit-fabric-mc1.15.2-7.1.0.jar:?]
at com.sk89q.worldedit.extent.world.BlockQuirkExtent.setBlock(BlockQuirkExtent.java:63) ~[worldedit-fabric-mc1.15.2-7.1.0.jar:?]
at com.sk89q.worldedit.extent.AbstractDelegateExtent.setBlock(AbstractDelegateExtent.java:80) ~[worldedit-fabric-mc1.15.2-7.1.0.jar:?]
at com.sk89q.worldedit.extent.world.ChunkLoadingExtent.setBlock(ChunkLoadingExtent.java:70) ~[worldedit-fabric-mc1.15.2-7.1.0.jar:?]
at com.sk89q.worldedit.extent.AbstractDelegateExtent.setBlock(AbstractDelegateExtent.java:80) ~[worldedit-fabric-mc1.15.2-7.1.0.jar:?]
at com.sk89q.worldedit.extent.cache.LastAccessExtentCache.setBlock(LastAccessExtentCache.java:74) ~[worldedit-fabric-mc1.15.2-7.1.0.jar:?]
at com.sk89q.worldedit.extent.AbstractDelegateExtent.setBlock(AbstractDelegateExtent.java:80) ~[worldedit-fabric-mc1.15.2-7.1.0.jar:?]
at com.sk89q.worldedit.extent.inventory.BlockBagExtent.setBlock(BlockBagExtent.java:114) ~[worldedit-fabric-mc1.15.2-7.1.0.jar:?]
at com.sk89q.worldedit.function.operation.SetBlockMap.resume(SetBlockMap.java:47) ~[worldedit-fabric-mc1.15.2-7.1.0.jar:?]
at com.sk89q.worldedit.extent.reorder.MultiStageReorder$1.resume(MultiStageReorder.java:268) ~[worldedit-fabric-mc1.15.2-7.1.0.jar:?]
at com.sk89q.worldedit.function.operation.OperationQueue.resume(OperationQueue.java:92) ~[worldedit-fabric-mc1.15.2-7.1.0.jar:?]
at com.sk89q.worldedit.function.operation.OperationQueue.resume(OperationQueue.java:92) ~[worldedit-fabric-mc1.15.2-7.1.0.jar:?]
at com.sk89q.worldedit.function.operation.Operations.completeBlindly(Operations.java:74) ~[worldedit-fabric-mc1.15.2-7.1.0.jar:?]
at com.sk89q.worldedit.EditSession.flushSession(EditSession.java:808) ~[worldedit-fabric-mc1.15.2-7.1.0.jar:?]
at com.sk89q.worldedit.EditSession.setReorderMode(EditSession.java:319) ~[worldedit-fabric-mc1.15.2-7.1.0.jar:?]
at com.sk89q.worldedit.LocalSession.prepareEditingExtents(LocalSession.java:999) ~[worldedit-fabric-mc1.15.2-7.1.0.jar:?]
at com.sk89q.worldedit.LocalSession.undo(LocalSession.java:246) ~[worldedit-fabric-mc1.15.2-7.1.0.jar:?]
at com.sk89q.worldedit.command.HistoryCommands.undo(HistoryCommands.java:79) ~[worldedit-fabric-mc1.15.2-7.1.0.jar:?]
at com.sk89q.worldedit.command.HistoryCommandsRegistration.cmd$undo(HistoryCommandsRegistration.java:136) ~[worldedit-fabric-mc1.15.2-7.1.0.jar:?]
at com.sk89q.worldedit.command.HistoryCommandsRegistration$$Lambda$3383/610991747.run(Unknown Source) ~[?:?]
at org.enginehub.piston.CommandManager.execute(CommandManager.java:158) ~[worldedit-fabric-mc1.15.2-7.1.0.jar:?]
at com.sk89q.worldedit.extension.platform.PlatformCommandManager.handleCommand(PlatformCommandManager.java:486) [worldedit-fabric-mc1.15.2-7.1.0.jar:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_51]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_51]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_51]
at java.lang.reflect.Method.invoke(Method.java:497) ~[?:1.8.0_51]
at com.sk89q.worldedit.util.eventbus.MethodEventHandler.dispatch(MethodEventHandler.java:58) [worldedit-fabric-mc1.15.2-7.1.0.jar:?]
at com.sk89q.worldedit.util.eventbus.EventHandler.handleEvent(EventHandler.java:73) [worldedit-fabric-mc1.15.2-7.1.0.jar:?]
at com.sk89q.worldedit.util.eventbus.EventBus.dispatch(EventBus.java:193) [worldedit-fabric-mc1.15.2-7.1.0.jar:?]
at com.sk89q.worldedit.util.eventbus.EventBus.post(EventBus.java:181) [worldedit-fabric-mc1.15.2-7.1.0.jar:?]
at com.sk89q.worldedit.fabric.CommandWrapper.lambda$register$0(CommandWrapper.java:65) [worldedit-fabric-mc1.15.2-7.1.0.jar:?]
at com.sk89q.worldedit.fabric.CommandWrapper$$Lambda$3584/1140203729.run(Unknown Source) [worldedit-fabric-mc1.15.2-7.1.0.jar:?]
at com.mojang.brigadier.CommandDispatcher.execute(CommandDispatcher.java:262) [brigadier-1.0.17.jar:?]
at com.mojang.brigadier.CommandDispatcher.execute(CommandDispatcher.java:176) [brigadier-1.0.17.jar:?]
at net.minecraft.class_2170.method_9249(class_2170.java:235) [intermediary-fabric-loader-0.8.2+build.194-1.15.2.jar:?]
at net.minecraft.class_3244.method_14370(class_3244.java:1083) [intermediary-fabric-loader-0.8.2+build.194-1.15.2.jar:?]
at net.minecraft.class_3244.method_12048(class_3244.java:1070) [intermediary-fabric-loader-0.8.2+build.194-1.15.2.jar:?]
at net.minecraft.class_2797.method_12115(class_2797.java:36) [intermediary-fabric-loader-0.8.2+build.194-1.15.2.jar:?]
at net.minecraft.class_2797.method_11054(class_2797.java:9) [intermediary-fabric-loader-0.8.2+build.194-1.15.2.jar:?]
at net.minecraft.class_2600.method_11072(class_2600.java:21) [intermediary-fabric-loader-0.8.2+build.194-1.15.2.jar:?]
at net.minecraft.class_2600$$Lambda$3830/230720802.run(Unknown Source) [intermediary-fabric-loader-0.8.2+build.194-1.15.2.jar:?]
at net.minecraft.class_3738.run(class_3738.java:18) [intermediary-fabric-loader-0.8.2+build.194-1.15.2.jar:?]
at net.minecraft.class_1255.method_18859(class_1255.java:144) [intermediary-fabric-loader-0.8.2+build.194-1.15.2.jar:?]
at net.minecraft.class_4093.method_18859(class_4093.java:23) [intermediary-fabric-loader-0.8.2+build.194-1.15.2.jar:?]
at net.minecraft.server.MinecraftServer.method_24306(MinecraftServer.java:743) [intermediary-fabric-loader-0.8.2+build.194-1.15.2.jar:?]
at net.minecraft.server.MinecraftServer.method_18859(MinecraftServer.java:138) [intermediary-fabric-loader-0.8.2+build.194-1.15.2.jar:?]
at net.minecraft.class_1255.method_16075(class_1255.java:118) [intermediary-fabric-loader-0.8.2+build.194-1.15.2.jar:?]
at net.minecraft.server.MinecraftServer.method_20415(MinecraftServer.java:725) [intermediary-fabric-loader-0.8.2+build.194-1.15.2.jar:?]
at net.minecraft.server.MinecraftServer.method_16075(MinecraftServer.java:719) [intermediary-fabric-loader-0.8.2+build.194-1.15.2.jar:?]
at net.minecraft.class_1255.method_18857(class_1255.java:127) [intermediary-fabric-loader-0.8.2+build.194-1.15.2.jar:?]
at net.minecraft.server.MinecraftServer.method_16208(MinecraftServer.java:704) [intermediary-fabric-loader-0.8.2+build.194-1.15.2.jar:?]
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:659) [intermediary-fabric-loader-0.8.2+build.194-1.15.2.jar:?]
at java.lang.Thread.run(Thread.java:745) [?:1.8.0_51]
This might be an issue with upstream fabric instead, or with interaction between worldedit and fabric. Posted here for completeness and further analysis.
How does Paper come into this?
Can you post your full log on https://paste.enginehub.org/ and put the link here?
paper and fabric are incompatible platforms. which is it? also the stacktrace is in MC code, not WE code. unsure what those classes map to though...maybe TE issues?
Ah I've missed another exception, full log here: https://paste.enginehub.org/gidVa9g-V.
Edit: Mixed paper and fabric names, excuse me for that.
Root Cause
I've narrowed down the problem, after extensive testing I've found the cause of the problem.
Unfortunately it seems to not be exclusive to my previously created schematic. It seems as if any
created schematic with a banner, will be unable to be undone after pasting.
The following images are added for illustration:
Pasted schematic
Manually broken
Once manually broken however it seems as if the banner item does drop, although it is invisible in-game once pasted.
Schematic
I've included the created schematic below for testing purposes:
https://send.firefox.com/download/d6e35d855177c03a/#5TiXBcV3Bincg5OwaoAJ5A
Just confirmed that this seems to be occurring in the single-player version mod only (fabric) so far. Bukkit plugins seems to handle it just fine. Feel free to adjust priority accordingly.