- Баллы
- 108
- Имя в Minecraft
- CraftCoderr
Всем привет!
Есть обработчик события:
Проблема в том, что if как бы true и часть if'a выполняется а часть нет.
Заранее благодарю.
P.S. Коменты в коде
Есть обработчик события:
Код:
@EventHandler
public void onUse(EntityDamageByEntityEvent event)
{
if (event.getEntityType() == EntityType.PLAYER)
{
Player p = (Player) event.getEntity();
if(p.isBlocking())
{
ItemStack i = p.getItemInHand();
if(i.getType() == Material.WOOD_SWORD || i.getType() == Material.DIAMOND_SWORD || i.getType() == Material.STONE_SWORD || i.getType() == Material.IRON_SWORD)
{
List<String> str = new ArrayList<String>();
str.add("Shield");
event.setDamage(0.0); //это срабатывает
if (i.getItemMeta().hasLore() && i.getItemMeta().getLore().equals(str))
{
event.setDamage(0.0); // а вот это почему-то не срабатывает
getLogger().info("Shield"); // и это срабатывает
i.setDurability((short) (i.getDurability() + 5));
p.setItemInHand(i);
if ((int) p.getItemInHand().getDurability() <= (int) 0)
{
i.setType(Material.AIR);
}
p.setItemInHand(i);
}
}
}
}
}
Заранее благодарю.
P.S. Коменты в коде
