Редактор кода
Редактор кода представляет из себя специальное пространство для написания кода в игре. Переместиться в редактор кода можно командой /dev
, а запустить код командой /play
.
Написание кода происходит на платформе (этаже кода), которая вмещает в себя 23 строки кода. Максимальное количество этажей — 15.
Помимо кода, на этажах можно размещать некоторые функциональные блоки и использовать их, но они исчезают при перезапуске мира.
Команды редактора кода:
/editor barrels <on/off>
Показ сундуков над блоками кода в виде бочек.
/editor decorate <action/event/floor/reset>
Косметическое изменение элементов редактора кода. » Доступно только от ранга Planet.
/editor drops <on/off>
Включение/выключение выпадения предметов из блоков кода.
/editor floor <add/remove>
Добавление/удаление этажа кода.
/editor items
Восстановить все предметы редактора кода в инвентаре.
/editor save-location <on/off>
Запоминать текущее местоположение в редакторе кода.
/editor time <day/midnight/night/noon>
Изменить время в редакторе кода.
/editor tp <floor/function/process/координаты>
Телепортироваться в любое место в редакторе кода.
Кодинг
Блоки кода
В основном, строка кода начинается с события. Оно улавливает действие того или иного объекта, выбранного вами.
Блоки событий:
Событие игрока — выполняет строку кода, когда игрок выполняет действие или действие выполнено над ним.
Событие сущности — выполняет строку кода, когда сущность выполняет действие или действие выполнено над ней.
Событие мира — выполняет код, когда в мире происходит действие.
После того, как вы поставили блок события, необходимо выбрать само событие. Для этого нужно нажать правой кнопкой мыши по блоку события и в открывшемся окне и выбрать нужное событие. Зачастую они разбиты на категории, для более удобного поиска.
Следующим блоком, после события, можно установить действие.
Блоки действий:
Действие над игроком — выполняет действия над игроком или над группой игроков.
Действие над сущностью — выполняет действия над сущностью или над группой сущностей.
Действие над миром — выполняет действия, связанные с миром.
Действие с переменной — используется для взаимодействия с переменными.
Как становится понятно по названию, этот блок выполняет действие. Например, выдать игроку любой предмет, отправить сообщение в чат или отменить действие.

Если вы хотите установить дополнительное действие, которое будет вызываться этим же событием, то можете установить его далее в этой же строке.
Зачастую перед тем, как выполнить действие, нужно поставить условие для его выполнения.
Блоки условий:
Если игрок — выполняет код внутри поршней, если игрок соблюдает условие, указанное на табличке.
Если сущность — выполняет код внутри поршней, если сущность соблюдает условие, указанное на табличке.
Если переменная — выполняет код внутри поршней, если указанное условие верно.
Если в мире — выполняет код внутри поршней, если в мире соблюдается условие, указанное на табличке.
![Событие игрока (Игрок кликает правой кнопкой) → Если игрок (Держит предмет) [Действие над игроком (Установить броню)])](https://justwiki.gitbook.io/wiki/~gitbook/image?url=https%3A%2F%2F2603865717-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fc7L5xYt3fUhiehZ6VEL2%252Fuploads%252FRDvcZAcNBRwYxrV9gHV5%252FPreview_Set_Armor.png%3Falt%3Dmedia%26token%3De846b59c-f368-4c42-8cfc-d5a4566e5ce2&width=768&dpr=4&quality=100&sign=f9276e64&sv=2)
Некоторые действия и условия имеют селекторы. С их помощью можно выбрать, по отношению к какой именно цели будет выполняться действие. Выбрать селектор можно нажатием Shift + ПКМ по блоку кода.
Условие можно заменить на обратное. Для этого нужно взять предмет НЕ стрела в активный слот и нажать ПКМ по табличке на блоке условия. Таким образом, условие «Если» превратится в «Если НЕ».
После условия, можно установить блок, который вызовет другое действие, если условие события не будет выполнено:
Иначе — выполняет код внутри поршней, если условие, привязанное к этому блоку, неверно. Данный блок можно поставить, только если предшествующий ему блок является блоком условия.
![Событие игрока (Игрок зашёл в мир) → Если игрок (Имеет права) [Действие над игроком (Установить режим игры)] → Иначе [Действие над игроком (Выгнать из мира)])](https://justwiki.gitbook.io/wiki/~gitbook/image?url=https%3A%2F%2F2603865717-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fc7L5xYt3fUhiehZ6VEL2%252Fuploads%252FwMKxMYJj6BxJKswWJwIf%252Fpreview_else.png%3Falt%3Dmedia%26token%3D4a667585-ed76-4680-83f9-fce3277faa5c&width=768&dpr=4&quality=100&sign=1f98939a&sv=2)
Бывают ситуации, когда действие нужно совершить над определённым или случайным объектом. Для таких случаев существует блок, позволяющий выбрать цель и впоследствии работать именно с ней:
Выбрать цель — создаёт выборку из сущностей, с которой можно будет работать до тех пор, пока вы не сбросите выборку.

Любой код можно зациклить. Для этого, присутствует блок, способный повторять код заданное количество раз:
Повторение — повторяет код внутри поршней в зависимости от выставленных условий.
Выполнение кода в строке происходит последовательно и моментально. Но с помощью специального блока можно устанавливать задержку перед выполнением следующего действия, полностью останавливать выполнение кода, управлять повторениями и вызывать ошибки:
Контроль действий — используется для дальнейшего контроля кода, стоящего после этого блока.
![Событие игрока (Игрок зашёл в мир) → Повторение (Повторять вечно) [Действие над игроком (Отправить экшн-бар) → Контроль действий (Ждать)]](https://justwiki.gitbook.io/wiki/~gitbook/image?url=https%3A%2F%2F2603865717-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252Fc7L5xYt3fUhiehZ6VEL2%252Fuploads%252Fw4vYrSfMFbVb9UATPa1G%252Fpreview_control.png%3Falt%3Dmedia%26token%3Db6f97a6b-4be6-455f-b667-4a1f46c9d2d8&width=768&dpr=4&quality=100&sign=c5d03845&sv=2)
Контроллер — контролирует выполнение кода внутри поршней, может проверять наличие ошибки или затрату по времени на выполнение кода.
В большом коде могут встречаться повторяющиеся фрагменты, выполняющие одну и ту же задачу, но вызываемые разными способами. Для того, чтобы не переписывать эти фрагменты каждый раз, можно уместить их в функции:
Функция — хранит строку кода, которую можно вызвать с помощью блока "Вызвать функцию".
Вызвать функцию — вызывает строку кода, связанную с блоком функции. Строка кода, где вызывается функция, не будет продолжена то тех пор, пока функция не завершит своё выполнение.
Блок функции устанавливается самым первым в строке, после него идёт фрагмент кода, который сохранится в данную функцию. Функции необходимо дать название. Для этого, держа в руках заданный текст, нажмите ПКМ по табличке, расположенной на блоке.
Помимо функций, есть также "Процесс", похожий по принципу работы:
Процесс — хранит строку кода, которую можно вызвать с помощью блока "Запустить процесс".
Запустить процесс — вызывает строку кода, связанную с блоком процесса. Строка кода, где вызывается процесс, будет продолжать свою работу, даже если сам процесс не завершился. Блок контроля действий не приостанавливает строку кода, в отличие от функции.
Взаимодействие с кодом
Каждый блок кода имеет после себя дополнительный блок, как, например, рядом с событием игрока (алмазный блок) стоит алмазная руда. Этот блок носит название "коннектор".
Нажатие Shift + ПКМ по коннектору, если он не является последним в строке, создаёт отступ после него. Его можно использовать для установки дополнительного блока кода.
Нажатие Shift + ЛКМ по коннектору убирает отступ.
Нажатие ЛКМ по блоку кода удаляет его. Если нажать на первый блок кода в строке, то удалится вся строка.
Любую строку кода можно сохранить в виде шаблона и разместить в любом месте:
Нажатие Shift + ЛКМ по первому блоку кода в строке перемещает строку в ваш инвентарь в виде шаблона.
Шаблон можно сохранить в разделе творческого инвентаря «Сохранённые инструменты», чтобы использовать в любом другом мире.
Взаимодействие с помощью манипулятора:
Манипулятор — инструмент, который перемещает строки по и между этажами, сохраняет их в модуль или удаляет.
Нажатие ПКМ по первому блоку в строке кода позволяет выбрать строку. Можно выбрать несколько строк;
Нажатие ЛКМ убирает выделение со строки;
Нажатие Shift + ПКМ передвигает строку вперёд;
Нажатие Shift + ЛКМ передвигает строку назад;
Нажатие клавиши F открывает .
Аргументы
Многие блоки кода имеют над собой хранилище (сундук или бочку). Оно открывает меню аргументов выбранной вами опции в блоке кода. Некоторые аргументы представляют из себя Маркер — контекстное меню, где из предложенных вариантов предлагается выбрать подходящий. Но встречаются и пустые ячейки, зачастую они предназначены для значений. Каждая такая ячейка выделена снизу определённым цветом и подписана названием значения, которое требуется в неё положить.
Список значений:
Текст — значение, используемое для указания текстовых аргументов.
Число — значение, используемое для указания числовых аргументов.
Местоположение — значение, используемое для указания аргументов типа местоположение.
Вектор — значение, используемое для указания аргументов типа вектор.
Звук — значение, используемое для указания аргументов типа звук.
Эффект частиц — значение, используемое для указания аргументов типа частица.
Зелье — значение, используемое для указания аргументов типа зелье.
Переменная — предмет, который может хранить в себе все типы значений. Задать значение можно при помощи действия "установить переменную".
Игровое значение — автоматически определённое значение, которое зависит от текущего состояния игры (например, местоположение игрока).
Помимо значений, существуют ещё такие аргументы, как Предмет и
Блок.
Они отличаются от значений тем, что их можно достать из инвентаря Творческого режима.
Плейсхолдеры
Плейсхолдеры можно встраивать в значения. Например, если вы укажете в значении Текст "Поздоровайтесь с
%player%
!", то на месте %player%
образуется ник игрока, который вызвал событие.
Список всех плейсхолдеров:
%player%
Ник игрока, который вызвал событие или был задействован в процессе с маркером "Каждая цель в выборке".
%player_uuid%
То же, что и %player%
, но вместо ника UUID игрока.
%entity%
Имя существа, которое вызвало событие (например, существо получает урон), или участвовало в нём (например, игрок подбирает опыт), или было задействовано в процессе с типом цели "Каждая цель в выборке". Существо может оказаться игроком, если в событии игрока не участвуют другие существа или процесс был вызван для игрока.
%entity_uuid%
То же, что и %entity%
, но вместо ника UUID сущности.
%victim%
Имя жертвы в событии (существо/игрок, над которым производилось действие).
%victim_uuid%
UUID жертвы в событии.
%damager%
Имя атакующего в событии (существо/игрок, наносящее(-ий) урон другой цели).
%damager_uuid%
UUID атакующего в событии.
%shooter%
Имя стрелка в событии (существо/игрок, стрельнувшее(-ий) снарядом в цель).
%shooter_uuid%
UUID стрелка в событии.
%killer%
Имя убийцы (существо/игрок) в событии смерти.
%killer_uuid%
UUID убийцы в событии смерти.
%selected%
Имя первой цели в текущей выборке.
%selected_uuid%
UUID первой цели в текущей выборке.
%display_name%
То же, что и %entity%
, но если существом является игрок, то заменяется на ник игрока с префиксом и суффиксом.
%uuid%
Сокращение плейсхолдера %entity_uuid%
.
Last updated
Was this helpful?