Repository navigation
Objective Reference
This page is for configuring task JSON. For player-facing behavior, see Task types and rules.
Every objective has a type, parameters, difficulty_components, and required_capabilities. Use a positive integer parameters.required_count, not a field named count. Use the matching capability on the objective and template: usually minecraft:<type>, or starcatcher:catch for starcatcher_catch. Unknown parameter names are rejected when definitions load.
For complicated tasks, copy a shipped template and change it gradually. Keep its description, counts, order, and requirements consistent. The 1.1.0 additions are farm_action, starcatcher_catch and porter_route; their schemas are listed separately below.
| Type | Target fields | Behavior |
|---|---|---|
kill_entity |
entity, entity_tag, or hostile_only: true; optional method: "melee", required_damage_type, required_damage_type_tag
|
Player-attributed kills |
catch_item |
fish_item or fish_item_tag
|
Actual fishing catches |
craft_item |
item |
Personally crafted output units |
gather_block |
block |
Direct block breaking |
harvest_crop |
block |
Mature wheat or cocoa harvests |
enchant_item |
item; optional method, required_enchantment, minimum_enchantment_level
|
Table/anvil enchantments; method is table or anvil
|
challenge_action |
action; optional minimum_distance
|
shield_block, shield_block_skeleton_arrows, shield_block_piglin, or bow_hit_on_hostile
|
Resource and tag IDs use namespace:path. Tag values have no leading #. The corresponding items, entities, blocks, and tags must exist on the server.
Put these inside the individual objective's parameters, not variant conditions:
| Fields | Requirement |
|---|---|
required_dimension |
Dimension ID |
required_biome, required_biome_tag
|
Biome ID or tag |
required_structure, required_structure_tag
|
Structure ID or tag |
required_time |
day or night
|
required_weather |
rain, snow, clear, or thunder
|
min_y, max_y
|
Height limits |
required_effect, minimum_effect_amplifier
|
Effect and minimum zero-based amplifier; amplifier 1 means level II |
required_effect_extra, minimum_effect_extra_amplifier
|
A second effect requirement |
max_health |
Maximum current health |
required_weapon, required_weapon_tag
|
Weapon ID or tag |
required_tool, required_tool_tag
|
Tool ID or tag |
tool_enchantment, minimum_tool_enchantment_level
|
Tool enchantment and minimum level |
Day uses ticks 0-11999 and night 13000-22999. Context is checked at the relevant action location. Fishing uses the hook, brewing uses the stand when the cycle finishes, and placement uses the placed block. Rain/snow depend on local precipitation; fishing rain must reach the hook. structure_exit is the exception: it accepts only required_structure and required_count: 1.
Both kill_entity and tracked_kill accept these optional parameters:
| Parameter | Meaning | Example |
|---|---|---|
required_damage_type |
Exact registered damage type of the killing hit | minecraft:player_explosion |
required_damage_type_tag |
Damage type must belong to this tag | minecraft:is_explosion |
Omit both to allow any otherwise qualifying killing damage. If both are present, both must match. Modded damage IDs and datapack damage tags work too. Use namespace:path, without a leading #. Missing IDs/tags never match; misspelled parameter names and malformed values are rejected on reload. These fields apply only to the two kill objective types.
For example, place this objective inside a task variant's objectives array to require three player-attributed zombie deaths from explosion damage:
{
"type": "kill_entity",
"parameters": {
"entity": "minecraft:zombie",
"required_count": 3,
"required_damage_type_tag": "minecraft:is_explosion"
},
"difficulty_components": [],
"required_capabilities": ["minecraft:kill_entity"]
}Keep minecraft:kill_entity in the template's capabilities too. A custom task still needs the normal template/category/giver setup described in Tasks. Change its description to explain the explosion requirement, then /reload. Only new offers use edited definitions; already accepted tasks retain their saved conditions.
The fatal hit must satisfy the condition. Damaging a mob with an explosion and then finishing it with a sword does not satisfy an explosion-only objective. method: "melee" still requires a direct vanilla player attack; do not combine it with an explosion requirement. Existing tracked_kill projectile-method rules still require an arrow; omit that method when configuring arbitrary modded projectiles and select their damage type/tag instead.
Taskbound credits the player identified by the killing damage. If the source omits its attacker but retains an owned projectile or primed TNT, its player owner can receive credit. Another explicit attacker is not replaced by that owner. There is no nearest-player or last-attacker fallback, and deaths before acceptance do not count.
required_weapon and required_weapon_tag accept registered modded item IDs and item tags. A custom projectile, beam or damage source can report its actual weapon through Minecraft's getWeaponItem() hook; it no longer has to be a vanilla arrow or use vanilla player-attack damage. Delayed weapons should report the weapon captured at launch. If the source reports no weapon, Taskbound does not borrow whatever its owner holds at impact. Thorns and direct player-attributed environmental damage cannot become held-weapon kills.
An explosion can satisfy a damage requirement while failing a weapon requirement. Ordinary TNT does not report a gun or sword as its weapon. Damage with no player or retained player owner cannot advance a personal task.
The inspected Minecraft 1.21.1 source for Orbital Railgun: Renewed creates orbital_railgun:strike damage without retaining the shooter. Project: Explosive 0.7.2-beta has both attributed explosion paths and ownerless/generic damage paths. Selecting a damage ID cannot recreate missing ownership or turn generic damage into explosion-tagged damage. Full compatibility with these two mods is not claimed; those paths need attribution support from the mod or a specific integration.
| Type | Required selection | Additional options |
|---|---|---|
brew_potion |
item and potion
|
provenance_stage marks outputs for this task's later hand-in |
tracked_fish |
fish_item, fish_item_tag, or treasure: true
|
same_rod, rod_enchantment_extra, minimum_rod_enchantment_extra_level; usual tool enchantment fields |
tracked_enchant |
item, nonempty required_enchantments, required_count: 1
|
provenance_stage |
hand_in_item |
Exactly one of item or item_tag, plus required_count
|
potion, required_enchantments, provenance_stage
|
For brewing, item is minecraft:potion, minecraft:splash_potion, or minecraft:lingering_potion; potion is its potion registry ID. The player must supply the final ingredient and remain online through completion. Taking a stored bottle or using only hopper insertion does not qualify.
Tracked fishing captures rod enchantments at casting. treasure: true checks the fishing treasure loot source. same_rod binds the physical rod at the first qualifying catch; identical replacements do not count. Do not use item to choose tracked catches; use fish_item.
required_enchantments maps enchantment IDs to minimum positive levels, for example {"minecraft:sharpness": 4, "minecraft:unbreaking": 3}. Tracked enchanting requires gains during this accepted task on the same physical item, not pre-existing enchantments combined across several items.
A matching provenance_stage on a production objective and hand-in requires that task's produced item. Plain hand-ins can use stockpiled supplies. Put all hand-ins after other work and keep them within the 36-stack submission limit.
| Type | Required fields | Options or constraints |
|---|---|---|
harvest_berries |
block: "minecraft:cave_vines", required_count
|
Pick ripe glow berries; do not break the vine |
tracked_gather |
block, required_count
|
natural, same_structure, guard_warden
|
tracked_craft |
item, required_count
|
same_structure, guard_warden
|
place_crafted |
item, required_count, provenance_stage
|
same_structure, guard_warden
|
activate_crafter |
item: "minecraft:crafter", required_count, provenance_stage
|
That crafted and placed crafter must produce a valid recipe result |
structure_exit |
required_structure, required_count: 1
|
Leave the particular structure recorded by the task; no other context fields |
For crafted placement/activation, provenance_stage refers to the producing objective's generated key, such as objective_0. Objective numbers follow their list order. Complete the crafting phase before placing its outputs; old stock cannot substitute.
natural: true is supported only for calcite, ancient debris, deepslate diamond ore, and sculk catalysts. Observed placements and piston moves are tracked so ordinary re-placement does not count as a natural source. Blocks already present before tracking started cannot have their complete history reconstructed.
same_structure: true requires required_structure and binds one particular structure. guard_warden: true requires both fields and disallows awakening a Warden for that guarded city task. It is the responsible player's spawn that matters, not another player's nearby Warden. A delayed shrieker response must resolve before a guarded departure or claim can finish.
Use phases for craft-then-place tasks. Losing or placing required outputs too early may require abandoning and starting a new attempt.
Use type farm_action and capability minecraft:farm_action. Every action needs a positive integer required_count (maximum 4,096). Supported shared action-context fields still apply; not every action needs an item selector.
action |
Selection and counting |
|---|---|
harvest |
item is the crop product; counts mature harvested plants, not drop quantity |
milk |
Successful cow milking; optional distinct: true counts different adult cows |
shear |
Successful sheep shearing; optional distinct: true and minimum_colors (1–16, no larger than count) |
breed |
Required entity ID; counts a successful player-attributed birth |
honey / honeycomb
|
Successful extraction from a full, smoke-safe hive |
craft |
Required item; counts personally crafted output units |
cut |
Required output item; Farmer's Delight cutting-board recipe output |
cook |
Required output item and station: "furnace" or "cooking_pot"; personally attributed fresh production taken from the appliance |
For crop variety, omit item and specify both minimum_crop_types (1–8) and per_crop_count (1–512). required_count must equal their product. Each qualifying crop type must meet its own amount. entity is exclusive to breeding; station is exclusive to cooking; distinct is exclusive to milk/shear.
{
"type": "farm_action",
"parameters": {"action": "milk", "required_count": 2, "distinct": true},
"difficulty_components": [],
"required_capabilities": ["minecraft:farm_action"]
}Fresh production is tracked after acceptance. Taking old stored food or relying only on hopper activity does not count. Keep the description clear about whether the task asks for actions, a hand-in, or both.
Use type starcatcher_catch and capability starcatcher:catch. Starcatcher must be installed; adding the capability string does not simulate its minigame. Only a successfully awarded catch advances a task.
| Parameter | Meaning |
|---|---|
required_count |
Positive integer, 1–256 |
count_mode |
catches (default), distinct species, or distinct habitats
|
species |
Nonempty list of allowed Starcatcher species resource IDs |
habitats |
Nonempty list from lake, river, ocean, cave, lava, nether, end, sky
|
rarity |
Exact common, uncommon, rare, epic or legendary
|
minimum_rarity |
Minimum of the same ordered rarity values |
minimum_weight_percentile |
Species-relative size threshold, 0–100; 75 means at least the 75th percentile |
perfect |
Boolean; true requires a perfect minigame result |
required_time |
day or night
|
required_weather |
clear, rain or thunder
|
All specified filters must match the same catch. Distinct sets and progress persist across saves. Species weights are normalized against their own ranges; this is not a universal kilogram threshold. The default Starcatcher catalog has no timers.
{
"type": "starcatcher_catch",
"parameters": {"required_count": 3, "count_mode": "species"},
"difficulty_components": [],
"required_capabilities": ["starcatcher:catch"]
}Use type porter_route and capability minecraft:porter_route. The server generates an immutable manifest from automatically registered boards within the route's distance limits; a prior player visit is not required. Same-dimension search uses horizontal distances and never generates chunks to discover destinations. Cross-dimension routes retain the ordinary-portal visit requirement for each destination dimension. Do not write generated route, route_key, initial_cargo or porter_route_distance fields into template objectives.
route_kind |
Cargo flow |
|---|---|
delivery / deliveries
|
Issue parcels, deliver at assigned stops |
collect_return / collections
|
Pick up at assigned stops, return all parcels to issuer |
receipt_return / delivery_circuit
|
Deliver parcels, collect receipts, return receipts to issuer |
exchange / delivery_returns
|
Deliver parcels, collect return parcels, bring them to issuer |
nether |
Overworld dispatch delivered to an assigned Nether board |
three_realms |
Overworld dispatch validated at a Nether board, then delivered to an End board |
stops is the number of distinct destinations, 1–4, excluding an automatic return to the issuer. Use a positive placeholder required_count; generation replaces it with the exact number of manifest stops. Same-dimension selection uses minimum_leg_distance / maximum_leg_distance and optional minimum_route_distance / maximum_route_distance. Distances are horizontal blocks; the minimum leg cannot be below 256. Return legs count toward both bounds and pay.
Optional rules are different_biomes (distinct destination biome groups), arrival_time: "day" or "night" (final stop), on_foot, no_death, maximum_damage (cumulative health points), teleportation_allowed, and dimensional_travel_allowed. These flags are booleans. Nether/three-realm kinds must explicitly allow dimensional travel. Their destinations also require a recorded ordinary-portal visit to the dimension and an actual board interaction.
{
"type": "porter_route",
"parameters": {
"route_kind": "delivery",
"required_count": 1,
"stops": 1,
"minimum_leg_distance": 256,
"maximum_leg_distance": 768,
"teleportation_allowed": false,
"dimensional_travel_allowed": false
},
"difficulty_components": [],
"required_capabilities": ["minecraft:porter_route"]
}Configure explicit pay with variant conditions.currency_reward and optionally currency_per_1024_blocks; see reward rules. Travel restrictions and generated destinations are saved when the offer is generated. See Porter play rules for recovery and teleport limits.
| Type | Required selection | Additional fields |
|---|---|---|
travel_distance |
mode: swim, sprint, or boat
|
Count is distance in blocks |
survive_fall |
Positive minimum_fall_distance
|
Actual damaging fall followed by survival |
combat_action |
action |
Optional entity, hostile_only
|
trial_encounter |
required_count |
ominous, distinct_spawners, armor_set, weapons, no_healing, no_potions, no_totem, no_death, guard_from_acceptance
|
dragon_encounter |
action: bow_crystal or sword_finish
|
Bound to the same dragon attempt |
tracked_kill |
entity, required_count
|
required_damage_type, required_damage_type_tag; method: melee or projectile (arrow); same_weapon, no_death_after_start, bind_structure, prevent_departure
|
Combat actions are critical_hit, ghast_fireball_deflection, returned_ghast_fireball_kill, and raid_pillager_kill. Criticals require actual damaging melee hits; a returned ghast fireball must kill its original ghast. Boat movement requires controlling the boat with an active paddle.
For trials, omitted ominous allows either kind; distinct_spawners requires different spawner positions. Supported equipment values are armor_set: "full_iron" and weapons: "iron_sword_and_shield". Full iron means all four armor pieces; the shield stays in the off hand and player-caused damage must use iron-sword melee. Restrictions begin with the qualifying attempt and can remain active between encounters. guard_from_acceptance starts the no-death rule on acceptance.
no_healing prevents the player's healing consumables, including golden apples, healing/regeneration potions, and suspicious stew. Ordinary food regeneration remains allowed. no_potions also prevents other drinkable, splash, and lingering potions. Totems have their own rule.
Dragon bow objectives count unique original fight crystals, not later player-added replacements. The sword finish requires the same dragon's lethal sword attack. Structure-bound tracked kills need required_structure; prevent_departure fails an unfinished sequence if the player leaves that recorded structure. A same-weapon task requires the actual bound weapon, not an identical replacement.
Taskbound 1.1.0 by voidanomaly. Wiki home · GitHub repository.