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

Помогите Узнать ID соседнего блока.

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

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

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

    Баллы:
    103
    Имя в Minecraft:
    iggi666
    Здравствуйте.
    Мне надо, чтобы при ставке одно блока проверялись его соседи.
    Как зная координаты блока, который ставят, определить какой блок стоит на координатах, которые я задам.
    Координаты блока, который ставят я определить то могу, а вот дальше уже зная их, узнать ID блоков на координате + 1 у меня не получается(
     
    KoBoT нравится это.
  2. Ission

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

    Баллы:
    173
    Skype:
    lokivava
    Block.getRelative(смещение_по_X,смещение_по_Y,смещение_по_Z).getTypeId();
     
    Xakep_SDK, Hephest, Iggi и ещё 1-му нравится это.
  3. Автор темы
    Iggi

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

    Баллы:
    103
    Имя в Minecraft:
    iggi666
    Не подскажете что за ошибка?)
    Вот код:
    [​IMG]
    Вот ошибка: [​IMG]
     
    KoBoT нравится это.
  4. Ission

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

    Баллы:
    173
    Skype:
    lokivava
    Судя по тому коду, что дан, я могу сказать несколько вещей:
    1. block может быть не определён. Попробуйте ввести Block block = e.getBlockPlaced();
    2. Смещение означает относительные координаты, где координаты 0, 0, 0 являются установленным блоком, а координаты 0, 1, 0 блоком над ним.
     
    Xakep_SDK, Iggi и Den_Abr нравится это.
  5. Автор темы
    Iggi

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

    Баллы:
    103
    Имя в Minecraft:
    iggi666
    Все, разобрался, все работает. Спасибо большое.
    А как получить ID блока из мода? Если я ставлю блок, например глоустон, а рядом с ним ставлю провод, то block.getRelative(1 ,0,0).getTypeId() возвращает 228.
    НО: если я ставлю провод и делаю block.getTypeId(), то возвращается 0.
    если я ставлю провод и делаю block.getRelative(0,0,0).getTypeId(), то тоже возвращается 0.
    Как мне поймать момент, когда поставили провод?
    ЯДРО: MCPC
     
    KoBoT нравится это.
  6. misterzym

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

    Баллы:
    63
    Имя в Minecraft:
    Misterzym
    Аналогичный вопрос интересует, сам когда-то делал такое, но методом подключения импорта уже не из бакита, а из net.minecraft. - то есть создавал функции которые оперировали с блоками как мод, но я думаю что это выглядело крайне странно и стремно, может быть есть способ средствами бакита получить ID блока из мода?
     
  7. Автор темы
    Iggi

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

    Баллы:
    103
    Имя в Minecraft:
    iggi666
    Ну хоть какие-нибудь варианты есть?
     
    KoBoT нравится это.
  8. Shevchik

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

    Баллы:
    173
    Имя в Minecraft:
    _Shevchik_
    BlockFace, но спрашивается нахрена такой гемор, они ведь блоки потом могут тупо поршнем подвинуть, запрещать ставить что-либо рядом друг с другом - бесполезная затея.
     
  9. Den_Abr

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

    Баллы:
    173
    Skype:
    Den_Abr
    Имя в Minecraft:
    Den_Abr
    Сдвиги же тоже можно проверить
     
  10. Shevchik

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

    Баллы:
    173
    Имя в Minecraft:
    _Shevchik_
    Не всегда, есть пара хитрых трюков основанных на быстрых пульсарах, их не всегда можно отследить, даже несмотря на фикс в bukkit.
     
    ВремяПриключений нравится это.
  11. Den_Abr

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

    Баллы:
    173
    Skype:
    Den_Abr
    Имя в Minecraft:
    Den_Abr
    Шедулить проверку координат:D
     
  12. Автор темы
    Iggi

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

    Баллы:
    103
    Имя в Minecraft:
    iggi666
    Конкретно провода поршнем не сдвинуть.
     
    KoBoT, Vedroyder и slavik123123123 нравится это.

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