Nexo
Обзор
Nexo добавляет на ваш сервер пользовательские предметы, блоки и мебель. Это расширение приносит их в TypeWriter: квест может попросить игроков сломать пользовательскую руду или поставить вашу мебель, последовательность может начаться, когда игрок бьёт по блоку, а criteria могут проверять, что игрок держит или на что смотрит.
Всё адресуется по id предмета Nexo, например ruby_ore или oak_chair. Содержимое вы по-прежнему определяете в Nexo; это расширение только читает его и реагирует на него.
Возможности
- События блоков — разрушение, установка, взаимодействие, повреждение (игрок начинает копать) и выпадение добычи для пользовательских блоков.
- События мебели — разрушение, установка, взаимодействие и повреждение мебели с необязательным фильтром по id BetterModel.
- Считающие цели — разрушение или установка пользовательских блоков и мебели как цель квеста.
- Инструменты инвентаря для предметов — выдача или удаление предметов Nexo и реакция на их подбор, выброс или использование.
- Факты о предметах — предмет в руке, количество предметов и использует ли предмет в руке заданную механику.
- Факты о мире — блок, на который смотрят или на котором стоят, мебель, на которую смотрят, состояние света мебели и время, необходимое для разрушения блока.
- Переменные — id и свойства предметов в руке, а также блоков и мебели в поле зрения, плюс списки реестра и тегов.
- Запись звука — используйте id звука Nexo везде, где TypeWriter запрашивает звук.
Установка
- Установите Nexo на сервер. Без него это расширение не загружается.
- Убедитесь, что установлены расширения TypeWriter Quest и Basic.
- Скачайте расширение в магазинах (см. кнопки в панели выше) и положите JAR-файл в
plugins/Typewriter/extensions/. - Перезапустите сервер.
Быстрый старт
В этом руководстве запускается последовательность, когда игрок кликает правой кнопкой по пользовательскому блоку, и считается мебель для квеста.
- На странице sequence добавьте событие Nexo Block Interact.
- Задайте
blockIdравным id блока Nexo,actionравнымRIGHT_CLICKи свяжитеtriggersс записями, которые нужно выполнить, например с диалогом. - Для считающей задачи создайте квест и факт прогресса, затем добавьте цель Place Furniture.
- Задайте
quest,fact,itemравным id мебели иamountравным5. Заполнитеdisplayстрокой трекера и при желании свяжитеonCompleteс последовательностью наград. - Опубликуйте и проверьте с игроком, у которого активен квест.
Переменная 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
- Nexo Give Item ActionGive a Nexo item to the player
- Nexo Remove Item ActionRemove a Nexo item from the player
События12
- Nexo on Customblock Break EventTriggers when a Nexo custom block is broken
- Nexo on Customblock Damage EventTriggers when a player starts breaking a Nexo custom block
- Nexo on Customblock Drop Loot EventTriggers when a Nexo custom block drops loot
- Nexo on Customblock Interact EventTriggers when a Nexo custom block is interacted with
- Nexo on Customblock Place EventTriggers when a Nexo custom block is placed
- Nexo on Furniture Break EventTriggers when a Nexo furniture is broken
- Nexo on Furniture Damage EventTriggers when a player hits a Nexo furniture
- Nexo on Furniture Interact EventTriggers when a Nexo furniture is interacted with
- Nexo on Furniture Place EventTriggers when a Nexo furniture is placed
- Nexo on Item Consume EventTriggers when the player consumes a Nexo item
- Nexo on Item Drop EventTriggers when the player drops a Nexo item
- Nexo on Item Pickup EventTriggers when the player picks up a Nexo item
Цели4
- Nexo Break Customblock ObjectiveAn objective to break Nexo custom blocks
- Nexo Break Furniture ObjectiveAn objective to break Nexo furniture
- Nexo Place Customblock ObjectiveAn objective to place Nexo custom blocks
- Nexo Place Furniture ObjectiveAn objective to place Nexo furniture
Факты8
- Nexo Break Time FactTicks this player needs to break the Nexo block they are looking at
- Nexo Furniture Light State FactWhether the Nexo furniture the player looks at is lit
- Nexo Holding Item FactWhether the player is holding a Nexo item
- Nexo Item Count FactHow many of a Nexo item the player carries
- Nexo Item Has Mechanic FactWhether the held Nexo item uses a given mechanic
- Nexo Looking at Block FactWhether the player is looking at a Nexo custom block
- Nexo Looking at Furniture FactWhether the player is looking at Nexo furniture
- Nexo Standing on Block FactWhether the player is standing on a Nexo custom block
Переменные8
- Nexo Furniture Property VariableA property of the Nexo furniture the player is looking at
- Nexo Item in Hand ID VariableThe Nexo ID of the item the player holds
- Nexo Item Property VariableA property of the Nexo item the player holds
- Nexo Looking at Block ID VariableThe Nexo ID of the block the player is looking at
- Nexo Looking at Furniture ID VariableThe Nexo ID of the furniture the player is looking at
- Nexo Registry Ids VariableThe list of IDs Nexo has loaded
- Nexo Standing on Block ID VariableThe Nexo ID of the block the player stands on
- Nexo Tag Items VariableThe Nexo items carrying a given tag
Звуки1
- Nexo SoundNexo Sound
Устранение неполадок
Расширение не появляется в панели. 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 — такая же интеграция для других плагинов пользовательского контента.