Я только что создал сервер minecraft и задавался вопросом, можно ли на сервере изменить игровой режим игрока, когда он посещает чужое здание (а) (это исключает владельца здания).
Я использовал команду /testfor
, но я не уверен, как выбрать конкретную землю и изменить игровой режим игрока на это.
Селекторы (вы, вероятно, должны использовать для этого @a
) могут иметь «аргументы селектора». Для выбора конкретной области вас интересуют:
-
x, y, z
— координаты начальной точки выбор, бесполезный без хотя бы одного из трех ниже: -
r
— максимальный радиус, в котором игрок может быть от начальной точки (например, сферы) -
rm
— минимальный радиус, в котором игрок может находиться от начальной точки (поэтому нацелен на всех, кто находится вне сферы) -
dx, dy, dz
— максимальные значения x, y и z, которые игрок может быть от начальной точки (например, кубоид).
Использование радиуса — самый простой метод. Например, если сборка находится в 20, 64, -10
, вы можете изменить свои команды на:
/gamemode 1 @a [ x = 20, y = 64, -10, r = 15]
Устанавливает творческий режим для любого в пределах 15 блоков от этой точки.
При использовании кубовидных селекторов вашей начальной точкой должен быть угол кубоида с самыми низкими координатами по всей оси (самый нижний северо-запад).
dx
, dy
, dz
должны тогда быть положительными шириной, высотой и длиной кубоида, как таковые:
Это сложнее, чем селектор радиуса, который вы, возможно, захотите использовать с, но позволит вам более точно определить область, если область построения является прямоугольной.
Еще два аргумента селектора, которые вы должны использовать для этого, наряду с выбором области, — это m
и name
.
-
m
означает игру m ode, что означает, что вы можете настроить слои на выживание, только если их в творческом и наоборот, чтобы избежать многократного изменения игрового режима кого-то, кто уже находится в игровом режиме, в котором вы хотите, чтобы он был. -
name
позволит вам «исключить владельца здания «
Ваша последняя команда должна выглядеть примерно так:
/gamemode 1 @a [x = 20, y = 64, -10, r = 15, m =! 1, name =! LyadLaphir]
Что меняет игровой режим на творческий для всех в пределах 15 блоков от 20, 64, -10
, если они еще не в креативе и если их имя не «ЛядЛафир» (!
означает «нет»).
Это не так сложно и не так хорошо, как другой самый популярный ответ, но я надеюсь, что он подойдет.
Вы можете разместить блок повторяющихся команд под домом человека и просто использовать
/gamemode 1 @a [r = whateveryouwant, m =! 1]
Если вы хотите исключить определенного человека или команду, используйте @a [team =! Xxx]
или @a [name =! xxx]
, потому что восклицательный знак перед селектором означает «нет».
2