Mods Resource Packs Data Packs Plugins Shaders Modpacks
Get Modrinth App
Upgrade to Modrinth+
Sign in
ModsPluginsData PacksShadersResource PacksModpacks
Sign in
Settings
Questlines

Questlines

Adds data-driven quest lines to the game.

2,161
14
Adventure
Library
Utility
AboutChangelogVersions

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

{
  "is_unlocked_by_default": true
}

Quest

File: 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
    }
  ]
}

Objective Actions (Arc Lib)

File: 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"
    }
  ]
}

Language

File: assets/namespace/lang/en_us.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"
}

90% of ad revenue goes to creators

Support creators and Modrinth ad-free with Modrinth+

Compatibility

Minecraft: Java Edition

1.20.1

Platforms

Fabric
Forge

Supported environments

Server only
Singleplayer

Links

Report issues View source Visit wiki Join Discord server
Donate on PayPalDonate on Ko-fiDonate on PatreonSponsor on GitHub

Creators

DAQEM Studios
DAQEM StudiosOrganization

Details

Licensed Apache-2.0
Published last year
Updated last year

Modrinth is open source.

new-project-page@ac78952

© Rinth, Inc.

Company

TermsPrivacyRulesCareers

Resources

SupportBlogDocsStatus

Interact

Discord X (Twitter) Mastodon Crowdin
Get Modrinth App Settings
NOT AN OFFICIAL MINECRAFT SERVICE. NOT APPROVED BY OR ASSOCIATED WITH MOJANG OR MICROSOFT.