Пытаюсь сразу выдавать эффект после чего обновлять инвентарь то эффект появляется/снимается только когда ты кликнул по блоку или по воздуху. Если просто взять щит и ничего не делать то эффект не выдается.
Java:
@EventHandler
public void onPlayerInteractAtEntity(PlayerInteractAtEntityEvent e) {
Player player = e.getPlayer();
ItemStack item = player.getInventory().getItemInOffHand();
if (item.getType() == Material.SHIELD) {
player.updateInventory();
player.addPotionEffect(new PotionEffect(PotionEffectType.REGENERATION, 200, 1));
} else {
player.updateInventory();
player.removePotionEffect(PotionEffectType.REGENERATION);
}
}