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

Помогите Взрыв гранаты

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

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

    Den_Abr Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    Den_Abr
    Имя в Minecraft:
    Den_Abr
    Собственно, сделал гранату, взрывающуюся. Но она не ломает блоки при взрыве. Собственно, не подскажете ли нормальный алгоритм просчёта, есть ли между гранатой и игроком какие то блоки(спрятался, например)?
     
    MrSharky и musel70 нравится это.
  2. AdMiRaLL

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

    Баллы:
    68
    Skype:
    xxxpro100stasxxx
    Имя в Minecraft:
    AdMiRaLLL
    Как вариант можно брать координату гранаты и координату игрока из них получится прямоугольный регион, проверить его на наличие блоков
     
  3. Автор темы
    Den_Abr

    Den_Abr Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    Den_Abr
    Имя в Minecraft:
    Den_Abr
    Много лишних блоков получится
     
  4. AdMiRaLL

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

    Баллы:
    68
    Skype:
    xxxpro100stasxxx
    Имя в Minecraft:
    AdMiRaLLL
    а что, радиус большой у гранаты?
     
  5. Автор темы
    Den_Abr

    Den_Abr Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    Den_Abr
    Имя в Minecraft:
    Den_Abr
    Нет, 3 блока. Но при прямоугольном выделении в любом случае неточно.
    2014-03-17_22.04.16.png
     
  6. AdMiRaLL

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

    Баллы:
    68
    Skype:
    xxxpro100stasxxx
    Имя в Minecraft:
    AdMiRaLLL
    Действительно.
    Ну тогда мб можно так. Так же в прямоугольнике проверяешь, если находишь блок то прибавляешь к координате блоке, которая отдаляется от гранаты в данный момент +1, и если там игрок - он закрыт
     
  7. Автор темы
    Den_Abr

    Den_Abr Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    Den_Abr
    Имя в Minecraft:
    Den_Abr
    Слишком костыльно. Мне хочется от про услышать советы насчёт векторов, ибо я их вообще не умею применять.
     
  8. AdMiRaLL

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

    Баллы:
    68
    Skype:
    xxxpro100stasxxx
    Имя в Minecraft:
    AdMiRaLLL
    Ну ладно
     
  9. Автор темы
    Den_Abr

    Den_Abr Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    Den_Abr
    Имя в Minecraft:
    Den_Abr
  10. ql_Nik_lp

    ql_Nik_lp Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    q-nik-p
    Имя в Minecraft:
    ql_Nik_lp
    Мне кажется что вектора тут можно применить разве что для самого броска
    А для взрыва я бы посоветовал не париться, и реализовать через createExplosion()
    Либо посмотреть этот самый код в NMS
     
  11. Shockwave

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

    Баллы:
    103
    Я конечно не разбираюсь в векторах, но как вариант можно так: Ищем игроков в радиусе трех блоков, если нашли, то строим вектор от гранаты до игрока и ищем блоки в векторе, если не ошибаюсь есть функция isInAABB() которая проверяет наличие вектора в составе другого вектора.
     

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