
XzCore
XzCore is the shared infrastructure foundation for the XzPlugin suite. It provides common services that other plugins can depend on, while staying intentionally free of gameplay systems, economy rules, player progression, NPCs, holograms, and feature-specific logic.
It is built for Paper/Purpur servers that want reliable plugin infrastructure with clean APIs, safe storage patterns, and practical admin diagnostics.
Features
- Shared config and message loading
- MiniMessage rendering helpers
- Service registry for dependent plugins
- Plugin-owned SQLite storage and migrations
- Legacy central database compatibility
- NamespacedKey and PersistentDataContainer helpers
- Scheduler helpers with dependent-plugin task ownership
- Item template and item creation utilities
- Inventory menu layout parsing helpers
- Number, time, and command utility services
- Debug toggles and diagnostic snapshots
- Health checks and admin commands
Commands
- /xzcore info - show version, readiness, database, debug state, and services
- /xzcore reload - reload config, messages, and debug settings
- /xzcore debug [on|off|toggle|status] - manage debug mode
- /xzcore health - show health-check results
- /xzcore services - list registered services
- /xzcore data - show plugin-owned database diagnostics
- /xzcore shutdown - stop the server safely
Requirements
- Java 21
- Paper/Purpur 1.21.11
- Dependent plugins should declare XzCore as a dependency
For Developers
Access the API after XzCore has enabled with XzCore.getApi().
For new plugin data, use core.storage() to open a plugin-owned SQLite database and run migrations. XzCore keeps the public API interface-based and infrastructure-only, so feature plugins can build on it without pulling gameplay assumptions into the foundation layer.
Why Use It?
XzCore keeps shared server-plugin infrastructure boring in the best way: predictable config loading, safer database ownership, clean task scheduling, useful diagnostics, and reusable helpers for the rest of the XzPlugin ecosystem.


