Pixel Dream StudiosWiki

Where errands are offered

One file of five choices, written into a slot. How they land in a village mod's greetings when one is installed, and in this mod's own plain greeting when it is not.

An errand is offered inside somebody's greeting, and this mod does not own anybody's greeting. So the choices are written as a contribution rather than into a conversation, and the file names every slot they belong in.

data/rpg_errands/dialogue_choices/errands.json

{
  "into": [ "rpg_errands:business", "rpg_villagers:business" ],
  "priority": 0,
  "choices": [ ... ]
}

The five choices

Each one is gated so that only the right one can appear.

LabelShown whenDoes
"Is there anything you need?"offeredspeak_of_errand, which opens the asking.
"What was it you asked of me?"runningspeak_of_errand, which opens the reminding.
"I have what you asked for."ready and bringhand_in_errand
"It is done."ready and hunthand_in_errand
"I was sent to find you."ready and deliverhand_in_errand

Three ways of saying the same thing because the sentence is not interchangeable between the tasks, and one condition on a choice is cheaper than three errand systems.

A second file, errands_welcome.json, puts the asking alone into rpg_villagers:welcome/business, which is the one-off conversation that mod gives a stranger.

With a village mod, and without

With RPG Villagers installed, the choices land in its greetings, where the player's business with a villager belongs: after "let me see your wares" and before the small talk.

Without it, this mod's own plain greeting opens instead. It is bound to every villager at priority -900:

{
  "entity": "minecraft:villager",
  "dialogue": "rpg_errands:villager/greeting",
  "priority": -900
}

The greeting itself is three lines of nothing much, a way into trading, the errand slot, and a way out. Trading is still one click away in it, because a mod about errands must not take the shop window away.

Anything you write outranks it

-900 is a floor, not an opinion. A speaker binding of your own at any priority above that wins, and RPG Villagers' own route at 0 wins automatically. That is what makes it safe for this mod to do something the moment it is installed.

One warning per boot is expected

Choices are written for slot rpg_villagers:business, which no dialogue leaves open

That is the RPG Villagers half of into with that mod absent. A slot nothing declares is simply inert, so an optional integration costs one line in the log and nothing else. It is not a fault.

Putting errands in your own conversations

Leave the slot open wherever they belong, and the same file fills it:

"choices": [
  { "label": { "translate": "mypack.choice.trade" }, "actions": [ { "type": "open_trades" } ] },
  { "slot": "rpg_errands:business" },
  { "label": { "translate": "rpg_dialogue.choice.leave" } }
]

A slot is an invitation. Where a greeting of yours leaves none, its villagers are never marked and never asked, which is the correct way to take a whole profession out of the system without registering anything.

Moving them somewhere else entirely

Two ways, depending on how much you want to change.

Write your own contribution. Any file in your own dialogue_choices/ may fill rpg_errands:business, or any slot of yours, with choices whose labels and gating you decide. Contributions add rather than replace, so yours appear alongside the shipped five unless you also take those out.

Claim the shipped file's id. A file at data/rpg_errands/dialogue_choices/errands.json in a pack loaded after this mod replaces it outright. That is how to change which slots the choices go into, reword them, or empty them.

Want toWrite
Add errands to your own greeting{ "slot": "rpg_errands:business" } in it
Change the wording of the five choicesyour own dialogue_choices file, or claim rpg_errands:errands
Send them somewhere other than businessclaim rpg_errands:errands and change into
Replace the plain fallback greetinga dialogue_speakers binding above -900
Stop a profession being asked at alla greeting of your own, with no errand slot in it

On this page