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

Помогите Respawn.

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

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

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

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



    Code:
        @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 Активный участник Пользователь

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

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

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

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

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

    Dereku Старожил

    Trophy Points:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    PlayerRespawnEvent
     

Share This Page