Что такое командные блоки и почему я должен использовать их?
Командные блоки - это компонент redstone, который запускает консольные команды при питании. Консольные команды можно запустить из окна чата, переведя их с помощью косой черты «/». Команды используются для изменения игрового мира способами, которые невозможны вручную, и, когда они правильно используются в командных блоках, дают Minecraft свой собственный язык программирования psuedo. Код состоит из двух вещей: логики и исполнения, и большинство языков программирования требуют, чтобы они были написаны в тексте. Minecraft кодирует другой маршрут; логика и структура программы определяются тем, где размещаются блоки и как они подключены, что означает, что вы можете летать над своим миром и видеть разные части вашей программы, выложенные поэтапно.
Хорошо, так как мне начать?
В этом руководстве используются новые командные блоки в версии 1.9. Он будет работать в 1,8, но может потребоваться немного больше опыта.
Откройте новый мир Minecraft (Superflat работает лучше всего), убедитесь, что вы находитесь в режиме Creative и нажмите кнопку «/». Это окно команд, которое является тем же самым, что и окно чата, за исключением того, что оно запускает вас с помощью «/», и все, что начинается с косой черты, это команда. Первая команда, которую вы можете запустить, - это
/give @p minecraft:command_block
Давайте сломаем это. Команда «/ give» помещает предметы в инвентарь игроков и имеет два аргумента: игрок и элемент, который нужно дать. «@P» - это целевой селектор. Селектор «@p» выбирает ближайшего игрока. Кроме того, вы также можете использовать свое имя пользователя Minecraft, но если вы запустите команду с консоли, вы всегда будете ближайшим игроком. Другими целевыми селекторами являются «@a» для всех игроков, «@r» для случайного игрока, а «@e» будет нацеливаться на всехюридические лица. Объекты включают все, что не является блоком, например, монстрами, снежками, животными и стрелами.
Команда должна выполняться успешно и предоставить вам новый блок. Поместите его в любом месте на земле, чтобы начать.
Щелкните правой кнопкой мыши блок (или используйте любой ключ, который вы используете для доступа к таблицам и печатающим устройствам), и вы будете приветствоваться графическим интерфейсом командного блока.
- Импульс, который запускает команды наподнимающийся край тока красного. Это означает, что когда они работают, они будут запускать свою команду один раз и останавливаться, даже если они продолжают работать. Это значение по умолчанию и является единственным, доступным в 1.8
- Повторите, которые запускают команды каждый поставить галочку они питаются. Тик походит на кадр, и несколько команд могут выполняться в одном тике, до 20 раз в секунду.
- Цепь, которая запускается только в том случае, если командный блок, указывающий на нее, выполнил свою команду. Они будут выполняться по порядку, один за другим, одним тиком, отсюда и название «Цепочка».
Кнопка, которая говорит «Безусловная», останавливает блок команд от проверки успешного выполнения предыдущего блока в цепочке. Другой вариант «Условный» работает только в том случае, если предыдущий блок не выдавал ошибок.
Кнопка, которая говорит «Потребности Redstone», запускает только команду, если блок команд включен. Другой параметр «Всегда активен» останавливает блок команд, проверяя, включен ли он и просто предполагает, что это так. Эта опция не должна использоваться с блоками команд Impulse, поскольку она делает их бесполезными.
Давайте сделаем цепочку, наш первый «скрипт». Поместите блок команд цепи или два в первый блок импульсной команды, например:
Ничего не случится. Это потому, что мы еще не наполнили их командами! Щелкните правой кнопкой мыши блок импульсов, чтобы отредактировать его, и введите основную команду
say start
Обратите внимание, что нам не нужна косая черта в командных блоках. Вы можете использовать его, если хотите, но это необязательно. Команда «/ say» принимает один аргумент, текст и говорит это с точки зрения того, кто ее выполняет. Если вы запустите его, он отобразится как "
Вы можете заполнить блок команд цепи, чтобы писать больше вещей в чате. Они будут выполняться в порядке, без задержки, в том же тике. Если вы хотите запустить их с задержкой, вам нужно будет настроить их с помощью повторителей Redstone. Наряду с «/ say» есть другие основные команды, которые делают больше вещей, например «/ give», которые дают элементы «эффект», который применяет эффекты зелья, «/ setblock» и «/ fill», которые изменяют ваш мир, и много других. Большая база данных команд может быть найдена на Minecraft Wiki вместе с другим полезным контентом.
Целевые селектора
Селектора цели «@p» на самом деле намного мощнее, чем кажется на первый взгляд. Например, если мы хотим настроить таргетинг на все сущности, мы будем использовать «@e», но если мы хотим нацелить только на Зомби, мы будем использовать
@e[type=Zombie]
Обратите внимание на скобки после «@e». Внутри этих скобок аргументы целевого селектора, полный список которых можно найти на Minecraft Wiki. Аргумент «тип» выбирает только объекты определенного типа, которые являются «зомби». Если бы мы хотели нацелить всех Зомби в 10 блоков командного блока, мы использовали бы
@e[type=Zombie,r=10]
С аргументом «r» является радиус. Вы также можете настроить таргетинг на местоположение, имя, команду и партитуру.
Цеповые команды
Давайте представим другую команду, которая не похожа на другие. Команда «/ execute». Эта команда принимает другую команду как входную и выполняет ее с точки зрения другого объекта. Структура «/ execute»
/execute @target X Y Z /command
X, Y и Z являются координатами для запуска команды. Это не имеет большого значения с большинством команд, но имеет значение, если вы используетеотносительное позиционирование. Относительное положение начинается с «~», а за ним следует положительное или отрицательное число, указывающее, сколько блоков из начала координат обозначено символом «~ ~ ~». Так, например, если бы мы хотели запустить «/ say», как если бы говорил Житель, мы можем настроить команду следующим образом:
/execute @e[type=Villager] ~ ~ ~ /say Hey
Эта команда вызовет сообщение для всех, от каждого жителя деревни. Это не оптимально, если у нас есть более одного человека или более одного жителя деревни, поэтому давайте переформатируем эту команду:
/execute @a ~ ~ ~ /execute @e[type=Villager,c=1] ~ ~ ~ /tell @p Hey
Это намного сложнее первого и включает в себя объединение двух команд «/ execute». Первый «/ execute» команды запускается на каждом игроке, затем второй проверяет, что поблизости находится ровно один Житель деревни, а затем говорит, что Villager говорит ближайшему игроку «Привет». Это гарантирует, что один человек говорит на одного человека.
Изучение синтаксиса
В Minecraft есть много команд, каждый из которых имеет свой собственный синтаксис. Меню помощи для каждой команды обычно быстро скажут, какие аргументы требуется команде, а Minecraft Wiki имеет подробный список того, что делает каждая из них. Дело не только в том, чтобы точно знать, что делает каждая команда, но зная, как использовать их вместе. Minecraft - это игра, в конце концов, так что игра с командами является частью процесса обучения.