Browse Source

Array out of index fix

nossr50 5 years ago
parent
commit
bb167b00eb
2 changed files with 9 additions and 4 deletions
  1. 2 1
      Changelog.txt
  2. 7 3
      src/main/java/com/gmail/nossr50/listeners/InventoryListener.java

+ 2 - 1
Changelog.txt

@@ -15,7 +15,8 @@ Version 2.1.133
 
     Permission node descriptions had mentions of ability changed to sub-skill and other minor corrections
     Smelting now has a Bonus Drops section in config.yml
-    Smelting now only doubles smelting results for items which have bonus drop entries in the config
+    Second Smelt now only doubles smelting results for items which have bonus drop entries in the config
+    Fixed an array out of index bug for inventory click events
 
     (These permissions are all included in the mcmmo.defaults node)
     New permission node 'mcmmo.commands.tridents'

+ 7 - 3
src/main/java/com/gmail/nossr50/listeners/InventoryListener.java

@@ -438,9 +438,13 @@ public class InventoryListener implements Listener {
         if (event.getAction() == InventoryAction.HOTBAR_SWAP) {
             PlayerInventory playerInventory = event.getWhoClicked().getInventory();
 
-            if(playerInventory.getSize())
-            if(event.getWhoClicked().getInventory().getItem(event.getHotbarButton()) != null)
-                SkillUtils.removeAbilityBuff(event.getWhoClicked().getInventory().getItem(event.getHotbarButton()));
+            //TODO: Is this a spigot bug?
+            if(playerInventory.getContents().length > event.getHotbarButton())
+            {
+                if(event.getWhoClicked().getInventory().getItem(event.getHotbarButton()) != null)
+                    SkillUtils.removeAbilityBuff(event.getWhoClicked().getInventory().getItem(event.getHotbarButton()));
+            }
+
         }
     }