Перейти к содержанию

Детект блоков в определнной области


Рекомендуемые сообщения

В теме 4 сообщения

Создаю карту, нужна помощь. Мне нужна команда, которая проверяет наличие блока незерака в области от -312 71 1177 до -331 71 1177 (в области только 8 блоков незерака, остальные рандомные) и зажигает на нём огонь. Заранее спасибо! 

/execute as @a[x=-312,y=71,z=1177,dx=19] at @s if block ~ ~ ~ minecraft:netherrack run setblock ~ ~1 ~ minecraft:fire 

использовал эту команду, не работает

Ссылка на комментарий
Поделиться на другие сайты

1 час назад, 1propoganda1 сказал:

Создаю карту, нужна помощь. Мне нужна команда, которая проверяет наличие блока незерака в области от -312 71 1177 до -331 71 1177 (в области только 8 блоков незерака, остальные рандомные) и зажигает на нём огонь. Заранее спасибо! 

/execute as @a[x=-312,y=71,z=1177,dx=19] at @s if block ~ ~ ~ minecraft:netherrack run setblock ~ ~1 ~ minecraft:fire 

использовал эту команду, не работает

так ты выполняешь уже сразу команду от имени всех игроков мира, очевидно что оно никак не сработает
посоветую сделать так, допустим область у тебя 10 блоков

Устанавливаем комадный блок цикличный, пишем в нем execute if entity @e[type=player,distance..10] цепь > execute at @e[tag=armorstand,type=armor_stand] at @s run setblock flame ~ ~ ~

Заметь, тут надо установить арморстенды с тэгами "armorstand" на незераки, я условие не делал, по этому огонь везде может заспавнится там, где стоит арморстенд. По этому когда в зону войдет игрок на арморстендах будет устанавливаться пламя, сделай их бессмертными, чтоб они не сжигались (nbt tag - Invulnerable:1), и если они будут гореть то просто добавить во второй КБ чуть ниже установку пламени, а арморстенды создавай выше незераков, чтоб анимация горения не производилась

Ссылка на комментарий
Поделиться на другие сайты

41 минуту назад, FYJ сказал:

так ты выполняешь уже сразу команду от имени всех игроков мира, очевидно что оно никак не сработает
посоветую сделать так, допустим область у тебя 10 блоков

Устанавливаем комадный блок цикличный, пишем в нем execute if entity @e[type=player,distance..10] цепь > execute at @e[tag=armorstand,type=armor_stand] at @s run setblock flame ~ ~ ~

Заметь, тут надо установить арморстенды с тэгами "armorstand" на незераки, я условие не делал, по этому огонь везде может заспавнится там, где стоит арморстенд. По этому когда в зону войдет игрок на арморстендах будет устанавливаться пламя, сделай их бессмертными, чтоб они не сжигались (nbt tag - Invulnerable:1), и если они будут гореть то просто добавить во второй КБ чуть ниже установку пламени, а арморстенды создавай выше незераков, чтоб анимация горения не производилась

Сап, идея вполне хорошая, просто я создаю такую карту, что после установки в центр круга в руку армор стэнда книги, должен создаваться огонь на незераке, а область там не 19 блоков, как я писал заранее, а около 100+. Хочу сделать так, чтобы огонь зажигался постепенно. А ещё проблема в твоём ответе в том, что устанавливать придётся этих арморстендов 48 вроде. И в этой же области будет бой между двумя игроками, поэтому если будут стоять арморстенды, могут мешать. Поэтому и спрашиваю, есть ли способ одной командой это сделать, чтобы не было цепочек из нескольких десятков кб. 

Ссылка на комментарий
Поделиться на другие сайты

У armor_stand есть тэг Marker, который делать стойке нулевой нитбокс, из-за чего по не нельзя будет попасть. Также в 1.17 добавили новую сущность, marker, которая меньше нагружает игру, чем стойки.

Вы можете сделать так, чтобы после установки книги, стойка спавнила (на пример) 90 стоек смторящие в разные стороны по кругу, после каждый тик теперпортировать их на 0.2 блока вперёд и пытаться ставить огонь.

После определённого времени (которое будет определять радиус) убивать их. При это не забудьте помететь стойку которая их призвала, чтобы новые стойки постоянного не спавнелись.

Ссылка на комментарий
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...