Getting Started
Overview
XCore is the central framework that powers all X addons. It provides shared infrastructure so addons don't need to implement their own database, cache, sync, GUI, or economy systems.
What XCore provides
- 3-Layer Cache — Caffeine (L1 local) → Redis (L2 shared) → Database (L3 persistent)
- Cross-Server Sync — Redis Pub/Sub or database polling, multiplexed for all addons
- Multi-Database — MySQL, PostgreSQL, SQLite with HikariCP pooling
- GUI Framework — YAML-driven inventories with pagination, animations, sounds, actions
- Language System — Per-addon MiniMessage lang files with automatic default merging
- Built-in Economy — Multi-currency with Vault provider, exchange, history
- Web Dashboard — HTTP server with REST API, module system for addons
- Addon System — Load/enable/disable/reload addons from
plugins/XCore/addons/ - Deliveries — What an addon owes a player but cannot hand over is stored and given on join
- Leaderboards — Declared once, kept in memory, served as placeholders
- Network Registry — Which servers are up, and which one a player is on
- Discord — One webhook queue for the whole installation, with rate-limit handling
- Play Time — Counted per player across sessions
- Folia Compatible — Full region threading support via SchedulerAdapter
Requirements
- Paper 1.21.1+ (or Folia)
- Java 21+
- Vault — Optional. The economy runs without it; Vault is only needed to expose balances to other plugins
- PlaceholderAPI — Optional, for placeholders
Installation
- Place
XCore.jarin your server'splugins/folder. - Place addon JARs in
plugins/XCore/addons/. - Start the server. XCore generates
plugins/XCore/config.yml. - Configure the database, Redis, economy, and web dashboard.
- Each addon gets its own config at
plugins/XCore/addons/<name>/config.yml.