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

Справочник условий и действий

Условия

Условия нужны для того что бы могли контролировать появления квеста, вы же не хотите написать квест в зимней тематике, и потом увидеть что его выдаст житель из пустыни? Потому и были придуманы условия, вы можете комбинировать их добавляя их в массив в квесте. Ну и со временем думаю что данный список будет увеличиваться.

thequestforge:entity_is

Например :

"requirement": ["thequestforge:entity_is:minecraft:zombie"]

Если НПС это зомби, то разрешить генерацию этого квеста.


thequestforge:entity_is_not

Например :

"requirement": ["thequestforge:entity_is_not:minecraft:zombie"]

Если НПС это НЕ зомби, то разрешить генерацию этого квеста.


thequestforge:entity_tag_is

Например :

"requirement": ["thequestforge:entity_tag_is:minecraft:skeletons"]

Если НПС есть тег skeletons, то разрешить генерацию этого квеста.


thequestforge:entity_tag_is_not

Например :

"requirement": ["thequestforge:entity_tag_is_not:minecraft:skeletons"]

Если НПС нету тега skeletons, то разрешить генерацию этого квеста.


thequestforge:is_baby

Например :

"requirement": ["thequestforge:is_baby:true"]

Если НПС ребёнок, то разрешить генерацию этого квеста.

Тут можно поставить значение true/false (true - если НПС ребёнок, false - не ребёнок).


thequestforge:biome_is

Например :

"requirement": ["thequestforge:biome_is:minecraft:plains"]

Если НПС сейчас находится биоме равнины, то разрешить генерацию этого квеста.


thequestforge:biome_is_not

Например :

"requirement": ["thequestforge:biome_is_not:minecraft:plains"]

Если НПС сейчас находится НЕ биоме равнины, то разрешить генерацию этого квеста.


thequestforge:biome_tag_is

Например :

"requirement": ["thequestforge:biome_tag_is:minecraft:is_desert"]

Если НПС сейчас находится биоме у которого есть тег is_desert, то разрешить генерацию этого квеста.


thequestforge:biome_tag_is_not

Например :

"requirement": ["thequestforge:biome_tag_is_not:minecraft:is_desert"]

Если НПС сейчас находится биоме у которого НЕТУ тега is_desert, то разрешить генерацию этого квеста.


thequestforge:is_biome_nearby

Например :

"requirement": ["thequestforge:is_biome_nearby:minecraft:desert-200"]
"requirement": ["thequestforge:is_biome_nearby:#minecraft:is_forest-200"]

Данное условие проверяет есть ли нужный биом (или тег биома через #) в заданном радиусе. Точка начала поиска координаты НПС, радиус задаётся вручную (в примере стоит 200 блоков)


thequestforge:is_structure_nearby

Например :

"requirement": ["thequestforge:is_structure_nearby:minecraft:desert_pyramid-2000"]
"requirement": ["thequestforge:is_structure_nearby:#minecraft:village-2000"]

Данное условие проверяет есть ли нужная структура (или тег структуры через #) в заданном радиусе. Точка начала поиска координаты НПС, радиус задаётся вручную (в примере стоит 2000 блоков)


thequestforge:dimension_is

Например :

"requirement": ["thequestforge:dimension_is:twilightforest:twilight_fores"]

Если НПС сейчас находится в измерении twilightforest:twilight_fores , то разрешить генерацию этого квеста.


thequestforge:dimension_is_not

Например :

"requirement": ["thequestforge:dimension_is_not:twilightforest:twilight_fores"]

Если НПС сейчас находится НЕ в измерении twilightforest:twilight_fores , то разрешить генерацию этого квеста.


Плейсхолдеры

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


%player%

Меняется на имя игрока (только ваш никнейм, не других игроков)


%npc_name%

Данный плейсхолдер поддерживает один строковой модификатор `%npc_name-no_hide%

  • С no_hide он поменяется на кастомное имя сущности, если такового нету то вернёт просто название сущности.
  • Без no_hide он поменяется на кастомное имя сущности, если такового нету, то вернёт "" (то есть ничего)

%target-№%

Меняется на количество и название объекта, который нужный для задания

Для грамотного использования нужно учесть сколько заданий ваш квест сможет выдать заданий максимум. Например квест может выдать от 2 до 4 заданий, для получения следующего текста : Мне нужно 3 песка, 4 яблока, 13 палок, сможеш достать?, то исходник должен выглядеть так : Мне нужно %target-1%%target-2%%target-3%%target-4% сможеш достать?% плейсхолдеров 4 как и максимум заданий в квесту, лишнее само уберётся и всё будет красиво.


%reward-№%

Меняется на количество и название награды, действует аналогично с %target-№%


%direction%

Меняется на названия сторон света, для того чтобы указать где находится определённый объект, используется в квестах которые ищут биом или структуру.

Данный плейсходер можно использовать только в квестах которые используют thequestforge:is_structure_nearby, thequestforge:is_biome_nearby, в другом случае выдаст Direction not found.


%time%

Поменяется на время которое дано на выполнения квеста.


Действия

Действия это своеобразные скрипты, которые выполняют некое действие, принять квест, сдать и т.д.

Close

"actions": ["thequestforge:close"]

Данное действие закрывает GUI диалога.

Данное действие выполняется в приоритете, и отменяет остальные действия, единственное исключение "save".

Save

"actions": ["thequestforge:save"]

Данное действие сохранят этап диалога для игрока, что бы при следующем взаимодействие НПС начать с сохранённым этапом, а не со start.

Accept

"actions": ["thequestforge:accept"]

Данное действие добавит квест к активным квестам игрока.

Complete

"actions": ["thequestforge:complete"]

Данное действие завершает квест если он выполнен. Также если квест не выполнен и в кнопке есть поле "alt_to_go" то перейдём по нём.

Next_quest

"actions": ["thequestforge:next_quest"]

Данное действие переключает квест на следующий.


Команды

В моде есть команды которые помогут при отладке квестов, или создание базы данных. Начало команд /questforge

reset

Сбрасывает квесты у игрока, или если это сущность то у неё.

registry export

Создаёт файл в корневой папке игры, со всеми :

  • ID предметов
  • ID сущностей
  • Тегами сущностей
  • ID зачарований
  • ID биомов
  • Тегами биомов
  • ID структур
  • Тегами структур
  • ID заданий
  • ID Действий
  • ID условий

spawn

Позволяет призвать НПС из списка добавленных, с конкретным квестом игнорируя условия.