Closed kryldost closed 8 years ago
This is more likely to be a bug. Does this happen to you everytime you're playing Spleef? Could you describe under which circumstances the inventory loss occurs?
I'm really unsure how it happened. On top of it all I installed the plugin yesterday, I won't be able to keep it if it keeps doing that. The last game I played, I was still in the process of fixing a few things mostly flags. Force stopped a game using /spleef stop, I only noticed my inventory glitched a while after.
[15:40:56] [Server thread/INFO]: Kryldost issued server command: /spleef stop [15:40:56] [Server thread/ERROR]: [HeavySpleef] Unhandled exception executing command "stop" java.lang.IllegalArgumentException: Cannot drop AIR. at org.apache.commons.lang.Validate.isTrue(Validate.java:136) ~[spigot-1.9.2.jar:git-Spigot-e6f93f4-935f18b] at org.bukkit.craftbukkit.v1_9_R1.CraftWorld.dropItem(CraftWorld.java:329) ~[spigot-1.9.2.jar:git-Spigot-e6f93f4-935f18b] at de.xaniox.heavyspleef.core.player.PlayerStateHolder.apply(PlayerStateHolder.java:140) ~[HeavySpleef.jar:?] at de.xaniox.heavyspleef.core.game.Game.leave(Game.java:721) ~[HeavySpleef.jar:?] at de.xaniox.heavyspleef.core.game.Game.stop(Game.java:449) ~[HeavySpleef.jar:?] at de.xaniox.heavyspleef.commands.CommandStop.onStopCommand(CommandStop.java:63) ~[HeavySpleef.jar:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_91] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_91] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_91] at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_91] at de.xaniox.heavyspleef.commands.base.DefaultCommandExecution.invokeMethod(DefaultCommandExecution.java:148) [HeavySpleef.jar:?] at de.xaniox.heavyspleef.commands.base.DefaultCommandExecution.execute(DefaultCommandExecution.java:82) [HeavySpleef.jar:?] at de.xaniox.heavyspleef.commands.base.CommandContainer.execute(CommandContainer.java:152) [HeavySpleef.jar:?] at de.xaniox.heavyspleef.commands.base.CommandManagerService.onCommand(CommandManagerService.java:199) [HeavySpleef.jar:?] at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) [spigot-1.9.2.jar:git-Spigot-e6f93f4-935f18b] at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:141) [spigot-1.9.2.jar:git-Spigot-e6f93f4-935f18b] at org.bukkit.craftbukkit.v1_9_R1.CraftServer.dispatchCommand(CraftServer.java:645) [spigot-1.9.2.jar:git-Spigot-e6f93f4-935f18b] at net.minecraft.server.v1_9_R1.PlayerConnection.handleCommand(PlayerConnection.java:1350) [spigot-1.9.2.jar:git-Spigot-e6f93f4-935f18b] at net.minecraft.server.v1_9_R1.PlayerConnection.a(PlayerConnection.java:1185) [spigot-1.9.2.jar:git-Spigot-e6f93f4-935f18b] at net.minecraft.server.v1_9_R1.PacketPlayInChat.a(PacketPlayInChat.java:45) [spigot-1.9.2.jar:git-Spigot-e6f93f4-935f18b] at net.minecraft.server.v1_9_R1.PacketPlayInChat.a(PacketPlayInChat.java:1) [spigot-1.9.2.jar:git-Spigot-e6f93f4-935f18b] at net.minecraft.server.v1_9_R1.PlayerConnectionUtils$1.run(SourceFile:13) [spigot-1.9.2.jar:git-Spigot-e6f93f4-935f18b] at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [?:1.8.0_91] at java.util.concurrent.FutureTask.run(Unknown Source) [?:1.8.0_91] at net.minecraft.server.v1_9_R1.SystemUtils.a(SourceFile:45) [spigot-1.9.2.jar:git-Spigot-e6f93f4-935f18b] at net.minecraft.server.v1_9_R1.MinecraftServer.D(MinecraftServer.java:721) [spigot-1.9.2.jar:git-Spigot-e6f93f4-935f18b] at net.minecraft.server.v1_9_R1.DedicatedServer.D(DedicatedServer.java:400) [spigot-1.9.2.jar:git-Spigot-e6f93f4-935f18b] at net.minecraft.server.v1_9_R1.MinecraftServer.C(MinecraftServer.java:660) [spigot-1.9.2.jar:git-Spigot-e6f93f4-935f18b] at net.minecraft.server.v1_9_R1.MinecraftServer.run(MinecraftServer.java:559) [spigot-1.9.2.jar:git-Spigot-e6f93f4-935f18b] at java.lang.Thread.run(Unknown Source) [?:1.8.0_91]
After I cleared my inventory I no longer got this error. I also seemed to get errors out of the scoreboard so I turned them off. (I havent joined a mysql database to that so I'm guessing it is my scoreboard problem)
This error has been reported by several users before. Please try upgrading to the latest development build available here as it should resolve your issue.
I'm still not sure thats my issue, me stopping a game. The inventory loss happened on a seperate account. I was testing the plugin from a players view. I can ask users to empty their inventory to avoid loss. Just can't control the damage as effectively as if they couldn't join a gain with items in their inventory... I have no experience with coding, I can't tell if it would be difficult to rearrange a plugin to accept new factors. I do believe having a small option where you could opt for such a requirement would be a decent fix to the issue I'm experiencing.
I'm pretty sure the development build will fix the inventory loss. Examining the error I see that it is being caused by the exact reason as in #21. I would rather like to eliminate the actual bug than finding a dirty workaround to this by introducing an "only empty inventory" option.
No response for almost two months now. I assume this issue has been resolved.
I met at least 2 instances of inventory loss. One was for myself, and another was on another players. Could you add an option to the config where having an empty inventory would be a requirement?