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

View File

@ -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;