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

Помогите Чекнуть урон игрока (только если он не отменен)

Discussion in 'Разработка плагинов для новичков' started by Studenikin, May 22, 2015.

  1. Автор темы
    Studenikin

    Studenikin Старожил Пользователь

    Trophy Points:
    123
    Skype:
    vanya.studenikin
    Имя в Minecraft:
    stuvanya
    Каким образом, можно определить, бы ли нанесен игроку реальный урон? (Т.е. урон не был отменен каким-нибудь плагином, например pvp deny регион WorldGuard или /god из Essentials)
     
  2. Хостинг MineCraft
    <
  3. baksovic111

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

    Trophy Points:
    88
    Skype:
    Baksovic2
    Имя в Minecraft:
    Baksovic
    Проверять
    event.isCancelled();
    Не?)
     
  4. serega6531

    serega6531 Старожил Девелопер Пользователь

    Trophy Points:
    173
    Skype:
    shkurovs
    Проще.
    @EventHandler(ignoreCancelled = true)
     
  5. Автор темы
    Studenikin

    Studenikin Старожил Пользователь

    Trophy Points:
    123
    Skype:
    vanya.studenikin
    Имя в Minecraft:
    stuvanya
    Не всегда работает, так как некоторые плагины не отменяет его, а делают event.setDamage(0)[DOUBLEPOST=1432362563,1432362484][/DOUBLEPOST]
    Может можно как- то проверить хп игрока до удара, и после?
     
  6. CraftCoder

    CraftCoder Старожил Пользователь

    Trophy Points:
    108
    Имя в Minecraft:
    CraftCoderr
    Если его не отменяют, а делают setDamage(0), то что мешает проверить на getDamage == 0?
     
  7. baksovic111

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

    Trophy Points:
    88
    Skype:
    Baksovic2
    Имя в Minecraft:
    Baksovic
    Да легко)
    Записываешь жизни игрока до удара игрока и запускаешь шедуллер

    System.out.print("Жизни до: " + entity.getHealth());

    Bukkit.getScheduler().runTaskLater(this, new Runnable() {

    @Override
    public void run()
    {
    System.out.print("Жизни после: " + entity.getHealth());
    }},2);
     
  8. saharin94

    saharin94 Старожил Пользователь Заблокирован

    Trophy Points:
    173
    Skype:
    RikkiLooh
    Имя в Minecraft:
    RubukkitDniwe
    Сделать два обработчика событий с разными приоритетами.
     

Share This Page