Перейти к основному содержимому

Nexo

Блоки, мебель и предметы Nexo в событиях, целях, фактах и переменных TypeWriter.

Платныеv0.8Интеграции
ТребуетсяTypeWriter0.9NexoQuest (TypeWriter extension)Basic (TypeWriter extension)

Обзор​

Nexo добавляет на ваш сервер пользовательские предметы, блоки и мебель. Это расширение приносит их в TypeWriter: квест может попросить игроков сломать пользовательскую руду или поставить вашу мебель, последовательность может начаться, когда игрок бьёт по блоку, а criteria могут проверять, что игрок держит или на что смотрит.

Всё адресуется по id предмета Nexo, например ruby_ore или oak_chair. Содержимое вы по-прежнему определяете в Nexo; это расширение только читает его и реагирует на него.

Возможности​

  • События блоков — разрушение, установка, взаимодействие, повреждение (игрок начинает копать) и выпадение добычи для пользовательских блоков.
  • События мебели — разрушение, установка, взаимодействие и повреждение мебели с необязательным фильтром по id BetterModel.
  • Считающие цели — разрушение или установка пользовательских блоков и мебели как цель квеста.
  • Инструменты инвентаря для предметов — выдача или удаление предметов Nexo и реакция на их подбор, выброс или использование.
  • Факты о предметах — предмет в руке, количество предметов и использует ли предмет в руке заданную механику.
  • Факты о мире — блок, на который смотрят или на котором стоят, мебель, на которую смотрят, состояние света мебели и время, необходимое для разрушения блока.
  • Переменные — id и свойства предметов в руке, а также блоков и мебели в поле зрения, плюс списки реестра и тегов.
  • Запись звука — используйте id звука Nexo везде, где TypeWriter запрашивает звук.

Установка​

  1. Установите Nexo на сервер. Без него это расширение не загружается.
  2. Убедитесь, что установлены расширения TypeWriter Quest и Basic.
  3. Скачайте расширение в магазинах (см. кнопки в панели выше) и положите JAR-файл в plugins/Typewriter/extensions/.
  4. Перезапустите сервер.

Быстрый старт​

В этом руководстве запускается последовательность, когда игрок кликает правой кнопкой по пользовательскому блоку, и считается мебель для квеста.

  1. На странице sequence добавьте событие Nexo Block Interact.
  2. Задайте blockId равным id блока Nexo, action равным RIGHT_CLICK и свяжите triggers с записями, которые нужно выполнить, например с диалогом.
  3. Для считающей задачи создайте квест и факт прогресса, затем добавьте цель Place Furniture.
  4. Задайте quest, fact, item равным id мебели и amount равным 5. Заполните display строкой трекера и при желании свяжите onComplete с последовательностью наград.
  5. Опубликуйте и проверьте с игроком, у которого активен квест.
Поиск id

Переменная Registry IDs выводит все id предметов, блоков и мебели, загруженные Nexo. Переменная Tag Items выводит предметы тега Nexo.

Как это работает​

События передают запускаемым записям то, что произошло: id блока или мебели, их позицию и, для мебели, id BetterModel. Событие выпадения добычи также передаёт, сколько стопок и предметов выпало.

Цели считают каждую позицию один раз для игрока, поэтому повторная установка и разрушение в том же месте не суммируются. Они считают только пока у игрока активен связанный квест. Отменённые действия игнорируются.

Фильтр betterModelId в событиях и целях мебели сопоставляется с ключом bettermodel_id мебели в вашей конфигурации Nexo. Оставьте его пустым, чтобы не учитывать.

Конфигурация​

Строки целей в трекере квестов строятся из двух сниппетов TypeWriter:

СниппетПо умолчанию
advancedQuest.display<display> <dark_gray>(<gray><current><dark_gray>/<gray><required><dark_gray>)
advancedQuest.completed<green>✔</green> <st><display></st> <dark_gray>(<gray><current><dark_gray>/<gray><required><dark_gray>)

Записи​

Записей: 35, сгенерированы из исходного кода расширения.

Действия2
События12
Цели4
Факты8
Переменные8
Звуки1

Устранение неполадок​

Расширение не появляется в панели. Nexo не установлен или не включился. Каждая запись обращается к API Nexo, поэтому без плагина расширение отказывается загружаться.

Событие никогда не срабатывает. Используйте id предмета Nexo в точности (ruby_ore). Пустой id подходит под всё. Если вы заполнили location, подходит только эта позиция блока. События, отменённые другим плагином, игнорируются. Для мебели betterModelId, не совпадающий с bettermodel_id мебели, блокирует событие.

Цель не продвигается. У игрока должен быть активен связанный квест, а fact должен быть задан. Каждая позиция блока засчитывается только один раз для игрока.

Переменные реестра или тегов пусты. Nexo загружает свои предметы в фоне. Эти переменные ничего не возвращают, пока Nexo не закончит загрузку, поэтому не читайте их во время запуска сервера.

Факт всегда возвращает 0. Предмет или блок не принадлежат Nexo. Факты о блоках проверяют первый блок в пределах range блоков (по умолчанию 5). Факт времени разрушения возвращает 0, если целевой блок нельзя разрушить средствами Nexo. Факту механики нужен точный id механики Nexo.

Give Item ничего не выдаёт. itemId неизвестен Nexo, поэтому предмет не создаётся. Остатки, которые не помещаются, выбрасываются под ноги игроку, если не выключен dropOverflow.

Связанные расширения​

  • ItemsAdder и Craft Engine — такая же интеграция для других плагинов пользовательского контента.