Руководство для начинающих по командным блокам в Minecraft
Minecraft — один из лучших способов познакомить молодых и новых людей с программированием. Командные блоки просты в освоении и использовании, а Java-программирование уже совсем близко с модами Minecraft и плагинами Bukkit. Это также очень интересное место для опытных программистов.
Что такое командные блоки и почему я должен их использовать?
Командные блоки являются компонентом Redstone, который выполняет консольные команды при включении питания. Консольные команды можно запускать из окна чата, выполняя их с косой чертой «/». Команды используются для изменения игрового мира способами, которые невозможны вручную, и, при правильном использовании в командных блоках, дают Minecraft свой собственный язык псевдо-программирования. Код состоит из двух вещей: логика и выполнение, и большинство языков программирования требуют, чтобы оба были написаны в тексте. Кодирование Minecraft идет другим путем; логика и структура программы определяются расположением блоков и их разводкой, а это означает, что вы можете пролетать над своим миром и видеть, как различные части вашей программы разбиты на блоки.
Итак, как мне начать?
В этом руководстве используются новые командные блоки в версии 1.9. Он будет работать в 1.8, но может потребовать немного больше опыта.
Откройте новый мир Minecraft (Superflat работает лучше всего), убедитесь, что вы находитесь в творческом режиме, и нажмите кнопку «/». Это командное окно, которое аналогично окну чата, за исключением того, что оно запускает вас с «/», а все, что начинается с косой черты, является командой. Первая команда, которую вы можете запустить
Давайте разберемся с этим. Команда «/ Give» помещает предметы в инвентарь игрока и имеет два аргумента: игрок и предмет, который нужно отдать. «@P» — это селектор цели. Селектор «@p» выбирает ближайшего игрока. Кроме того, вы также можете использовать свое имя пользователя Minecraft, но если вы запустите команду из консоли, вы всегда будете ближайшим игроком. Другими селекторами целей являются «@a» для всех игроков, «@r» для случайного игрока и «@e» будут нацелены на все объекты. Объекты включают в себя все, что не является блоком, такие как монстры, снежки, животные и стрелы.
Команда должна выполнить успешно и дать вам новый блок. Поместите это где-нибудь на земле, чтобы начать.
Вы можете видеть, что командный блок указывает направление, в котором вы его размещаете, очень похоже на бункеры или печи. Это будет важно позже.
Щелкните правой кнопкой мыши по блоку (или используйте любой ключ, который вы используете для доступа к рабочим столам и печам), и вы увидите графический интерфейс командного блока.
Сначала это кажется немного пугающим, но не волнуйтесь, все эти кнопки что-то делают. Кнопка с надписью «Импульс» изменяет тип командного блока. Существует три разных типа командных блоков:
Кнопка с надписью «Безусловный» останавливает командный блок от проверки, успешно ли выполнен предыдущий блок в цепочке. Другая опция, «Условная», запускается, только если предыдущий блок не выдал ошибок.
Кнопка с надписью «Требуется красный камень» запускает команду, только если на командный блок подается питание. Другая опция «Всегда активно» останавливает командный блок от проверки, включен ли он, и просто предполагает, что он включен. Эта опция не должна использоваться с блоками команд Impulse, так как делает их бесполезными.
Давайте сделаем цепочку, наш первый «сценарий». Поместите блок команд цепочки или два в первый блок импульсных команд, например так:
Убедитесь, что для блоков цепи установлено значение «Всегда активно». В противном случае нам нужно было бы поместить блоки из красного камня или ток, который занимает ненужное место. Поместите кнопку в блок импульсных команд в начале цепи и нажмите ее.
Ничего не случится. Это потому, что мы еще не заполнили их командами! Щелкните правой кнопкой мыши на блоке импульсов, чтобы отредактировать его, и введите основную команду
Обратите внимание, что нам не нужен косая черта в командных блоках. Вы можете использовать один, если хотите, но это не нужно. Команда «/ say» принимает один аргумент, текст и произносит его с точки зрения того, кто его выполняет. Если вы запустите его, оно будет отображаться как « message», как обычный чат. Если он запускается из командного блока, это будет «[@] сообщение». В качестве альтернативы, есть «/ Tell», который принимает аргумент игрока, и «/ Tellraw», который похож на «/ Tell», за исключением того, что принимает текстовый JSON вместо текста.
Команды цепочки
Давайте введем другую команду, которая не похожа на другие. Команда «/ выполнить». Эта команда принимает в качестве ввода другую команду и выполняет ее с точки зрения другого объекта. Структура «/ выполнить»
X, Y и Z — координаты для запуска команды. Это не имеет значения для большинства команд, но очень важно, если вы используете относительное позиционирование. Относительная позиция начинается с «
» и сопровождается положительным или отрицательным числом, указывающим, сколько блоков от начала координат, что обозначается «
». Так, например, если мы хотим запустить «/ сказать», как если бы сельчанин говорил, мы можем настроить команду следующим образом:
/ выполнить @e [type = сельский житель]
Эта команда приведет к тому, что сообщение будет отправлено всем, от каждого жителя деревни. Это не оптимально, если у нас более одного человека или более одного жителя деревни, поэтому давайте переформатируем эту команду:
/ выполнить @e [type = сельчанин, c = 1]
Это намного сложнее, чем первая, и включает в себя объединение двух команд «/ execute». Первая команда «/ execute» выполняется для каждого игрока, затем вторая проверяет, находится ли ровно один сельчанин поблизости, и затем этот сельчанин говорит ближайшему игроку «Привет». Это гарантирует, что только один сельский житель говорит на человека.
Изучение синтаксиса
В Minecraft, безусловно, есть много команд, каждый из которых имеет свой синтаксис. Меню справки для каждой команды обычно быстро подскажет, какие аргументы нужны команде, а в Minecraft Wiki есть подробный список того, что делает каждая из них. Речь идет не столько о том, чтобы точно знать, что делает каждая команда, но о том, как использовать их вместе. В конце концов, Minecraft — это игра, поэтому игра с командами является частью процесса обучения.
Командный блок
“ |