Skip to content
Nick T. edited this page Nov 1, 2026 · 4 revisions

Taskbound editing wiki

Use these guides to customize tasks without rebuilding the mod:

Find the editable files

Launch Taskbound once to create this folder inside the Minecraft installation:

config/taskbound/
  .initialized
  data/taskbound/
    task_givers/
    task_categories/
    task_templates/
    rewards/
    level_rewards/

In Prism Launcher, open the instance's Minecraft folder, then config/taskbound. In multiplayer, edit the server's files. These definitions apply to all worlds using that installation; a client's files do not override the server.

Folder What it controls
task_givers Guild name, icon, reputation, categories, and reward pools.
task_categories Which tasks belong together, unlock levels, and selection weights.
task_templates Task text, objectives, conditions, and difficulty.
rewards Reward candidates chosen when a task is generated.
level_rewards Fixed supplies claimed at intermediate reputation levels.

Each definition has an id matching its filename. For example, data/mytasks/task_templates/watch/zombie_patrol.json declares mytasks:watch/zombie_patrol. Use lowercase IDs with no spaces; names displayed to players can contain spaces. A filename change also requires changing its id and every reference to it.

Make and check a change

  1. Back up config/taskbound outside its data folder. For changes to a live server, also back up the world while it is stopped.
  2. Edit the relevant JSON files. Use normal JSON: double quotes, no comments, and no trailing commas. Keep backups outside the definition folders so they are not loaded as extra definitions.
  3. Save all related files before reloading. A new task needs its category reference; a new category needs its giver reference.
  4. Run /reload or /taskbound reload with operator permission.
  5. Check the reload result and logs/latest.log, then reopen the board or journal and test a new offer.

Definitions are published together after validation. If a reload fails, the current running server retains its previous valid catalog; fix the reported file and reload again. A fresh server start has no previous in-memory catalog to retain, so repair invalid files before restarting. Successful reloads clear unaccepted offers and their refresh timers. Accepted tasks keep the text, objectives and payouts saved when they were accepted.

Add a complete example

The guides use one shared example: a Village Watch giver that asks the player to defeat five zombies. Create these four files under config/taskbound/data/mytasks/, copying the complete JSON from the linked guides, then reload once:

File Example
task_givers/watch.json Village Watch giver
task_categories/watch/starter.json Starter category
task_templates/watch/zombie_patrol.json Zombie Patrol task
rewards/watch/emeralds.json Two-emerald reward

The level gift example is optional. The example uses literal title and description fields, so no translation file is needed. It contains only one task; add more templates to provide a larger offer list.

For a quick operator check, run /taskbound debug offers @s mytasks:watch, then inspect the Village Watch tab at a board. Accept the task, defeat five zombies, and claim its reward. Debug assignment and completion commands are useful for inspection, but do not prove that normal offer eligibility or gameplay progress works.

Keep deliberate deletions

Keep .initialized. It tells Taskbound that the initial catalog has already been generated, so intentionally deleted definitions stay deleted. Editing the seed files in the mod JAR is unnecessary and does not change an already initialized configuration.

Use the current task_givers, task_categories, task_templates and rewards folders.

To restore missing defaults, stop the server, back up config/taskbound, remove only .initialized, and start again. Existing files are preserved. To reset every default, move the entire backed-up config/taskbound folder out of config before starting again. Both operations intentionally restore content that you may have removed.

Use a datapack for one world

A world datapack uses the same data/<namespace>/<definition folder>/...json layout plus a pack.mcmeta. Enabled datapacks override config definitions with the same ID; they replace whole definitions rather than merging fields. Use the documented task_* and rewards directories. See installing an override.

If an edit appears to have no effect, check for a datapack override and check whether you are viewing an already accepted task. Deleting an override can reveal the config definition underneath it. To remove a giver supplied by an underlying configuration, override it with "enabled": false, or remove its underlying definition too.

Clone this wiki locally