1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
  2. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Помогите Телепорт в блоки

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

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

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

    Баллы:
    61
    Здравствуйте! У меня есть игрок и есть определенная локация, на которую я телепортирую игрока. Все конечно работает отлично, но есть небольшая проблемка по которой игрока может телепортировать в блоки. Нужно сделать так, чтобы его телепортировало не в блоки, а допустим в притык к блоку.
    Location loc = p.getLocation().clone();
    //Устанавливаю координаты и все прочее
    p.teleport(loc);
     
  2. Luminate_

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

    Баллы:
    76
    Имя в Minecraft:
    Luminate_
    Зачем ты телепортировал игрока на его же локацию xD
     
  3. Mr.Vlad2208

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

    Баллы:
    66
    Имя в Minecraft:
    DoorMatt47
    Можно сначала проверять локу тип так :
    if (loc.getBlock().getType().isSolid()){
    //Блок не твёрдый, можно тпшать
    }
    else {
    //Проверяем блоки рядом
    }
     
  4. alexandrage

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

    Баллы:
    173
    Главное не получить второй ртп с вечным поиском D.
     
  5. Автор темы
    DarklingCodex

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

    Баллы:
    61
    В каком смысле проверяем блоки рядом? И да, зачем тепать игрока в нетвёрдый блок?
     
  6. Mr.Vlad2208

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

    Баллы:
    66
    Имя в Minecraft:
    DoorMatt47
    Тепать в нетвёрдый блок чтобы он не попал в блоки (тупо звучит но как-то так)
    тип так же проверяем локу только рядом.Прибавляем к локе блок и проверяем его...
     
  7. Mr.Vlad2208

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

    Баллы:
    66
    Имя в Minecraft:
    DoorMatt47
    А как ты получаешь локу на которую телепортируешь игрока ? То что я написал выше просто чтобы избежать телепортирования в блоки... и найти ближайшее место куда можно тпшнутся
     
  8. Автор темы
    DarklingCodex

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

    Баллы:
    61
    Я же написал в посте, как телепортирую
    Location loc = p.getLocation().clone();
    //Устанавливаю координаты и все прочее
    p.teleport(loc);
    Там работа с вектором
     
  9. Mr.Vlad2208

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

    Баллы:
    66
    Имя в Minecraft:
    DoorMatt47
    Ну так, можешь проверить так как я написал...
     
  10. Cool_boy

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

    Баллы:
    96
    Имя в Minecraft:
    prettydude
    Если по x или z, то не забывай, что середина блока на 0.5 смещена от координаты
     
  11. alexandrage

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

    Баллы:
    173
    Писец вы сложные. location.getWorld().getHighestBlockAt(location).getLocation();
     
  12. Dymeth

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

    Баллы:
    98
    Имя в Minecraft:
    Dymeth
    А если в пещере спаун?
     
  13. alexandrage

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

    Баллы:
    173
    Ну если чел уже знает на какую карту тпает, то и проблем нет.
    А для рандомтп это лишнее. Будет не очень удобно выбираться из пещеры после такого тп.
     
  14. Автор темы
    DarklingCodex

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

    Баллы:
    61
    Этот способ я пробовал до написания данной темы, минус в том, что я таким способом забирался на деревья. Надо, чтобы телепортировало в притык.
     
  15. alexandrage

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

    Баллы:
    173
    Ну спустишься и все, делов то. Зато сервак не отвалится от сложных алгоритмов поиска(не дерева) и игрок не застрянет в пещере. А то и вообще уйдет в вечный цикл как ртп.
     
    Последнее редактирование: 10 авг 2019
  16. Автор темы
    DarklingCodex

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

    Баллы:
    61
    Ну игрока мб тепнет на постройки или вообще на что-то другое. Так что это не решает проблему.
     
  17. alexandrage

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

    Баллы:
    173
    Как тпнет так и злезет. Проблема на ровном месте. А то, что его тпнит в закрытую комнату, ерунда ага :D.
     
  18. Автор темы
    DarklingCodex

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

    Баллы:
    61
    Ну такое
     
  19. ilya3000

    ilya3000 Активный участник

    Баллы:
    61
    А мне вот наоборот интересно как замуровать энтити в блоках. Если просто телепортировать в блоки, из них можно выпрыгнуть, или просто телепортация пройдет на блоки
     
  20. Автор темы
    DarklingCodex

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

    Баллы:
    61
    У каждого есть конечно свои интересы, но эта тема создана исключительно для того, чтобы найти решение моей проблемы.
     

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