- Баллы
- 76
- Имя в Minecraft
- Lisenochek
Всем снова привет. Столкнулся с проблемой, очень серьезной. Сделал я использование предмета, все работает, он отбирается, проверяется, но если выкинуть этот предмет и клацнуть ПКМ, то предмет таинственным образом используется, хотя у меня рука пуста, дебажил метод, он работает также, как и с предметов, т.е до конца. Помогите мне, что это за хрень такая:
JavaScript:
@EventHandler
public void useDirtyBandage(PlayerInteractEvent e) {
Player p = e.getPlayer();
GetLogger.warning("1");
if (e.getHand() != EquipmentSlot.HAND) return;
GetLogger.warning("2");
if (e.getAction() != Action.RIGHT_CLICK_AIR && e.getAction() != Action.RIGHT_CLICK_BLOCK) return;
GetLogger.warning("3");
if (!p.getInventory().getItemInMainHand().hasItemMeta()) return;
GetLogger.warning("4");
if (!p.getInventory().getItemInMainHand().getItemMeta().hasDisplayName()) return;
GetLogger.warning("5");
if (!p.getInventory().getItemInMainHand().getItemMeta().getDisplayName().equalsIgnoreCase(ListItems.dirtyBandage.getItemMeta().getDisplayName())) return;
if (!DiseaseManager.hasBlood(p)) {
p.sendMessage(C.getPrefix() + C.c("&cЗачем мне использовать грязную ткань, если у меня нет кровотечения?"));
return;
}
if (!r.nextBoolean()) {
p.sendMessage(C.getPrefix() + C.c("&cГрязная ткань была слишком дырявой и я не остановил кровотечение!"));
removeItem(p);
return;
}
DiseaseManager.removeBlood(p);
removeItem(p);
p.sendMessage(C.getPrefix() + C.c("&aЯ использовал грязную ткань и остановил кровотечение!"));
}
. Как-то не дошло проверить на воздух