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

Помогите Бессмертие на 5 сек при телепорте

Тема в разделе "Помощь", создана пользователем c0lder, 23 мар 2021.

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

    c0lder Участник

    Баллы:
    31
    Добрый вечер, хочу сделать плагин, который при достижении координаты Y == 0.0 игроком телепортирует его в другой мир.

    У меня сейчас такой код:
    public class main extends JavaPlugin implements Listener {

    public void onEnable() {
    this.getServer().getPluginManager().registerEvents(this, this);
    }

    @EventHandler
    public void tp(PlayerMoveEvent e) {
    Player p = e.getPlayer();
    Location loc = p.getLocation();
    double y = loc.getY();
    double X = 132.0;
    double Y = 70.0;
    double Z = 256.0;
    if(y <= 0.0) {
    p.teleport(new Location(Bukkit.getWorld("world"), X, Y, Z));
    }
    }

    @EventHandler
    public void onEntityDamageEvent(final EntityDamageEvent e) {
    Entity p1 = e.getEntity();
    Location loc = p1.getLocation();
    double X = loc.getX();
    double Y = loc.getY();
    double Z = loc.getZ();
    DamageCause a = e.getCause();

    if (e.getCause() == DamageCause.FALL && X == 132.0 && Y == 70.0 && Z == 256.0) {
    e.setCancelled(true);
    Bukkit.getScheduler().runTaskLater(this, () -> {e.setCancelled(false);;}, 20L * 5);
    }
    }
    }

    Данный код телепортирует игрока и отменяет урон от падения, если игрок находится на нужных координатах

    Но как сделать так, чтобы бессмертие ставилось (отменялось событие получения урона) именно при телепорте, а не по координатам? Мне подсказали, что это можно сделать таймером, но я пока изучаю java и не совсем понимаю как это реализовать. Надеюсь на вашу помощь :)
     
  2. Хостинг MineCraft
    <

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