ArrayIndexOutOfBoundsException on teleport with full inventory
sleite opened this issue ยท 4 comments
When I /mvtp to another world with a full inventory, I get the following console errors:
12:26:32 AM [INFO] sleite issued server command: /mvtp world_2
12:26:32 AM [WARN] java.lang.ArrayIndexOutOfBoundsException: 36
12:26:32 AM [WARN] at com.onarandombox.multiverseinventories.api.DataStrings.parseInventory(DataStrings.java:421)
12:26:32 AM [WARN] at com.onarandombox.multiverseinventories.api.share.InventorySerializer.deserialize(InventorySerializer.java:20)
12:26:32 AM [WARN] at com.onarandombox.multiverseinventories.api.share.InventorySerializer.deserialize(InventorySerializer.java:10)
12:26:32 AM [WARN] at com.onarandombox.multiverseinventories.util.data.DefaultPlayerProfile.(DefaultPlayerProfile.java:76)
12:26:32 AM [WARN] at com.onarandombox.multiverseinventories.util.data.FlatFilePlayerData.getPlayerData(FlatFilePlayerData.java:283)
12:26:32 AM [WARN] at com.onarandombox.multiverseinventories.WeakProfileContainer.getPlayerData(WeakProfileContainer.java:98)
12:26:32 AM [WARN] at com.onarandombox.multiverseinventories.WeakProfileContainer.getPlayerData(WeakProfileContainer.java:87)
12:26:32 AM [WARN] at com.onarandombox.multiverseinventories.WorldChangeShareHandler.handle(WorldChangeShareHandler.java:33)
12:26:32 AM [WARN] at com.onarandombox.multiverseinventories.ShareHandler.handleSharing(ShareHandler.java:56)
12:26:32 AM [WARN] at com.onarandombox.multiverseinventories.InventoriesListener.playerChangedWorld(InventoriesListener.java:183)
12:26:32 AM [WARN] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
12:26:32 AM [WARN] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
12:26:32 AM [WARN] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
12:26:32 AM [WARN] at java.lang.reflect.Method.invoke(Unknown Source)
12:26:32 AM [WARN] at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:306)
12:26:32 AM [WARN] at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62)
12:26:32 AM [WARN] at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:502)
12:26:32 AM [WARN] at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:487)
12:26:32 AM [WARN] at net.minecraft.server.v1_9_R1.PlayerList.moveToWorld(PlayerList.java:684)
12:26:32 AM [WARN] at org.bukkit.craftbukkit.v1_9_R1.entity.CraftPlayer.teleport(CraftPlayer.java:468)
12:26:32 AM [WARN] at org.bukkit.craftbukkit.v1_9_R1.entity.CraftEntity.teleport(CraftEntity.java:225)
12:26:32 AM [WARN] at com.onarandombox.MultiverseCore.utils.SimpleSafeTTeleporter.safelyTeleport(SimpleSafeTTeleporter.java:215)
12:26:32 AM [WARN] at com.onarandombox.MultiverseCore.utils.SimpleSafeTTeleporter.teleport(SimpleSafeTTeleporter.java:335)
12:26:32 AM [WARN] at com.onarandombox.MultiverseCore.commands.TeleportCommand.runCommand(TeleportCommand.java:163)
12:26:32 AM [WARN] at com.pneumaticraft.commandhandler.multiverse.CommandHandler.checkAndRunCommand(CommandHandler.java:279)
12:26:32 AM [WARN] at com.pneumaticraft.commandhandler.multiverse.CommandHandler.processFoundCommands(CommandHandler.java:143)
12:26:32 AM [WARN] at com.pneumaticraft.commandhandler.multiverse.CommandHandler.locateAndRunCommand(CommandHandler.java:93)
12:26:32 AM [WARN] at com.onarandombox.MultiverseCore.MultiverseCore.onCommand(MultiverseCore.java:916)
12:26:32 AM [WARN] at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44)
12:26:32 AM [WARN] at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:141)
12:26:32 AM [WARN] at org.bukkit.craftbukkit.v1_9_R1.CraftServer.dispatchCommand(CraftServer.java:645)
12:26:32 AM [WARN] at net.minecraft.server.v1_9_R1.PlayerConnection.handleCommand(PlayerConnection.java:1350)
12:26:32 AM [WARN] at net.minecraft.server.v1_9_R1.PlayerConnection.a(PlayerConnection.java:1185)
12:26:32 AM [WARN] at net.minecraft.server.v1_9_R1.PacketPlayInChat.a(PacketPlayInChat.java:45)
12:26:32 AM [WARN] at net.minecraft.server.v1_9_R1.PacketPlayInChat.a(PacketPlayInChat.java:1)
12:26:32 AM [WARN] at net.minecraft.server.v1_9_R1.PlayerConnectionUtils$1.run(SourceFile:13)
12:26:32 AM [WARN] at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
12:26:32 AM [WARN] at java.util.concurrent.FutureTask.run(Unknown Source)
12:26:32 AM [WARN] at net.minecraft.server.v1_9_R1.SystemUtils.a(SourceFile:45)
12:26:32 AM [WARN] at net.minecraft.server.v1_9_R1.MinecraftServer.D(MinecraftServer.java:721)
12:26:32 AM [WARN] at net.minecraft.server.v1_9_R1.DedicatedServer.D(DedicatedServer.java:400)
12:26:32 AM [WARN] at net.minecraft.server.v1_9_R1.MinecraftServer.C(MinecraftServer.java:660)
12:26:32 AM [WARN] at net.minecraft.server.v1_9_R1.MinecraftServer.run(MinecraftServer.java:559)
12:26:32 AM [WARN] at java.lang.Thread.run(Unknown Source)
12:26:32 AM [WARN] [Multiverse-Inventories] Could not parse item: ItemStack{DIAMOND_BOOTS x 1}
12:26:32 AM [WARN] [Multiverse-Inventories] Invalid key: 37 while parsing inventory
12:26:32 AM [WARN] [Multiverse-Inventories] Invalid key: 38 while parsing inventory
12:26:32 AM [WARN] [Multiverse-Inventories] Invalid key: 39 while parsing inventory
Confirming as bug due to multiple reports. Will use this as the primary issue.
The problem seems to be related to the new item slots (off hand) introduced in 1.9. I believe armor was also added to the primary inventory which is almost certainly related.
I need to get a confirmation on whether #161 is fixed before I waste time fixing anything else.