Skip to content
frosxt edited this page Apr 14, 2026 · 1 revision

PrisonCore

PrisonCore is a modular platform for Minecraft prison servers. The core is intentionally small: a kernel, a service container, a module system, and a handful of subsystems for the things every feature module ends up wanting (commands, menus, messages, placeholders, scheduling, storage). Features live in separate modules that the kernel loads at boot.

If you're here to build a module on top of PrisonCore, this wiki is the reference. It covers the public API surface that module authors are expected to touch, and nothing inside the kernel that isn't part of that surface.

Who this wiki is for

Module authors. If you're writing a module for PrisonCore, or porting a plugin over, start with Getting Started.

If you're working inside the core itself, most of this is redundant for you.

The short version

A module is a jar. It declares its identity in Java with the @ModuleDefinition annotation, extends AbstractPlatformModule, and drops into plugins/PrisonCore/modules/. The kernel discovers it, runs it through prepare/enable/disable, and hands it a ModuleContext for resolving platform services.

You don't write a plugin.yml. You don't call Bukkit.getScheduler() directly. You don't register listeners through Bukkit.getPluginManager(). The platform provides a typed abstraction for each of those things, and that's what you use.

Pages

Conventions used in this wiki

Every page lists types by their simple name. The full package is shown once per type in the heading. Code samples are real, not pseudo-code, and assume your module extends AbstractPlatformModule.

Clone this wiki locally