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

Помогите с командами в майнкрафте


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

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

Короче, хочу сделать границу мира но без /worldborder а именно так что бы наносился урон (не важно эффектом или командой /damage, но лучше дамагом) за границой с -92 ~ -166 по 114 ~ 114 не дамажит, но за этими координатами бьет по 2 хп (1 сердце) или отравлением.

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

  • Gwozdb7 закрыто и открыто это тема
В 30.06.2025 в 23:19, Gwozdb7 сказал:

Короче, хочу сделать границу мира но без /worldborder а именно так что бы наносился урон (не важно эффектом или командой /damage, но лучше дамагом) за границой с -92 ~ -166 по 114 ~ 114 не дамажит, но за этими координатами бьет по 2 хп (1 сердце) или отравлением.

есть какой-то очень простой способ проверить в каких координатах находится игрок, с помощью примерно такого селектора - @a[dx=2,x=2], но у меня он никогда не работает. По этому дальше я опишу другой способ на скорбордах, он очень замороченный, но в перспективе более надёжный.

 

основной механизм:

/scoreboard objectives add PosX dummy (один раз в чат) - создаём скорборды для записи

/scoreboard objectives add PosZ dummy (один раз в чат)

execute as @a at @s store result score @s PosX run data get entity @s Pos[0] (цикличный, всегда активный) - пихаем коорды игрока в скорборды

execute as @a at @s store result score @s PosX run data get entity @s Pos[0] (цикличный, всегда активный)

execute as @a at @s unless entity @s[scores={PosX=-92..114}] run tag @s remove inzoner (цикличный, всегда активный) - у игроков за зоной удаляется тег

execute as @a at @s unless entity @s[scores={PosZ=-166..114}] run tag @s remove inzoner (цикличный, всегда активный)

execute as @a at @s if entity @s[scores={PosX=-92..114}] if entity @s[scores={PosZ=-166..114}] run tag @s add inzoner (цикличный, всегда активный) -игроку в зоне даётся тег

 

а дальше ты сможешь просто проверять наличие или отсутствие у игрока тега "inzoner", например:

execute as @a at @s unless entity @s[tag=inzoner] run title @s actionbar "вы за зоной" (цикл, актив) пишет над хотбаром сообщение если игрок за зоной

execute as @a at @s if entity @s[tag=inzoner] run title @s actionbar "вы в зоне" (цикл, актив) пишет над хотбаром сообщение если игрок в зоне

execute as @a at @s unless entity @s[tag=inzoner] run damage @s 2 (цикл, актив) наносит урон если игрок за зоной

execute as @a at @s unless entity @s[tag=inzoner] run particle dust_color_transition{from_color:[0.0,1.0,0.62],scale:3,to_color:[0.0,0.0,0.0]} ~ ~ ~ 1 0 1 1 1 (цикл, актив) партиклы :)

execute as @a at @s unless entity @s[tag=inzoner] run effect give @s minecraft:poison infinite 1 true (цикл, актив) отравление для игроков за зоной

execute as @a at @s if entity @s[tag=inzoner] run effect clear @s minecraft:poison (цикл, актив) отмена отравления для игроков в зоне

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

17 часов назад, Sench_mp4 сказал:

способ на скорбордах

Если границы фиксированы и никогда не поменяются, то можно без скорбордов:
tag @a remove out_border
execute as @a at @s unless predicate {condition:"minecraft:location_check",predicate:{position:{x:{min:-92,max:114},z:{min:-166,max:114}}}} run tag @s add out_border
title @a[tag=out_border] actionbar {text:"Вы за границей!",color:"red"}
effect give @a[tag=out_border] minecraft:wither 1

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

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

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

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

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

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

Войти

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

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

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