ModularJobs

ModularJobs

Paper job progression, payables, boosts, and operator configuration.

What is ModularJobs?

Extensible job progression for PaperMC servers — players join jobs, perform actions, earn experience and payables, unlock skill trees, and optionally face profession-gated world interactions. Configure everything from a secure web editor or plain YAML/JSON files.

The idea

Jobs are named tracks of work. Players join them, do the actions those jobs care about, and the server records experience and payables. Nothing here is a Minecraft vanilla mechanic — it is plugin configuration on top of Paper.

basics

Day one is provisioning MySQL 8 out of band, pointing database.yml at that database, and restarting with the starter job files still in place. You do not need skill trees, boosts, or the web editor yet.

Everyday

Operators come back to joining jobs, checking stats, and tweaking task amounts in YAML or the editor. Most servers stop at that loop.

Advanced

Advanced — you do not need this to get started.

Profession gates, upgrade trees, timed boosts, and the secure session editor are later machinery. They are documented in the guides below.

Quick start

  1. Apply the MySQL 8 schema out of band.
  2. Configure the database.yml connection sections.
  3. Review config.yml, especially the optional economy and editor settings.
  4. Install only the optional integrations the server uses.
  5. Restart after configuration changes.

Operator guide

For developers

Distribution boundary

Native Paper UI

The Paper plugin uses native Paper inventory screens for browse, info, statistics, upgrades, and tree editing. Leaderboard sidebars and experience boss bars also use native Paper surfaces, so the plugin has no external UI dependency. Mint and the external Preferences plugin are not required to compile or start the base plugin. The editor is disabled until an operator supplies an external REST API and web URL.

Bundled job, boost, and upgrade YAML/JSON files are generic starter content. Task definitions are not bundled: an empty MySQL task table stays empty until an operator creates definitions through the editor/repository path.

On this page