Хостинг серверов Minecraft playvds.com
  1. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Dismiss Notice

[Решено]EntityDamageByEntityEvent

Discussion in 'Разработка плагинов для новичков' started by Grazy, Oct 23, 2016.

Thread Status:
Not open for further replies.
  1. Автор темы
    Grazy

    Grazy Активный участник Пользователь

    Trophy Points:
    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.
    Может даже, финансово не обижу...
     
    Last edited: Oct 23, 2016
  2. Хостинг MineCraft
    <
  3. Lilian_solo

    Lilian_solo Новичок Пользователь Заблокирован

    Trophy Points:
    21
    Имя в Minecraft:
    CoreKolas
    e.setCancelled(true); добавь
    и у тебя уже есть damager и damaged, Зачем заного добавлять?
     
  4. Автор темы
    Grazy

    Grazy Активный участник Пользователь

    Trophy Points:
    76
    Имя в Minecraft:
    Prost
    Ура получилось, но теперь игроки которые имеют 4 лвл могут бить игроков которые уже достигли 5, а 5 лвл не могут 4 бить). Придется создать еще одну проверку, и указать максимальный лвл?
     
    Last edited: Oct 23, 2016
  5. Lilian_solo

    Lilian_solo Новичок Пользователь Заблокирован

    Trophy Points:
    21
    Имя в Minecraft:
    CoreKolas
    Теперь делай проверку, но уже с damaged[DOUBLEPOST=1477238969,1477238800][/DOUBLEPOST]Ещё можешь добавить damager.sendMessage("msg"); и damaged.sendMessage("msg");
     
  6. Автор темы
    Grazy

    Grazy Активный участник Пользователь

    Trophy Points:
    76
    Имя в Minecraft:
    Prost
    Спасибо огромное, теперь я почти уже закончил переписывать плагин)
     
Thread Status:
Not open for further replies.

Share This Page