← Назад к ресурсам

Questlines

Adds data-driven quest lines to the game.

Modrinth adventure library utility

Описание

[![Bisect Hosting Promotion Banner](https://www.bisecthosting.com/partners/custom-banners/ee9630c7-c981-45f9-9862-3a1d71a628bf.webp)](https://redirect.daqem.com?to=https%3A%2F%2Fbisecthosting.com%2FDAQEM%3Fr%3DQuestlinesModrinth) [![Ko-fi Promotion Banner](https://i.imgur.com/SU7HhbO.png)](https://ko-fi.com/daqem) ### NOTE: THIS MOD IS STILL IN EARLY DEVELOPMENT AND THE API MIGHT CHANGE. Questlines is a data driven Minecraft mod that adds - you guessed it - quest lines to the game. These quest lines can be created using data packs. This making crating quest lines very easy for people who don't know how to code. ## Structure A quest line consisits of multiple quests. These quest can just be consecutive or they can brach out into multiple quest branches. Each quest contains on or more objectives. When all objectives have been completed, the quest will also be marked as complete and all its child quests will become available. ## Arc Lib Questlines uses a library mod called Arc Lib (which is also made by DAQEM Studios) to register the objective player actions. Arc Lib makes it extremely easy to define player actions. All you have to do it tell Arc Lib which objective the action is for, descrive the conditions of the action and set the reward to an 'objective occurance' reward. ## Example In this example, the objective is to mine 10 Grass Blocks with a reward of 10 Stone blocks. ### Questline File: `data/namespace/questlines/questlines/questline_name.json` ```json { "is_unlocked_by_default": true } ``` ### Quest File: `data/namespace/questlines/quests/quest_name.json` ```json { "questline": "namespace:questline_name", "objectives": [ { "id": "objective_name", "goal": 10 } ], "rewards": [ { "type": "arc:item", "item": "minecraft:stone", "amount": 10 } ] } ``` ### Objective Actions (Arc Lib) File: `data/namespace/arc/quest_name/objective_name.json` ```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" } ] } ``` ### Language File: `assets/namespace/lang/en_us.json` ```json { "questlines.questline.namespace.questline_name": "The Best Quest Line Name!", "questlines.quest.namespace.quest_name": "Touch Grass", "questlines.quest.namespace.quest_name.description": "Break 10 Blocks of Grass and recieve 10 Stone.", "questlines.objective.namespace.quest_name.objective_name.description": "Break Grass Block" } ```