Skip to content

Step 5 ‐ Adding a Quest

SaphieNyako edited this page Aug 28, 2026 · 22 revisions

Previous: Adding Quest Lines

Root Quest Line

A Quest Line has Multiple Quests. A Quest Line should always start with a root.json

Example:

{
  "icon": "minecraft:book",
  "start": {
    "description": {
      "translate": "This is the start of the quest. Giving option to accept or decline the Quest Line."
    },
    "title": {
      "translate": "Root QuestLine Starts"
    }
  }
}

Note: The root file only has a "start" and no "complete"

This will have an accept and decline button. Once a player clicks accept they can continue the questline. Accepting saves the quest line on the player data.

2026-05-14_17 51 50

End Quest

(Optional) added in 1.5.0+

As every questline has a Root a questline can also have an end.json If the questline doesn't have an end file it will show nothing after the last quest has been completed. So this is optional.

The end.json doesnt have a complete section or a task and reward.

Example:

{
  "icon": "minecraft:bone",
  "start": {
    "description": {
      "translate": "This is the end of the Wolfie quest. Thank you for helping Wolfie out."
    },
    "title": {
      "translate": "Wolfie QuestLine Ends"
    }
  }
}

Quest Setup

After the root.json come all the other quests of the questline. These quest can have any name unlike the root.json file.

example quest json setup:

{
  "parent": "quest_giver:root",
  "icon": "minecraft:iron_sword",
  "start": {
    "description": {
      "translate": "Give a sword to the Quest Giver."
    },
    "title": {
      "translate": "Gift Example"
    }
  },
  "tasks": [
    {
      "id": "quest_giver:gift",
      "item": {
        "item": "minecraft:iron_sword"
      }
      "entity": "your_mod:your_creature"
    }
  ],
  "complete": {
    "description": {
      "translate": "Thank you for giving the sword!"
    },
    "title": {
      "translate": "Gift Example"
    }
  },
  "rewards": [
    {
      "id": "quest_giver:item",
      "item": {
        "count": 1,
        "item": "minecraft:experience_bottle"
      }
    }
  ]
}

Quest Giver Setup Examples

Parent

(Mandatory)

"parent" is the link to the previous quest.

If the parent quest is done this quest will be it's follow up.

Note: There can be multiple quests with the same parent.


── data
    └── quest_giver
        └── quest_lines
              └── your_quest_line_name
                     ├── root.json
                     ├── quest_01.json
                     ├── quest_02.json
                     ├── quest_03.json

The parent of quest_01.json would be: "parent": "parent": "quest_giver:root"

The parent of quest_02.json would be: "parent": "parent": "quest_giver:quest_01"

Icon

(Mandatory)

"icon" is the item that should be displayed if there are multiple selectable quests.

2026-05-14_12 45 07

"icon": "minecraft:iron_sword" will display a iron sword.

Start

(Mandatory)

A quest has a "start" and a "complete" section.

"start": {
    "description": {
      "translate": "Give a sword to the Quest Giver."
    },
    "title": {
      "translate": "Gift Example"
    }
  }

"start" has a "descirption" and a "title".

2026-05-14_17 52 00

"descriptionn" shows the quest text with "translate". This could describe what you want the player to do.

"title" the title will be shown above the quest window. This also has "translate" to show the text.

"translate" is a String. It can also have a link to a lang file. This can also be formatted.

Complete

(Mandatory)

"complete": {
    "description": {
      "translate": "Thank you for giving the sword!"
    },
    "title": {
      "translate": "Gift Example"
    }
  }

"complete" also has a "descirption" and a "title".

2026-05-14_17 52 14

"description" shows the quest text with "translate". This could describe what happens after the player completed their task.

"title" the title will be shown above the quest window. This also has "translate" to show the text.

"translate" is a String. It can also have a link to a lang file. This can also be formatted.

Task

(Mandatory)

There are many task already added by the Quest Giver Mod:

  • "craft"
  • "gift"
  • "item_stack"
  • "kill"
  • "pet"
  • "tame"
  • "biome"
  • structure"
  • "special_task"

The "id" is followed up by the indication of what task option.

"id": "quest_giver:gift"

How to add Tasks

Reward

(Optional) There are reward options already added by the Quest Giver Mod:

  • "item"
  • "command"

The "id" is followed up by the indication of what reward option.

"id": "quest_giver:item"

How to add Rewards

Clone this wiki locally