proper InventoryClickEvent array index fix

This commit is contained in:
nossr50 2020-07-07 13:52:20 -07:00
parent bb167b00eb
commit cf6af4630d
2 changed files with 8 additions and 7 deletions

View File

@ -436,16 +436,14 @@ public class InventoryListener implements Listener {
public void onInventoryClickEvent(InventoryClickEvent event) { public void onInventoryClickEvent(InventoryClickEvent event) {
SkillUtils.removeAbilityBuff(event.getCurrentItem()); SkillUtils.removeAbilityBuff(event.getCurrentItem());
if (event.getAction() == InventoryAction.HOTBAR_SWAP) { if (event.getAction() == InventoryAction.HOTBAR_SWAP) {
if(event.getHotbarButton() == -1)
return;
PlayerInventory playerInventory = event.getWhoClicked().getInventory(); PlayerInventory playerInventory = event.getWhoClicked().getInventory();
//TODO: Is this a spigot bug? if(playerInventory.getItem(event.getHotbarButton()) != null)
if(playerInventory.getContents().length > event.getHotbarButton())
{
if(event.getWhoClicked().getInventory().getItem(event.getHotbarButton()) != null)
SkillUtils.removeAbilityBuff(event.getWhoClicked().getInventory().getItem(event.getHotbarButton())); SkillUtils.removeAbilityBuff(event.getWhoClicked().getInventory().getItem(event.getHotbarButton()));
} }
}
} }
@EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true) @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)

View File

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