ConquestQuests

A quest system that runs entirely on the server, paired with a quest editor on the staff site so writers never have to touch JSON.

360 tests behind the editor

Role
Design and development
Status
In testing
Built with
  • Java
  • Fabric
  • Cobblemon
  • Mixin
  • py4web

What it does

  • Quest dialogue uses Cobblemon's own dialogue screen, so it looks native in the vanilla client.
  • Quest NPCs and objects are real entities that only the right players can see.
  • Cutscenes take over the player's camera and hand control back afterwards.
  • Daily quests rotate from a pack, and twenty other Conquest mods report custom events to it, from catch combos to fishing contests.

The editor

  • The staff portal has a full editor for quests, dialogue and NPC bindings. It validates every quest before publishing and is covered by 360 tests.
  • Published quests travel to the server as one bundle with a SHA-256 hash, and the mod refuses a bundle that doesn't match.

Worth knowing

  • Per-player visibility hooks Entity#broadcastToPlayer and resyncs the player's tracked entities whenever visibility changes.
  • The cutscene camera is a packet-only display entity. Each viewer's state goes into a lock file first, so a crash halfway through a scene puts them back where they were on their next join.