[Гайд] Режимы командных блоков и условность действий в обновлениях Minecraft 1.9
В последнее время разработчики радуют создателей карт новыми инструментами. То большое внимание к мощности сигнала в 1.5, то статистики и команды, то, наконец, возможность кастомизировать NBT с помощью командных блоков. И, казалось бы, ничего кардинально нового не вводится. Ведь до появления статистик пользовались счётчиками и различными уловками, до появления возможности напрямую изменять NBT — спавнерами и специальными программами. Взят чёткий курс на упрощение разработки, уменьшение размеров механизмов — теперь они умещаются буквально в несколько блоков. Потому, попытаемся идти в ногу со временем и разберёмся с теми глобальными изменениями командных блоков, что нам предоставили в версии 1.9.
Замечательно. Попытаемся разобраться с различными типами командных блоков.
№ | Картинка | Тип | Описание |
1 | Импульсный (Impulse) | Тот самый командный блок, с которым мы работали до 1.9. Самый стандартный. В нём нет совершенно ничего особенного. | |
2 | Режим повторения (Repeat) | Командный блок, который в то время, когда получает сигнал, один раз в игровой такт выполняет содержащуюся в себе команду и те команды. Способен активировать цепочку командных блоков в соответствующем режиме и заставлять её постоянно срабатывать. | |
3 | Режим цепочки (Chain) | При подаче сигнала на первый блок цепочки за один игровой такт последовательно выполняются все запитанные командные блоки (в данном режиме) в цепочке. Если в цепи имеется не запитанный командный блок в режиме цепочки, он пропускается без выполнения и мгновенно начинает выполнять следующий (при наличии такового). |
Отлично. Несколько раз в описании было упомянуто слово «цепочка». Цепочкой признаётся последовательная цепь командных блоков, указатель каждого из которых направлен в следующий. Это стало возможно благодаря введению понятия направления при работе с командными блоками.
Отмечу также наличие различных модификаторов у командных блоков. Технически, их можно применять к любому типу командных блоков, но разумно использовать их только в определённых случаях. Рассмотрим все вариации.
Номер | Модификатор | Вариации |
1 | Условность | Условная (Conditional) — применяется к командным блокам в режиме цепочки. Заключается в следующем: командный блок с такой вариацией модификатора сработает только в том случае, если предыдущий командный блок в режиме цепочки или в режиме повторения выполнил содержащуюся в нём команду (замена компаратору). Командные блоки с такой вариацией модификатора обладают специальным оформлением (нижний ряд). Безусловная (Unconditional) — выполняется в любом случае, при наличии соответствующих условий. Стоит отметить, что при использовании условной вариации модификатора анализируется только предыдущий командный блок. Также, если командный блок в режиме цепочки с такой вариацией модификатора не сработал, последующие, если не снабжены такой вариацией модификатора, сработают. |
2 | Активность | «Всегда активен» (Always Active) — применяется к командным блокам в режиме повторения и в режиме цепочки. Включение такой вариации модификатора означает, что командный блок с ней будет постоянно запитан. «Требуется сигнал» (Needs Redstone) — стандартный режим работы, при котором для того, чтобы запитать командный блок, ему необходимо подать сигнал. |
Вот, собственно, и всё. Скоро будут практические примеры. Прошу следить за моим профилем в том случае, если это кому-то интересно.
Руководство для начинающих по командным блокам в 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 — это игра, поэтому игра с командами является частью процесса обучения.
Использование командных блоков в Minecraft
Сегодня расскажем о том, что такое командный блок в Майнкрафт, как его получить, зачем он нужен и как, где и для чего его можно использовать.
Что такое командные блоки?
В игре Minecraft командный блок (КБ) может автоматически выполнять определённые консольные команды до тех пор, пока активирован красным камнем.
Они работают в режиме приключения, и позволяют создателям карт улучшать взаимодействие с игроком. При этом игрок не способен разрушать блоки и строить новые.
В режиме «Выживание» с командными блоками нельзя взаимодействовать или уничтожать их.
Их нельзя создать с помощью крафтинга, и их не найти в инвентаре играя в творческом режиме. Игроки творческого режима и администраторы серверов могут использовать консольную команду «give», чтобы получить КБ или сделать его доступным для других игроков. Выглядит это так:
При наборе команды уберите скобки по краям имени игрока и количества:
/give atombox minecraft:command_block 1
КБ имеет графический интерфейс с текстовым полем, доступный по правому клику мышки.
Размещать командные блоки, вводить команды и сохранять изменения могут только игроки в творческом режиме и игроки со статусом администратора на сервере.
Для их использования в одиночной игре или многопользовательских мирах необходимо включить режим LAN и разрешить читы.
Где используются командные блоки
Вы когда-нибудь играли на приключенческих картах, где всегда ночь, или где погода никогда не меняется? Вы могли скачивать карты, где игроки получают специальные награды, улучшения или опыт по нажатию кнопки или за завершение задания. Всё это становится возможным благодаря КБ. При создании своей карты Minecraft вам нужны командные блоки, если:
На YouTube есть множество видеороликов, описывающих разнообразные карты Minecraft. Особенно популярны многопользовательские карты. Есть много категорий доступных для скачивания карт Майнкрафт, которые используют командные блоки для повышения удобства игрока. Существует немало причин для их использования разработчиками карт. Среди них представлены карты следующих категорий:
Приключенческие карты заточены на сюжет, а геймер выступает в роли главного героя повествования. Ранее приключенческие карты полагались на рассказ истории посредством знаков и книг, а теперь повествование доступно посредством диалогов и звуков, и всё благодаря КБ.
Паркур-карты вынуждают игрока добираться из одного конца мира в другой с минимальным количеством смертей. Часто они содержат невероятные прыжки и прочие смертоносные препятствия. Командные блоки делают возможным устанавливать точки спауна (появления) персонажа перед сложными преградами.
Карты-головоломки делают акцент на навыки решения проблем, предлагая лабиринты, ловушки и прочие сложности. Некоторые подобные карты обладают сюжетом, как и приключенческие. Использование КБ позволяет таким картам легче предлагать направления, связанные с сюжетом диалоги и звуки.
Карты на выживание могут быть сосредоточены на выживании в одиночной игре или в многопользовательской, или же попутно включать в себя сюжет. КБ могут дать игрокам стартовую точку спауна, а также связанную с сюжетом информацию. Возможности здесь безграничны.
Как использовать командный блок
Их установка проще, чем думает большинство игроков в Minecraft. Команды могут быть запутанными, но некоторые из них (вроде установки времени дня) очень просты для программирования. Большие проекты можно планировать позже, а для начала постарайтесь овладеть основами размещения, настройки и использования КБ.
1. Переключение в творческий игровой режим
Не забывайте, что командные блоки могут появляться только в творческом игровом режиме. Для перехода в него нужны соответствующие привилегии на сервере (если доступны) или активированные читы.
В поле чата наберите «/gamemode c», «/gamemode creative» или «/gamemode 1» без кавычек.
2. Нажатие на командный блок правой кнопкой мыши
В творческом режиме для доступа к командному блоку нажмите на него правой клавишей мыши. Для его генерации нужно использовать команду «give», как описано выше в тексте:
Командные блоки работают, только будучи подключенными к электрической цепи красного камня (кстати, существует хороший мод Wireless Redstone, позволяющий увеличить расстояние передачи энергии). Нажатие правой кнопкой мыши открывает диалоговое окно, куда можно вводить серверную команду. Максимальная длина команды может составлять 254 символа.
3. Введите команду и нажмите «Готово»
Когда вы вводите команду в блок, нужно указать, на какого игрока она направлена. Это можно сделать вводом имени игрока или выбором трёх разных переменных: «@p» (ближайший игрок), «@r» (случайный игрок) или «@a» (все игроки). Эти переменные особенно полезны в ситуациях, когда неизвестен игрок, активирующий команду. Задав команду, нажмите «Готово» для её сохранения.
Помните, что один КБ может выполнять только одну команду!
Практические примеры использования
Следующие примеры представляют собой простые и практичные приложения командного блока в одиночной и многопользовательской игре в мирах Minecraft.
Как поменять правила игры
Игровые правила представляют собой относительно новую функцию, которая позволяет игрокам и командным блокам менять определённые базовые настройки мира Minecraft. Есть девять описанных игровых правил, которые можно контролировать при помощи командного блока на карте.
Можно использовать игровые правила для создания постоянного дневного света или темноты, отключать спаун мобов, выпадение предметов из мобов и многое другое. При вводе команды «gamerule» используйте следующую команду:
Игровое правило | Эффект от правила |
commandBlockOutput | Включает/отключает ввод текста в КБ |
doDaylightCycle | Включает/отключает цикл дня/ночи |
doFireTrick | Включает/отключает распространение/исчезновение огня |
doMobLoot | Включает/отключает выпадение предметов из мобов |
doMobSpawning | Включает/отключает спаунинг мобов |
doTileDrops | Включает/отключает выпадение предметов из КБ при их разрушении |
keepInventory | Включает/отключает сохранение предметов в инвентаре после гибели игрока |
mobGriefing | Включает/отключает уничтожение КБ криперами или странником края |
naturalRegeneration | Включает/отключает регенерацию здоровья у игроков |
Как установить погоду
У некоторых карт используется тёмная тема, которая идеально сочетается с дождливой погодой или громом, тогда как в другие лучше играть с ясным небом. Есть много вариантов управлять погодой при помощи командных блоков. Простой пример команды погоды:
В этом случае слово input можно заменить на «clear» (ясно), «rain» (дождь) или «thunder» (гром).
Можно подключить к командному блоку кнопку или рычаг для переключения погоды вручную, или создать автоматическую схему красного камня для постоянного переключения погоды. Это легко достигается использованием повторителей, кнопки и строительного блока.
Как установить точку спауна
Точки спауна являются важным компонентом многих карт Minecraft, включая приключенческие, паркур-карты, головоломки и прочие. Необходимость каждый раз при гибели перепроходить карту с самого начала чрезвычайно раздражает. Используя команду «spawnpoint», можно сохранить игровой прогресс и возродиться после гибели у ближайшего пройденного чекпоинта. Команда выглядит так:
Подключив командный блок к строительному кнопкой или прижимной пластиной, игроки могут установить точку спауна в месте нахождения КБ.
Если нужно что-то посложнее, можно добавить в команду координаты для задания места появления точки спауна.
Как телепортироваться в локацию
Бегать из одного места в другое утомляет, особенно на многопользовательском сервере. С применением команды «teleport» игроки могут перемещаться по определённым координатам мира Minecraft или в локации других игроков. Введите в командный блок:
С ними можно иметь определённый набор координат для телепортации игрока, вроде локации следующей части приключенческой карты.
Если блок не предназначен для конкретного игрока, можно использовать «@p» для выбора ближайшего игрока.
Если вы на многопользовательском сервере, можно привязать командный блок к себе, применив своё имя пользователя в Minecraft.
Это лишь несколько вариантов как использовать командные блоки в однопользовательских и многопользовательских играх Майнкрафт. Есть много значительно более сложных команд и схем из красного камня, которые применяют создатели карт.
Командный блок
“ |