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

Помогите Respawn.

Тема в разделе "Разработка плагинов для новичков", создана пользователем qDeath, 14 мар 2016.

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

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

    Баллы:
    66
    Написал плагин на респавн, но есть проблема. Когда человек умер от поджога, после респауна огонь наносит дама, а также эффекты зелий остаются. как это решить?



    Код:
        @EventHandler
        public void onEntityDamage(EntityDamageEvent e) {
           if(e.getEntity() instanceof Player) {
              Player p = (Player)e.getEntity();
              if(p.getHealth() - e.getFinalDamage() <= 0.0D) {
                 e.setDamage(0.0D);
                 p.setAllowFlight(false);
                 p.setFlying(false);
                 p.setSneaking(false);
                 p.setSprinting(false);
                 p.setFoodLevel(20);
                 p.setHealth(20.0D);
                 p.setFireTicks(0);
                 p.setSaturation(20.0F);
                 p.getActivePotionEffects().clear();
                 p.teleport(p.getWorld().getSpawnLocation());
              }
           }
        }
     
  2. Хостинг MineCraft
    <
  3. Автор темы
    qDeath

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

    Баллы:
    66
    Плагин InstResp не предлагать, он мне не нравится.
     
  4. MrFry Channel

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

    Баллы:
    66
    Имя в Minecraft:
    Bavianlasse
    Попробуй посмотреть, как похожие плагины делали
     
  5. Dymeth

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

    Баллы:
    76
    Это очень странно это работает. По крайней мере так было на 1.7.*.
    Лично я, помнится, использовал Player.setFireTicks(0) с задержкой в 1 тик.
    Думаю, баккитовский шедулер подойдёт:
    Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(...)
     
  6. Dereku

    Dereku Старожил

    Баллы:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    PlayerRespawnEvent
     

Поделиться этой страницей