Войти или зарегистрироваться
  • Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.

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

Iggi

Старожил
Пользователь
Баллы
103
Имя в Minecraft
iggi666
Здравствуйте.
Мне надо, чтобы при ставке одно блока проверялись его соседи.
Как зная координаты блока, который ставят, определить какой блок стоит на координатах, которые я задам.
Координаты блока, который ставят я определить то могу, а вот дальше уже зная их, узнать ID блоков на координате + 1 у меня не получается(
 
Здравствуйте.
Мне надо, чтобы при ставке одно блока проверялись его соседи.
Как зная координаты блока, который ставят, определить какой блок стоит на координатах, которые я задам.
Координаты блока, который ставят я определить то могу, а вот дальше уже зная их, узнать ID блоков на координате + 1 у меня не получается(
Block.getRelative(смещение_по_X,смещение_по_Y,смещение_по_Z).getTypeId();
 
Block.getRelative(смещение_по_X,смещение_по_Y,смещение_по_Z).getTypeId();

Не подскажете что за ошибка?)
Вот код:
4Jsnx.png

Вот ошибка:
4JspT.png
 
Не подскажете что за ошибка?)
Вот код:
4Jsnx.png

Вот ошибка:
4JspT.png
Судя по тому коду, что дан, я могу сказать несколько вещей:
1. block может быть не определён. Попробуйте ввести Block block = e.getBlockPlaced();
2. Смещение означает относительные координаты, где координаты 0, 0, 0 являются установленным блоком, а координаты 0, 1, 0 блоком над ним.
 
Судя по тому коду, что дан, я могу сказать несколько вещей:
1. block может быть не определён. Попробуйте ввести Block block = e.getBlockPlaced();
2. Смещение означает относительные координаты, где координаты 0, 0, 0 являются установленным блоком, а координаты 0, 1, 0 блоком над ним.

Все, разобрался, все работает. Спасибо большое.
А как получить ID блока из мода? Если я ставлю блок, например глоустон, а рядом с ним ставлю провод, то block.getRelative(1 ,0,0).getTypeId() возвращает 228.
НО: если я ставлю провод и делаю block.getTypeId(), то возвращается 0.
если я ставлю провод и делаю block.getRelative(0,0,0).getTypeId(), то тоже возвращается 0.
Как мне поймать момент, когда поставили провод?
ЯДРО: MCPC
 
Аналогичный вопрос интересует, сам когда-то делал такое, но методом подключения импорта уже не из бакита, а из net.minecraft. - то есть создавал функции которые оперировали с блоками как мод, но я думаю что это выглядело крайне странно и стремно, может быть есть способ средствами бакита получить ID блока из мода?
 
Ну хоть какие-нибудь варианты есть?
 
BlockFace, но спрашивается нахрена такой гемор, они ведь блоки потом могут тупо поршнем подвинуть, запрещать ставить что-либо рядом друг с другом - бесполезная затея.
 
BlockFace, но спрашивается нахрена такой гемор, они ведь блоки потом могут тупо поршнем подвинуть, запрещать ставить что-либо рядом друг с другом - бесполезная затея.
Сдвиги же тоже можно проверить
 
Сдвиги же тоже можно проверить
Не всегда, есть пара хитрых трюков основанных на быстрых пульсарах, их не всегда можно отследить, даже несмотря на фикс в bukkit.
 
Не всегда, есть пара хитрых трюков основанных на быстрых пульсарах, их не всегда можно отследить, даже несмотря на фикс в bukkit.
Шедулить проверку координат:D
 
BlockFace, но спрашивается нахрена такой гемор, они ведь блоки потом могут тупо поршнем подвинуть, запрещать ставить что-либо рядом друг с другом - бесполезная затея.
Конкретно провода поршнем не сдвинуть.
 

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

Назад
Верх