Skip to main content

NPCs

NPCs are mobs with type: npc, so they are spawned, looked up and contributed through mobs() like any other mob. LodeEntitiesAPI.npcs() is the same registry narrowed to them:
To replace what a right-click does, cancel NpcInteractEvent: that skips the NPC’s dialog, while its own +onInteract lines still run.

Dialogs

Branching conversations from Dialogs/ can be driven from code: start one from an item use, a region enter, a quest step.
ids() and get(id) are there too. The NPC argument is optional, so a dialog doesn’t have to belong to an NPC at all.

Dialogs speak the same effect language

Custom conditions you register are immediately usable in dialog conditions: blocks, and custom mechanics in dialog node effects:. Nothing extra to wire up. See NPC Dialogs and Dialog Conditions for the config side.