-
Notifications
You must be signed in to change notification settings - Fork 0
Commands
NeroQuests ships one command tree, /neroquests, for server operators. Everything under it is
server-authoritative and requires permission level 2 (game-master / op) — the same level
Neroland Core's /neroland admin branches use. A player without it never sees the tree.
There is no player-facing command: the quest book is how players read their own quests.
| Command | What it does |
|---|---|
/neroquests grant <player> <quest> |
Completes a quest for a player, firing its rewards |
/neroquests revoke <player> <quest> |
Clears a player's completion and counters for one quest |
/neroquests reset <player> |
Wipes all of a player's stored quest progress |
/neroquests reset <player> <quest> |
Same as revoke — one behaviour, two spellings |
/neroquests list |
Lists every loaded quest with its chapter and scope |
/neroquests list <player> |
Per-quest status for one player |
/neroquests reload-check |
Re-reads the datapacks and reports what was rejected |
/neroquests export <player> |
Prints one player's own progress as JSON (data-access requests) |
| Argument | Accepts | Suggestions |
|---|---|---|
<player> |
An online player's name, or a raw UUID | Names of everyone online |
<quest> |
A loaded quest id; a bare path is read as neroquests:<path>
|
Every loaded quest id |
A UUID is accepted so the privacy commands (reset, export) still reach a player who has left the
server. grant is the one exception that needs its target online, because rewards are handed to
a live player.
<quest> is always the last argument of its subcommand, so a quest id containing : and / is read
as written — no quoting needed.
/neroquests grant Steve neroquests:intro/first_steps
Completes the quest through the normal completion path, not by writing a flag:
- the progress store is marked complete (in the shared section for a
scope: serverquest); - the completion listeners fire, so rewards pay out exactly as if the player had finished it themselves — XP, items, Core gates, currency, reputation;
- the completion cascade re-runs, so any quest waiting on this one (a
quest_completeobjective, or a prerequisite) settles too; - the client is re-synced.
Objective counters are deliberately left where they are — completion is what the engine reads, and a completed quest is never re-settled.
If the quest is already complete for that player, nothing happens and you get a message saying so.
/neroquests revoke Steve neroquests:intro/first_steps
/neroquests reset Steve neroquests:intro/first_steps
Both spellings run the same code: the player's whole row for that quest — completion stamp and every objective counter — is dropped, and they are re-synced if online.
Two things worth knowing:
- Rewards are not clawed back. They live in inventories, XP levels, Core gates, currency balances and faction reputation, none of which NeroQuests owns. The success message says so.
-
A revoked quest can complete itself again. If its objectives still measure as satisfied (the
player is still holding the items a
collect_itemobjective counts), the next engine sweep will simply re-complete it — and fire its rewards a second time. Revoke is for fixing a mis-grant, not for taking a finished quest away.
For a scope: server quest the shared row is cleared and everyone is re-synced; the named player
only chooses which section of the store you mean.
/neroquests reset Steve
/neroquests reset 069a79f4-44e9-4726-a5be-fca90e38aaf5
Drops everything NeroQuests stores for that player: every quest row and their retention stamp.
Shared scope: server progress is untouched — it belongs to the world and carries no player
identifiers.
This is the same erasure /neroland data erase <uuid> performs across every Nero mod; use the Core
command when the request covers the whole ecosystem, and this one when it is only about quests.
/neroquests list
Prints a count, then one line per loaded quest with the chapter that owns it and its scope:
3 quest(s) loaded:
neroquests:intro/first_steps [neroquests:intro] player
neroquests:intro/gear_up [neroquests:intro] player
neroquests:world/beacon [no chapter] server
Quests appear in dependency order — a quest's prerequisites always precede it.
/neroquests list Steve
Same set, with that player's status against each one:
| Status | Meaning |
|---|---|
complete |
Finished (or granted) |
in progress 2/10, 0/1 |
Started; one stored/target pair per objective, in definition order |
available |
Unlocked and visible, but untouched |
locked |
Prerequisites unmet, or its visible_gate is closed |
Output goes to you alone — it is never broadcast to other operators.
For an offline player, Core's progression gates cannot be resolved, so a quest behind a
visible_gate reads as locked rather than being guessed at. Run it while they are online for the
exact verdict.
/neroquests reload-check
Re-reads every quest and chapter from the currently-enabled datapacks, then reports:
Reloaded quest definitions: 3 quest(s) in 1 chapter(s).
2 validation problem(s):
[dropped] neroquests:world/broken - unregistered objective/reward type othermod:smelt_item
[ignored] neroquests:intro - lists unknown quest neroquests:intro/missing
Finally it re-sends definitions and progress to every online player, so the quest book updates without anyone reconnecting.
Two severities:
| Severity | Meaning |
|---|---|
dropped |
The whole definition is not loaded |
ignored |
The definition loaded, but part of it (an entry, a reference) was skipped |
The loader never crashes on bad content — it drops the offending entry and carries on — so this command is how you find out that it did. Everything it prints is also in the server log; the report just saves you reading it. See Quest format for what a valid definition looks like.
reload-check covers only NeroQuests. A plain vanilla /reload is also picked up automatically (the
mod notices the resource manager changed and re-reads within a second), so use this command when you
want the report, not just the reload.
/neroquests export 069a79f4-44e9-4726-a5be-fca90e38aaf5
Prints one player's own quest progress as pretty JSON, to you alone:
{
"last_updated": 1754131200000,
"quests": {
"neroquests:intro/first_steps": {
"counters": [ 10 ],
"completed_at": 1754131200000,
"complete": true
}
}
}This is the POPIA/GDPR data-access surface described in
../PRIVACY.md and Data storage. It contains only the named
player's rows: no other player's progress, and no shared scope: server progress (which holds no
player identifiers at all).
Chat is not a file transfer — an export longer than 32 000 characters is cut off with a note. That is far beyond any realistic pack.
- Every message goes to the invoker only. Nothing is broadcast to other operators, which also keeps
results out of
latest.logunder thelogAdminCommandsgame rule. - Nothing here logs player identity, in line with the rest of the mod (Data storage).
- If a subcommand hits an unexpected error you get a short message instead of a stack trace in chat; the trace goes to the log, and the anonymous crash report (Telemetry) carries the subcommand name only — never its arguments.