slipcor / pvparena_modules

2 stars 7 forks source link

WorldEdit schematic saving breaking changes. #24

Open mibby opened 5 years ago

mibby commented 5 years ago

PVPArena v1.13.5 WorldEdit module v1.13.2 WorldEdit dev 4111

@slipcor Something may have broke with a recent change to WorldEdit. :(

The file Spleef_battlefield.schematic exists in the root directory of pvparena.

[15:55:55] [Server thread/INFO]: mibby issued server command: /pa Spleef regload battlefield
[15:55:55] [Server thread/WARN]: java.io.FileNotFoundException: /Spleef_battlefield.schematic (No such file or directory)
[15:55:55] [Server thread/WARN]:    at java.base/java.io.FileInputStream.open0(Native Method)
[15:55:55] [Server thread/WARN]:    at java.base/java.io.FileInputStream.open(FileInputStream.java:219)
[15:55:55] [Server thread/WARN]:    at java.base/java.io.FileInputStream.<init>(FileInputStream.java:157)
[15:55:55] [Server thread/WARN]:    at net.slipcor.pvparena.modules.worldedit.PAWE.load(PAWE.java:272)
[15:55:55] [Server thread/WARN]:    at net.slipcor.pvparena.modules.worldedit.PAWE.load(PAWE.java:257)
[15:55:55] [Server thread/WARN]:    at net.slipcor.pvparena.modules.worldedit.PAWE.commitCommand(PAWE.java:118)
[15:55:55] [Server thread/WARN]:    at net.slipcor.pvparena.classes.PACheck.handleCommand(PACheck.java:147)
[15:55:55] [Server thread/WARN]:    at net.slipcor.pvparena.PVPArena.onCommand(PVPArena.java:370)
[15:55:55] [Server thread/WARN]:    at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46)
[15:55:55] [Server thread/WARN]:    at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:151)
[15:55:55] [Server thread/WARN]:    at org.bukkit.craftbukkit.v1_13_R2.CraftServer.dispatchCommand(CraftServer.java:734)
[15:55:55] [Server thread/WARN]:    at net.minecraft.server.v1_13_R2.PlayerConnection.handleCommand(PlayerConnection.java:1782)
[15:55:55] [Server thread/WARN]:    at net.minecraft.server.v1_13_R2.PlayerConnection.a(PlayerConnection.java:1590)
[15:55:55] [Server thread/WARN]:    at net.minecraft.server.v1_13_R2.PacketPlayInChat.a(PacketPlayInChat.java:45)
[15:55:55] [Server thread/WARN]:    at net.minecraft.server.v1_13_R2.PacketPlayInChat.a(PacketPlayInChat.java:5)
[15:55:55] [Server thread/WARN]:    at net.minecraft.server.v1_13_R2.PlayerConnectionUtils.lambda$ensureMainThread$0(PlayerConnectionUtils.java:15)
[15:55:55] [Server thread/WARN]:    at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
[15:55:55] [Server thread/WARN]:    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
[15:55:55] [Server thread/WARN]:    at net.minecraft.server.v1_13_R2.SystemUtils.a(SystemUtils.java:108)
[15:55:55] [Server thread/WARN]:    at net.minecraft.server.v1_13_R2.MinecraftServer.b(MinecraftServer.java:1011)
[15:55:55] [Server thread/WARN]:    at net.minecraft.server.v1_13_R2.DedicatedServer.b(DedicatedServer.java:439)
[15:55:55] [Server thread/WARN]:    at net.minecraft.server.v1_13_R2.MinecraftServer.a(MinecraftServer.java:938)
[15:55:55] [Server thread/WARN]:    at net.minecraft.server.v1_13_R2.MinecraftServer.run(MinecraftServer.java:836)
[15:55:55] [Server thread/WARN]:    at java.base/java.lang.Thread.run(Thread.java:834)

I tried re-saving the region but it just created a 0 byte file with this error.

[16:03:11] [Server thread/INFO]: mibby issued server command: /pa Spleef regsave battlefield
[16:03:12] [Server thread/WARN]: java.io.IOException: This format does not support saving
[16:03:12] [Server thread/WARN]:    at com.sk89q.worldedit.extent.clipboard.io.BuiltInClipboardFormat$1.getWriter(BuiltInClipboardFormat.java:62)
[16:03:12] [Server thread/WARN]:    at net.slipcor.pvparena.modules.worldedit.PAWE.save(PAWE.java:385)
[16:03:12] [Server thread/WARN]:    at net.slipcor.pvparena.modules.worldedit.PAWE.save(PAWE.java:351)
[16:03:12] [Server thread/WARN]:    at net.slipcor.pvparena.modules.worldedit.PAWE.commitCommand(PAWE.java:134)
[16:03:12] [Server thread/WARN]:    at net.slipcor.pvparena.classes.PACheck.handleCommand(PACheck.java:147)
[16:03:12] [Server thread/WARN]:    at net.slipcor.pvparena.PVPArena.onCommand(PVPArena.java:370)
[16:03:12] [Server thread/WARN]:    at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46)
[16:03:12] [Server thread/WARN]:    at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:151)
[16:03:12] [Server thread/WARN]:    at org.bukkit.craftbukkit.v1_13_R2.CraftServer.dispatchCommand(CraftServer.java:734)
[16:03:12] [Server thread/WARN]:    at net.minecraft.server.v1_13_R2.PlayerConnection.handleCommand(PlayerConnection.java:1782)
[16:03:12] [Server thread/WARN]:    at net.minecraft.server.v1_13_R2.PlayerConnection.a(PlayerConnection.java:1590)
[16:03:12] [Server thread/WARN]:    at net.minecraft.server.v1_13_R2.PacketPlayInChat.a(PacketPlayInChat.java:45)
[16:03:12] [Server thread/WARN]:    at net.minecraft.server.v1_13_R2.PacketPlayInChat.a(PacketPlayInChat.java:5)
[16:03:12] [Server thread/WARN]:    at net.minecraft.server.v1_13_R2.PlayerConnectionUtils.lambda$ensureMainThread$0(PlayerConnectionUtils.java:15)
[16:03:12] [Server thread/WARN]:    at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
[16:03:12] [Server thread/WARN]:    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
[16:03:12] [Server thread/WARN]:    at net.minecraft.server.v1_13_R2.SystemUtils.a(SystemUtils.java:108)
[16:03:12] [Server thread/WARN]:    at net.minecraft.server.v1_13_R2.MinecraftServer.b(MinecraftServer.java:1011)
[16:03:12] [Server thread/WARN]:    at net.minecraft.server.v1_13_R2.DedicatedServer.b(DedicatedServer.java:439)
[16:03:12] [Server thread/WARN]:    at net.minecraft.server.v1_13_R2.MinecraftServer.a(MinecraftServer.java:938)
[16:03:12] [Server thread/WARN]:    at net.minecraft.server.v1_13_R2.MinecraftServer.run(MinecraftServer.java:836)
[16:03:12] [Server thread/WARN]:    at java.base/java.lang.Thread.run(Thread.java:834)
mibby commented 5 years ago

I believe it may be due to this commit? https://github.com/EngineHub/WorldEdit/commit/1934006d141612d5ae7bd2c92f686164ae8b42db https://github.com/EngineHub/WorldEdit/commit/25631af31c1fc6ab029f2b6700e22d2e77819cda

(e.g. if a plugin loads a schematic into the world with a mask, they should create the EditSession and mask it directly, and not use that Mask again for another EditSession in another World).

https://github.com/slipcor/pvparena_modules/blob/master/m_WorldEdit/src/net/slipcor/pvparena/modules/worldedit/PAWE.java#L264

Edit: Downgrading to WorldEdit dev 4106 seems to fix the issue.