2
0
Эх сурвалжийг харах

proper InventoryClickEvent array index fix

nossr50 5 жил өмнө
parent
commit
cf6af4630d

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

@@ -436,15 +436,13 @@ public class InventoryListener implements Listener {
     public void onInventoryClickEvent(InventoryClickEvent event) {
         SkillUtils.removeAbilityBuff(event.getCurrentItem());
         if (event.getAction() == InventoryAction.HOTBAR_SWAP) {
-            PlayerInventory playerInventory = event.getWhoClicked().getInventory();
+            if(event.getHotbarButton() == -1)
+                return;
 
-            //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()));
-            }
+            PlayerInventory playerInventory = event.getWhoClicked().getInventory();
 
+            if(playerInventory.getItem(event.getHotbarButton()) != null)
+                SkillUtils.removeAbilityBuff(event.getWhoClicked().getInventory().getItem(event.getHotbarButton()));
         }
     }
 

+ 3 - 0
src/main/java/com/gmail/nossr50/util/skills/CombatUtils.java

@@ -435,6 +435,9 @@ public final class CombatUtils {
             Projectile arrow = (Projectile) painSource;
             ProjectileSource projectileSource = arrow.getShooter();
 
+            //Determine if the arrow belongs to a bow or xbow
+
+
             if (projectileSource instanceof Player && PrimarySkillType.ARCHERY.shouldProcess(target)) {
                 Player player = (Player) projectileSource;