xaniox / HeavySpleef

Advanced and highly configurable Spleef plugin for Bukkit
http://dev.bukkit.org/server-mods/heavyspleef/
GNU General Public License v3.0
12 stars 19 forks source link

Inventory not comming back #23

Closed kryldost closed 8 years ago

kryldost commented 8 years ago

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?

xaniox commented 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?

kryldost commented 8 years ago

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)

xaniox commented 8 years ago

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.

kryldost commented 8 years ago

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.

xaniox commented 8 years ago

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.

xaniox commented 8 years ago

No response for almost two months now. I assume this issue has been resolved.