Скачать Questlines — Minecraft Моды — MetaMods

Questlines

Активный

Установок

0

Последнее обновление

1 год назад

Версии

1.20.1
Клиент и сервер
Fabric
Forge
Приключенческие
Библиотеки
Утилиты

Questlines - Система квестов для Minecraft

Внимание: данный мод находится на ранней стадии разработки, и его API может изменяться.

Questlines представляет собой модификацию для Minecraft, которая вводит в игру полноценную систему цепочек заданий. Особенность этого решения заключается в том, что все квесты создаются с помощью датапаков, что позволяет настраивать их без необходимости написания программного кода.

Как работает система квестов

Каждая цепочка заданий состоит из нескольких отдельных квестов. Эти задания могут следовать друг за другом последовательно или разветвляться, создавая различные пути прохождения. Внутри каждого квеста присутствуют одна или несколько целей. Как только игрок выполняет все поставленные цели, задание отмечается как завершенное, и становятся доступными следующие квесты в цепочке.

Интеграция с Arc Lib

Для регистрации действий игрока Questlines использует библиотеку Arc Lib, также разработанную DAQEM Studios. Эта библиотека значительно упрощает процесс определения действий, необходимых для выполнения целей. Достаточно указать Arc Lib, для какой цели предназначено действие, описать условия его выполнения и установить награду в виде "вхождения цели".

Пример настройки

Рассмотрим пример, где цель состоит в добыче 10 блоков травы с наградой в виде 10 каменных блоков.

Настройка цепочки квестов

Файл: data/namespace/questlines/questlines/questline_name.json

{
  "is_unlocked_by_default": true
}

Настройка отдельного квеста

Файл: data/namespace/questlines/quests/quest_name.json

{
  "questline": "namespace:questline_name",
  "objectives": [
    {
      "id": "objective_name",
      "goal": 10
    }
  ],
  "rewards": [
    {
      "type": "arc:item",
      "item": "minecraft:stone",
      "amount": 10
    }
  ]
}

Настройка действий для целей (Arc Lib)

Файл: data/namespace/arc/quest_name/objective_name.json

{
  "holder": {
    "type": "questlines:objective",
    "id": "namespace:quest_name/objective_name"
  },
  "type": "arc:on_break_block",
  "conditions": [
    {
      "type": "arc:block",
      "block": "minecraft:grass_block"
    }
  ],
  "rewards": [
    {
      "type": "questlines:objective_occurrence"
    }
  ]
}

Локализация

Файл: assets/namespace/lang/en_us.json

{
  "questlines.questline.namespace.questline_name": "Самая лучшая цепочка квестов!",
  "questlines.quest.namespace.quest_name": "Потрогай траву",
  "questlines.quest.namespace.quest_name.description": "Сломай 10 блоков травы и получи 10 каменных блоков.",
  "questlines.objective.namespace.quest_name.objective_name.description": "Сломать блок травы"
}
Участники проекта
DAQEM

DAQEM

Разработчик

Создан: 27 фев 2024

ID: 11898