[Решено]EntityDamageByEntityEvent

  • Автор темы Автор темы Grazy
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.

Grazy

Активный участник
Пользователь
Баллы
76
Имя в Minecraft
Prost
Помогите разобраться с кодом.
@EventHandler
public void onAttack(EntityDamageByEntityEvent e)
{
if (((e.getEntity() instanceof Player)) && ((e.getDamager() instanceof Player)))
{
Player damaged = (Player)e.getEntity();
Player damager = (Player)e.getDamager();
if (Levels.getFaction(damager).equalsIgnoreCase(Levels.getFaction(damaged))) {
e.setCancelled(true);
}
}
if (((e.getDamager() instanceof Projectile)) && ((e.getEntity() instanceof Player)))
{
Player damaged = (Player)e.getEntity();
Player damager = null;
Projectile proj = (Projectile)e.getDamager();
if ((proj.getShooter() instanceof Player)) {
damager = (Player)proj.getShooter();
}
if (Levels.getFaction(damager).equalsIgnoreCase(Levels.getFaction(damaged))) {
e.setCancelled(true);
}
}
Нужно отменить получение урона по Entity котрый не достиг 4 лвл. Значение достаю из конфига.
Но тк как я плохо еще знаю java, я не знаю как это сделать, начал с
Player damaged = (Player)e.getEntity();
Player damager = (Player)e.getDamager();
if (Levels.getLevel(damager) >= 4) {.
Если что мой скайп: vaddi1231238.
Может даже, финансово не обижу...
 
Последнее редактирование:
e.setCancelled(true); добавь
и у тебя уже есть damager и damaged, Зачем заного добавлять?
 
Ура получилось, но теперь игроки которые имеют 4 лвл могут бить игроков которые уже достигли 5, а 5 лвл не могут 4 бить). Придется создать еще одну проверку, и указать максимальный лвл?
 
Последнее редактирование:
Теперь делай проверку, но уже с damaged
Ещё можешь добавить damager.sendMessage("msg"); и damaged.sendMessage("msg");
 
Спасибо огромное, теперь я почти уже закончил переписывать плагин)
 
Статус
Закрыто для дальнейших ответов.
Назад
Верх