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

ProjectileHitEvent

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

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

    EwrsPlay Участник Пользователь

    Баллы:
    36
    Имя в Minecraft:
    Ewrs728
    Привет всем. У меня есть плагин, когда игрок стреляет из лука, то там, где упала стрела, его телепортирует. Вроде бы всё хорошо, но не тут то было. Если игрок попал в стену, то его может за эту стену перебросить нафиг... Вот у меня вопрос, как я могу проверить, в какой ситуации приземлилась стрела. Внизу кину картинки, чтобы вы поняли о чём я.
     

    Вложения:

    • mi793.JPG
      mi793.JPG
      Размер файла:
      20,2 КБ
      Просмотров:
      36
    • mi794.JPG
      mi794.JPG
      Размер файла:
      20 КБ
      Просмотров:
      35
    • mi795.JPG
      mi795.JPG
      Размер файла:
      24,7 КБ
      Просмотров:
      32
    • mi796.JPG
      mi796.JPG
      Размер файла:
      35,5 КБ
      Просмотров:
      32
  2. Cool_boy

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

    Баллы:
    96
    Имя в Minecraft:
    prettydude
    Смотреть в каком направлении висит стрела, и там уже смотреть куда телепортировать
     
  3. Автор темы
    EwrsPlay

    EwrsPlay Участник Пользователь

    Баллы:
    36
    Имя в Minecraft:
    Ewrs728
    example?
     
  4. LuckyZeeRo

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

    Баллы:
    96
    Имя в Minecraft:
    i0xHeX
    Направления напрямую не узнать, но можно проделать логику осматривая блоки относительно позиции Projectile, к примеру - находится ли твердый блок над стрелой, или под стрелой, или же стрела в блоке. Тонкости, но простого способа я лично здесь не вижу.
     
  5. Автор темы
    EwrsPlay

    EwrsPlay Участник Пользователь

    Баллы:
    36
    Имя в Minecraft:
    Ewrs728
    Пожалуйста, приведи пример. На данный момент я использую
    Block loc2 = new Location(l.getWorld(), l.getX()+vec.getX(), l.getY()+vec.getY(), l.getZ()+vec.getZ()).getBlock();
     
  6. LuckyZeeRo

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

    Баллы:
    96
    Имя в Minecraft:
    i0xHeX
    Я не знаю точно, где точно у стрелы локация, но я предполагаю логически - там где наконечник (по нему и можно толком зарендерить поворот стрелы). Это проверь. А дальше, по высоте можно сделать по такой логике:
    [​IMG]
    Получать относительные блоки можно проще:
    Block#getRelative(BlockFace blockFace)
     
  7. Автор темы
    EwrsPlay

    EwrsPlay Участник Пользователь

    Баллы:
    36
    Имя в Minecraft:
    Ewrs728
    Чёт не очень врубаюсь. А вот еще такой вопрос, могу ли я проверить в ProjectileHitEvent если она попала в игрока? Если в игрока, то ничего не должно произойти
     
  8. LuckyZeeRo

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

    Баллы:
    96
    Имя в Minecraft:
    i0xHeX
  9. Автор темы
    EwrsPlay

    EwrsPlay Участник Пользователь

    Баллы:
    36
    Имя в Minecraft:
    Ewrs728
  10. LuckyZeeRo

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

    Баллы:
    96
    Имя в Minecraft:
    i0xHeX
    Можно получать блок относительно другого блока в нужную позицию, без смещения координат.
    https://hub.spigotmc.org/javadocs/s....html#getRelative-org.bukkit.block.BlockFace-
    Block otherBlock = block.getRelative(BlockFace.UP);
     
  11. Автор темы
    EwrsPlay

    EwrsPlay Участник Пользователь

    Баллы:
    36
    Имя в Minecraft:
    Ewrs728
    Чё-то не очень получается XD
     

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