Помогите Рандом телепортация при падении в пустоту

  • Автор темы Автор темы Ansl
  • Дата начала Дата начала

Ansl

Активный участник
Пользователь
Баллы
66
Имя в Minecraft
Ansl
Здраствуйте, столкнулся с проблемой что не могу понять как мне сделать рандомную телепортацию когда падаешь в пустоту. Кто может подскажите как, а то у меня есть код на просто тп из пустоты, а дальше я не много не понимаю)
 
PHP:
@EventHandler(ignoreCancelled = true)
void onEntityDamage(EntityDamageEvent event) {
    if (event.getEntityType() == EntityType.PLAYER) {
        if (event.getCause() == EntityDamageEvent.DamageCause.VOID) {
            randomTeleport((Player)event.getEntity());
        }
    }
}
 
PHP:
@EventHandler(ignoreCancelled = true)
void onEntityDamage(EntityDamageEvent event) {
    if (event.getEntityType() == EntityType.PLAYER) {
        if (event.getCause() == EntityDamageEvent.DamageCause.VOID) {
            randomTeleport((Player)event.getEntity());
        }
    }
}
спасибо ща по пробую, а то вот что я нашёл на спиготе, но оно похоже не работает, либо я печенька)
Код:
    public void onDamageFromVoid(EntityDamageEvent e) {
        EntityDamageEvent.DamageCause damage = e.getCause();

        if(damage.equals(EntityDamageEvent.DamageCause.VOID) && damage != null && e.getEntity() instanceof Player && e.getEntity() !=null){
            World world = Bukkit.getWorld("world");
            int randomX = (int)(Math.random() * 100000)+1;
            int randomZ = (int)(Math.random() * 100000)+1;
            Location loc = new Location(world, randomX, world.getHighestBlockYAt(randomX, randomZ)+2, randomZ);
            Player p = (Player) e.getEntity();
            e.setCancelled(true);
            p.setVelocity(new Vector(0, 0, 0));
            p.teleport(loc);
            p.setFallDistance(0);
            p.setHealth(20);
        }
 
Назад
Верх