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
Profession gates, upgrade trees, timed boosts, and the secure session editor are later machinery. They are documented in the guides below.
Quick start
- Apply the MySQL 8 schema out of band.
- Configure the
database.ymlconnection sections. - Review
config.yml, especially the optional economy and editor settings. - Install only the optional integrations the server uses.
- Restart after configuration changes.
Getting started
Install, provision the database, and configure your first jobs.
Configuration reference
Every active key in config.yml and database.yml.
Commands & permissions
The full /jobs command tree and permission nodes.
Operator guide
Database
MySQL 8 provisioning, pooling, and schema ownership.
Economy
Optional Mint integration and the blackhole / fail policies.
Boosts
Timed, item, and upgrade boosts — conditions and evaluation.
Skill trees
JSON-driven job upgrade graphs and skill points.
Anti-exploit
Place-break, hopper, piston, and monster-damage protection.
Secure editor
REST API, React editor, and the export / apply workflow.
Placeholders
The modular PlaceholderAPI expansion set.
For developers
Architecture
Modules, composition root, and where each layer lives.
API contracts
The public dev.mintychochip API — services, events, registries.
Events
Lifecycle, XP, and payment events on the EventBus.
Conditions & boosts
Player predicates, databags, and the boost engine.
Persistence
Repositories, MySQL-only schema, and DDL policy.
Build & test
Gradle, quality gates, CI, and session stack commands.
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.