Plugin Ecosystem
The plugins around the flagship — the shared library, the official expansions, the plugins Medieval Factions talks to at runtime, and the standalone plugins that stand apart from it entirely.
The organization holds roughly forty repositories. They are not forty unrelated plugins — they cluster.
The library
Ponder is the shared Kotlin/Java library: a multi-module Gradle project providing command dispatch, caching, and Bukkit helpers used across plugins.
The expansions
Expansion Plugin describes the pattern: a plugin that hard-depends on Medieval Factions and extends the simulation rather than standing alone.
- Fiefs — sub-factions inside a faction.
- Currencies — faction-minted local money.
The runtime neighbours
Plugins the flagship detects and uses if they happen to be installed:
- Mailboxes — persistent player mail, used as a Notification backend.
- Map Integration — Dynmap and BlueMap surfaces for Claimed Chunk data.
Distribution and hosting
- Dan's Plugin Manager — installs DPC plugins from in-game or the console.
- DPC Minecraft Server — infrastructure-as-code server that runs a curated set of the plugins together, and therefore doubles as the integration test bed.
The standalone plugins
Not everything here orbits the flagship. These are the most-downloaded plugins that depend on nothing in the organization but Ponder, and each earns a note by holding an idea the collection did not otherwise have:
- Medieval Roleplay Engine — chat whose audience is a radius measured in blocks rather than a membership list, which is the exact counterpoint to Faction Chat Channel resolving one from the diplomacy graph.
- Wild Pets — taming generalised into a per-entity-type table of required item, quantity and success chance, so any mob becomes a pet.
- SimpleSkills — progression in which a level buys a rising probability of a perk rather than unlocking one.
- Food Spoilage — the clearest case in the organization of a plugin with no persistence layer at all, because the item stack itself is the database. Worth reading directly against Repository Pattern and jOOQ Persistence.
- Alternate Account Finder — deterministic encryption chosen so that an equality join still works over ciphertext, and the privacy cost that buys.
The rest
The remaining repositories are small standalone plugins that do one obvious thing each. They matter to this collection mainly as subjects of DPC Conventions — the standards effort exists precisely to bring them up to the flagship's level.