Repository navigation
Task Givers
A task giver is a guild on the board and journal. It connects reputation, categories, and reward pools. Adding one does not create an NPC, villager profession, or village building.
Create config/taskbound/data/mytasks/task_givers/watch.json:
{
"id": "mytasks:watch",
"display_name": "Village Watch",
"reputation": {
"thresholds": {
"1": 0,
"2": 10,
"3": 25,
"4": 45,
"5": 70,
"6": 100,
"7": 135,
"8": 175,
"9": 220,
"10": 270,
"11": 325,
"12": 385,
"13": 450,
"14": 520,
"15": 595,
"16": 675,
"17": 760,
"18": 850,
"19": 945,
"20": 1045
}
},
"rank_names": {
"1": "Recruit",
"5": "Patroller",
"10": "Guardian",
"15": "Captain",
"20": "Commander"
},
"category_ids": [
"mytasks:watch/starter"
],
"reward_pool_ids": [
"mytasks:watch"
],
"reward_multiplier": 1.0,
"enabled": true,
"icon_item": "minecraft:shield"
}Create the category below, Zombie Patrol, and its reward entry before reloading. Display and rank names may be plain text or translation keys. icon_item must be a registered item ID.
Create config/taskbound/data/mytasks/task_categories/watch/starter.json:
{
"id": "mytasks:watch/starter",
"giver_id": "mytasks:watch",
"minimum_reputation_level": 1,
"maximum_reputation_level": null,
"base_weight": 5.0,
"soft_boost_after": 3,
"recency_boost_per_miss": 0.2,
"guarantee_after": 8,
"template_ids": [
"mytasks:watch/zombie_patrol"
],
"required_capabilities": [],
"new_unlock_weight_multiplier": 2.0,
"new_unlock_boost_draws": 3
}References must agree both ways: the giver lists the category; its giver_id points back; the category lists each template; and each template points back with category_id. Do not repeat IDs in these lists. Every category needs at least one template.
| Setting | Meaning |
|---|---|
minimum_reputation_level |
Required guild level; templates may require higher levels |
maximum_reputation_level |
Last eligible level, or null to retain the category |
base_weight |
Positive relative selection weight |
soft_boost_after |
Eligible missed selections before a recency boost starts |
recency_boost_per_miss |
Additional weight factor per further miss; 0 disables it |
guarantee_after |
Positive eligible-miss count at which the category is due for selection |
new_unlock_weight_multiplier |
Positive multiplier during the initial unlock boost |
new_unlock_boost_draws |
How many boosted draws; 0 disables the boost |
Reputation thresholds are total accumulated points. Start level 1 at zero and use strictly increasing values. Changing thresholds recalculates levels from existing points; it does not reset the points. rank_names controls milestone titles.
reward_pool_ids selects pools, not individual reward IDs. An empty array allows all pools. reward_multiplier scales the item-selection budget and must be zero or positive. Zero removes that budget but does not remove the task's separate base reputation reward.
Intermediate levels add offers automatically as shown in Guilds and reputation. These offer increases are independent of level gifts and active-task capacity.
To hide a guild temporarily, set enabled to false and reload. Keep its category/template references valid: disabled files are still checked.
To remove it entirely, remove its giver JSON and reload. Its categories, templates, and level gifts are omitted from the active definitions while it is absent; their files can remain for later restoration. Shared reward files are not automatically removed.
Accepted tasks and saved payouts remain. At a board, select Active, then click the selected guild again to show All active tasks and reach work from a removed giver. If no guilds remain, this view opens automatically. Reputation remains saved if the giver is restored.
Check datapacks as well. Deleting a config file does not remove a giver supplied by a datapack; deleting an override can reveal the underlying config giver. To hide an underlying giver through a datapack, override its definition with enabled: false and valid references.
To remove only a category, unlink it from the giver, remove its category file and templates, and save the full change before reloading.
Taskbound 1.0.0 by voidanomaly. Wiki home · GitHub repository.