Skip to content

Objective Reference

VoidAnomaly edited this page Nov 8, 2026 · 2 revisions

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.

Basic objectives

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.

Shared context

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.

Damage requirements (1.1.0)

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.

Player credit and modded weapons

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.

Production and hand-ins

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.

Gathering and crafting

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.

Farmer actions (1.1.0)

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.

Starcatcher catches (1.1.0)

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

Porter routes (1.1.0)

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.

Combat and encounters

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.

Clone this wiki locally