Questa pagina non è ancora stata tradotta in Italiano, quindi è mostrata in inglese. Versione inglese

Objectives

An objective is one box to tick inside a quest. A quest completes when all of its objectives reach their target, at which point its rewards pay out.

Every objective is a JSON object with a type and whatever fields that type needs:

{ "type": "neroquests:collect_item", "item": "minecraft:iron_ingot", "count": 10 }

Everything on this page is evaluated on the server. The client only ever displays what the server tells it, so no amount of client-side fiddling can move a counter.

How progress moves

Objectives advance in one of two ways, and knowing which is which explains most of their behaviour:

StyleHow it movesCan it go down?Types
MeasuredRecounted from the world as it is right nowOnly collect_itemcollect_item, reach_dimension, visit_structure, gate_open, quest_complete
CountedAdds up as events happenNocraft_item, kill_entity, custom_event, economy
ConfirmedTicked by a quest author with a commandNomanual

A measured objective is recomputed rather than tallied, which makes it impossible to farm — you cannot cycle the same ten iron ingots through your inventory and be credited twenty. The trade-off is that collect_item falls back when you spend the items; the other measured types are milestones and stay ticked once reached.

A counted objective is a running total that nothing takes away. Craft the items, then use them: the progress stands.

Measuring runs on a once-a-second sweep, and again immediately after a craft or a kill. Because recounting is idempotent, that cadence only affects how quickly the quest book catches up — never what the answer is.

Objective types

neroquests:collect_item

Have this many matching items on you at once.

{ "type": "neroquests:collect_item", "item": "minecraft:iron_ingot", "count": 10 }
{ "type": "neroquests:collect_item", "tag": "c:ingots/iron", "count": 10 }
FieldTypeRequiredDefaultMeaning
itemitem idone of—A single item. Mutually exclusive with tag.
tagitem tag idone of—Any item in the tag (no # prefix). Mutually exclusive with item.
countinteger ≥ 1no1How many are needed.
consumebooleannofalseHand the items in: the quest takes them when it completes.

Exactly one of item / tag must be given; declaring both, or neither, drops the quest with a warning.

"consume": true turns the objective into a hand-in. Without it the objective only checks what you carry, so one stack passed from account to account completes the quest on every one of them. With it, the quest takes count matching items from the completing player at the moment it completes; every hand-in of a quest is checked first and taken together, so a quest with two hand-ins never takes one and then fails on the other. The quest book shows these as "Hand in". Prefer it on any collect-only quest that pays out, or pair the reward with once_per_world.

Counted slots are the whole player inventory: hotbar, main inventory, off-hand and worn equipment. Chests, shulker boxes and backpacks are not counted — you have to be carrying it. Give the items away and the counter drops again.

neroquests:craft_item

Make this many matching items. Same fields as collect_item.

{ "type": "neroquests:craft_item", "tag": "c:ingots/iron", "count": 32 }

"Craft" means taking the output of a result slot, which covers the crafting grid, a furnace/smoker/blast-furnace output, the stonecutter, the smithing table and a villager trade. That is deliberate: a quest asking for 20 iron ingots crafted should be satisfied by smelting them.

The tally never falls; spending what you made does not undo the progress.

neroquests:kill_entity

Kill this many matching creatures.

{ "type": "neroquests:kill_entity", "entity": "minecraft:zombie", "count": 10 }
{ "type": "neroquests:kill_entity", "tag": "minecraft:skeletons", "count": 10 }
FieldTypeRequiredDefaultMeaning
entityentity type idone of—A single entity type. Mutually exclusive with tag.
tagentity type tag idone of—Any entity type in the tag. Mutually exclusive with entity.
countinteger ≥ 1no1How many kills are needed.

The kill goes to whoever the game credits with it: the attacker if that is a player, otherwise the player behind an arrow, a pet or another indirect kill. A creature that dies of fall damage, lava or old age credits nobody.

neroquests:reach_dimension

Set foot in a dimension.

{ "type": "neroquests:reach_dimension", "dimension": "nerospace:greenxertz" }
FieldTypeRequiredMeaning
dimensiondimension idyesThe dimension to visit.

Sticky: it ticks the first time you are seen there and stays ticked after you leave. This is how a quest reacts to another mod's worlds — a Nerospace planet, a modded Nether analogue — without NeroQuests depending on that mod at all.

neroquests:gate_open

A Neroland Core progression gate must be open for you.

{ "type": "neroquests:gate_open", "gate": "nerolandcore:reached_orbit" }
FieldTypeRequiredMeaning
gategate idyesThe Core progression gate that must be open.

Sticky, and picked up the moment Core reports the change rather than on the next sweep.

This is the ecosystem's universal join. Every Nero mod drives Core's gates as a player passes its own milestones, so a quest can require "has reached orbit" or "has founded a colony" while NeroQuests depends on nothing but Core.

Not to be confused with a quest's visible_gate, which hides the entire quest until the gate opens; this is one tick-box inside an already-visible quest.

A gate id that no mod defines simply never opens — Core treats an unknown gate as a closed player-scope gate, so there is no missing-content degradation here (see below). Check your gate ids.

neroquests:quest_complete

Another quest must be complete, checked in the scope of the quest it names — exactly like a prerequisite: a scope: player quest must be complete for the player, a scope: server quest for the world, whatever the scope of the quest that asks.

{ "type": "neroquests:quest_complete", "quest": "mypack:chapter1/wake_up" }
FieldTypeRequiredMeaning
questquest idyesThe quest that must be complete.

Not the same as a prerequisite: a prerequisite decides whether a quest is available, while this is one of the boxes to tick inside an already-available quest.

Completing a quest re-checks every other quest that names it, so finishing one can finish the next in the same instant. Quest completion never reverses, so these chains always settle.

neroquests:custom_event

Another mod reported that one of its tracked quantities crossed a threshold.

{ "type": "neroquests:custom_event", "channel": "nerocolonies:oxygen", "direction": "rising" }
{ "type": "neroquests:custom_event", "channel": "nerocolonies:structures", "min_value": 3,
  "audience": "everyone" }
FieldTypeRequiredDefaultMeaning
channelidyes—The quantity to watch, as <modid>:<channel>.
event_scopestringnoanyExact match on the crossing's scope key — where it crossed.
directionrising | falling | anynoanyWhich way the value went.
min_valueintegernononeThe crossing's value must be at least this.
max_valueintegernononeThe crossing's value must be at most this.
countinteger ≥ 1no1How many matching crossings are needed.
audienceworld | everyonenoworldWho the crossing is credited to.

Where gate_open waits on your progress, this waits on the world's. The publishing mod fires the crossing on Neroland Core's shared event bus and NeroQuests listens, so neither mod imports the other and a quest can be written against a mod that is not even installed.

Counted, and the tally never falls. A crossing is an event, not a state you can re-measure, so one that happened while you were logged out is simply missed — the same way a kill nobody made credits nobody.

rising does not mean "good". Core defines it as "the value crossed upward", which is a recovery on nerocolonies:oxygen and a worsening on nerotech:pollution.

audience is the field to get right. A crossing names a place or a system and never a person — that is a privacy rule the publishers are held to — so nothing in the event says who should be credited:

audienceWho is creditedNotes
world (default)The quest's shared counter, once per crossingNeeds "scope": "server".
everyoneEvery online player working on the questThe explicit opt-in for letting world news tick a personal quest.

The conservative default is deliberate: without it, one colony's good news would silently complete a personal quest for everybody logged in, including people nowhere near it. A custom_event left on world inside a "scope": "player" quest could never advance, so the loader drops that quest and says why in /neroquests reload-check.

Quest format carries the <modid>:<channel> convention and the table of channels that exist today across Nerotech, NeroColonies and NeroCreatures.

neroquests:economy

Trade on the server's economy: sell or buy goods, or earn credits from other activities.

{ "type": "neroquests:economy", "event": "sold", "tag": "c:ingots/iron", "count": 64 }
{ "type": "neroquests:economy", "event": "bought", "count": 32 }
{ "type": "neroquests:economy", "event": "earned", "count": 500 }
FieldTypeRequiredDefaultMeaning
eventsold | bought | earnedyes—What counts.
itemitem idnoanyOnly this item counts (sold / bought). Mutually exclusive with tag.
tagitem tag idnoanyOnly items in this tag count (no # prefix).
countinteger ≥ 1no1Units sold or bought, or credits earned.

Fed by an economy mod's trade events (NeroEconomy 0.3.0 or later). sold and bought count units of every settled trade on your side of it, whichever venue settled it. earned counts credits other mods paid you through the economy's budgeted payouts — never NeroQuests' own quest or contract rewards, or a reward could complete an "earn" quest by itself.

Counted, and the tally never falls. Only an online player is credited: a trade settled while you are logged out (a resting order filling) is not stored for later.

Without an economy mod the objective loads fine and never advances. It is deliberately not treated as missing content, so missingModObjectivePolicy can never skip or auto-complete it. Hide such quests behind an economy milestone gate with visible_gate (the economy mod's player gates, such as neroeconomy:first_sale) and they stay invisible on servers without one — the built-in market quests do exactly that.

neroquests:visit_structure

Stand inside a generated structure — a village, a ruin, a mod's outpost.

{ "type": "neroquests:visit_structure", "structure": "minecraft:village_plains" }
{ "type": "neroquests:visit_structure", "tag": "minecraft:village" }
FieldTypeRequiredMeaning
structurestructure idone ofA single structure. Mutually exclusive with tag.
tagstructure tag idone ofAny structure in the tag (no # prefix). Mutually exclusive with structure.

Measured on the once-a-second sweep, for players who have the quest in progress: your position is checked against the structure pieces of the chunk you stand in — data that chunk already holds, so it costs no searching. Standing anywhere inside a piece counts. A milestone: once visited it stays done. No position is stored or sent anywhere. An unknown structure from a mod that is not installed is missing content; an unknown one from a loaded mod is a typo.

neroquests:manual

The escape hatch for things the game cannot detect — "build a statue in the town square".

{ "type": "neroquests:manual", "label": "quest.mypack.town.statue.manual" }
FieldTypeRequiredMeaning
labeltranslation keyyesThe objective's text in the book.

It never advances by itself. A quest author ticks it for an online player with /neroquests manual complete <quest> <player> (see Commands); the quest must be available to that player. If the quest has other objectives it completes once they are done too. Who may run the command — a player who may author quests (Editor permissions), at most 10 times a minute, or the console — is decided on the server every time. In a custom quest the label is the author's own plain text instead of a translation key. Each use is counted in the log; the log never names who.

Server-scoped quests

A quest with "scope": "server" keeps one shared set of counters for the whole world. Any player's action advances them, and the quest completes once, for everyone.

Counted objectives simply add up across everybody. Measured objectives behave slightly differently there: one player's snapshot may only ever raise shared progress, never lower it — otherwise the first player to spend their iron would undo what the server had collectively gathered.

Missing content (other mods not installed)

A quest that names an item, entity or dimension this installation does not have would otherwise be uncompletable forever. Instead it degrades, controlled by the server-authoritative missingModObjectivePolicy config key:

ValueBehaviour
skip (default)The objective is ignored — it neither blocks the quest nor shows progress.
autocompleteThe objective counts as done and its counter is filled in, so the book shows it ticked.

Either way the quest stays completable as long as at least one of its objectives is present, and the offending objective is logged once per server run naming only resource ids — never player data. A completion that relied on autocomplete pays no rewards unless the server-authoritative degradedCompletionsPay key is set to true (default false).

An objective counts as "missing content" when its item or entity id is unregistered, its tag resolves to nothing, its dimension is not loaded, its custom_event channel cannot fire here (see below), its gate_open gate is defined by nothing installed (and is not open anyway), or the quest it points at no longer exists. A quest whose objectives all degrade is not completable — it would otherwise complete, and pay, the moment it became available.

Typos are not missing content. An id that does not resolve although the mod owning its namespace is loaded (or the namespace is minecraft, neroquests or nerolandcore) is treated as a mistake: the whole quest is dropped and /neroquests reload-check names the objective. Tags count as typos only in those three namespaces, because another mod's tag may legitimately be filled by a third mod that is not installed.

A custom_event channel is present when the quest belongs to a pack whose mod is loaded (or to a plain datapack namespace); for NeroQuests' own quests, when the channel's mod is loaded, the channel has been seen this session, or its namespace is not a mod id at all.

Quest packs never auto-complete. A pack only loads when its mod is installed, so the autocomplete policy applies to NeroQuests' own quests only; a missing piece of a pack quest is always skipped. A pack chapter shown with show_when_absent (its mod missing) is never completable at all.

A custom_event channel whose mod is installed but whose publisher is switched off (NeroColonies' thresholdEventsEnabled, Nerotech's pollutionEventThreshold) is not missing content. The mod is there, so the objective waits rather than degrading — which is the right answer, because an operator can turn the publisher back on.

See also

  • Quest format — the quest and chapter files these objectives live in
  • Data storage — where the counters are kept, and how they are erased
  • Home

Cerca in tutte le wiki delle mod Nero. I contenuti della wiki sono per ora in inglese.