Skip to content

Features

Jan Kluka edited this page Jun 29, 2026 · 12 revisions

Features

X-Prison is a fully modular prison plugin for Paper and Folia servers. Every feature listed below is its own module — any module can be disabled in config.yml if you prefer a different plugin for that responsibility.


Pickaxe Enchantment System

The core of X-Prison is a custom pickaxe enchantment system with 25+ built-in enchants organized into categories: passive (always-on buffs), currency rewards, area-of-effect mining, key/item drops, and multipliers. Players upgrade enchants through an in-game GUI, spending configurable currencies.

  • Enchant levels, costs, and chances are fully configurable per enchant via JSON files
  • Left-click buys 1 level, right-click buys 10, middle-click buys 100, Q buys the maximum you can afford
  • Enchants can be refunded for a configurable percentage of their cost
  • Each enchant tracks activation history for the Enchant Prestige System

Enchant Prestige System

Once an enchant is maxed out and has accumulated enough activations, players can prestige it (Shift+Left Click in the enchant menu). Prestiging resets the enchant level to 0 and permanently increases its reward multiplier. Each enchant has independently configurable prestige settings: maximum prestige tier, required activations formula (supports math expressions), and multiplier per tier.

Enchant Permission Gating

Individual enchants can be restricted to specific LuckPerms groups or players using the xprison.enchants.use.<rawname> permission node. When the node is explicitly denied for a group, that group's members cannot trigger the enchant (it silently skips). When the node is not set at all, the enchant is unrestricted. This allows servers to gate powerful enchants (e.g. xprison.enchants.use.nuke) behind donor ranks or other progression milestones without modifying the enchant configuration files.

Pickaxe Levels

Pickaxes gain experience (blocks broken) and level up over time, unlocking higher-tier enchants. Level thresholds, required blocks, and rewards are configured in pickaxe-levels.yml.

Pickaxe Skins

Players can apply cosmetic skins to their pickaxe that provide passive stat bonuses. Skins are configured in pickaxe-skins.yml and managed through a GUI.

Config Auto-Update

When the plugin is updated, new keys in enchant JSON files are automatically merged into existing server configs — your customizations are never overwritten.


Prison Mines

A complete mine management system with GUI setup:

  • Create mine regions using a selection tool, then configure everything through the mine panel GUI
  • Each mine automatically gets a WorldGuard region
  • Configurable reset types: time-based, percentage-based, or manual
  • Gradual reset option (mines fill back in progressively)
  • Per-mine teleport locations with per-permission access (xprison.mines.tp.<name>)
  • Block composition is fully configurable with weighted percentages
  • PlaceholderAPI placeholders for each mine's block count and reset timer

Ranks, Prestiges & Rebirths

A three-tier progression system:

Tier Command Description
Ranks /rankup, /maxrankup Progress through prison ranks by spending money
Prestiges /prestige, /maxprestige Reset rank progress for a permanent prestige bonus
Rebirths /rebirth Reset prestige progress for a rebirth tier bonus

Each tier has configurable cost requirements (supports large numbers and decimal values), rewards, and broadcast messages. Leaderboards are available for prestiges.


Engagement & Retention

A connected loop of three modules designed to keep players logging in and grinding day after day. Each is independently toggleable, fully config-driven, and every reward is an unlimited "reward bundle" (any commands, messages, and a sound). Daily Rewards and Quests both feed Battle Pass XP, and the Battle Pass season reset ties the whole loop together.

Battle Pass

A seasonal progression track with Free and Premium reward tracks across unlimited tiers (/battlepass, /bp). Players earn Battle Pass XP from quests, daily rewards, prestiges, and rebirths to climb tiers and claim rewards from a paginated menu. The XP curve is generated automatically (base + (tier − 1) × increment, with optional per-tier overrides), premium is unlocked by permission or /bp setpremium (easy to sell on your store without pay-to-win), and /bp newseason <id> starts a fresh season while archiving old progress. Configured in battlepass.yml. See the Battle Pass page.

Quests

Turns ordinary gameplay into rewarded goals with daily, weekly, and always-on permanent quests (/quests, /missions). Define unlimited quests across 9 objective types (mine blocks, earn currency, rank up, prestige, rebirth, trigger enchant, use bomb, join gang, automine), each with an optional currency/enchant filter, configurable target, Battle Pass XP, and reward bundle. Daily/weekly quests are weighted random per player and rotate on a configurable timezone & reset schedule; players can reroll dailies with /quests reroll. Progress is tracked automatically off the existing event bus — no extra setup. Configured in quests.yml. See the Quests page.

Daily Rewards

A streak-based login reward system (/daily). Players claim one reward per day from an unlimited configurable cycle; consecutive claims build a streak that advances through the cycle and unlocks milestone bonuses at any streak values you choose, while missing a day resets the streak. The day boundary uses a configurable timezone & reset hour, claims grant Battle Pass XP, and players are prompted on join when a reward is ready. Configured in dailyrewards.yml. See the Daily Rewards page.


Currency System

Create any number of custom currencies (tokens, gems, crystals, etc.). Each currency gets its own:

  • Balance command (/<currency> {player})
  • Admin give/remove/set commands
  • Player-to-player pay command
  • Physical item withdrawal (configurable)
  • PlaceholderAPI placeholders
  • Multiplier support (player and global)

Default currencies included: Tokens, Gems, and Money (via Vault).


Multipliers

Apply temporary currency multipliers at the player or server level:

  • Global multiplier — affects all players' earnings for a currency
  • Player multiplier — affects a single player's earnings for a currency
  • Rank multiplier — passive bonus granted by permission node (xprison.multiplier.<rank>)
  • Supports any time unit: days, hours, minutes, seconds

Auto-Sell System

Automatically sells mined blocks as players mine, depositing money directly into their balance. Per-region sell prices are supported via WorldGuard regions — players standing in a mine region use that mine's prices, and any block the region doesn't price falls back to the global price. Can be toggled per player, with /sellall to sell everything on demand.

  • Live earnings action bar — while auto-sell is on, players see a running session total of what they've earned climb on their action bar; it resets once they stop mining for a few seconds (configurable). Works on both Spigot and Paper.
  • Full step-by-step pricing setup (and a "why isn't it selling?" checklist) is on the AutoSell page.

Player Feedback Sounds

X-Prison plays success/error/neutral sounds on command outcomes across every module (rankups, prestiges, purchases, gang actions, admin commands, and more) so players instantly hear whether an action worked. All sounds are configurable — or fully disabled — via the feedback section of config.yml.


Auto-Miner

Grants players time-based automated mining. Admins can give or remove autominer time in any time unit. Supports a configurable autominer region (WorldGuard).


Gangs

A social competition system:

  • Players create and join gangs
  • Gang value accumulates through gameplay
  • Gang leaderboard (/gang top)
  • Gang chat toggle
  • Owner controls: invite, kick, disband, rename
  • Admin override commands for force-add, force-remove, force-disband

Mine Bombs

Throwable items that explode a section of a mine. Bomb types and radii are configurable in bombs.yml. Admins give bombs via /bombs give.


Block Tracking

Tracks total blocks mined per player with leaderboards:

  • All-time blocks leaderboard
  • Weekly blocks leaderboard (resettable)
  • Admin add/remove/set commands
  • PlaceholderAPI support with multiple format options (raw, comma-separated, abbreviated)

Mining Stats

Tracks detailed per-player mining statistics for analytics and display purposes. Configurable in mining-stats.yml.


Player History

An in-game GUI showing a player's progression history: ranks, prestiges, rebirths, and other milestones.


Nicknames

A lightweight persistence layer that stores a display nickname for each player, used by other modules and addons (such as the Dashboard) to show a human-readable name instead of a raw UUID. It has no player-facing commands of its own — nicknames are set and read through the API.


Soft Integrations

Plugin Purpose
PlaceholderAPI Expose all plugin data to scoreboards, chat, etc.
LuckPerms Rank permissions and multiplier permission nodes
ItemsAdder Custom blocks in mines & auto-sell, and custom items as menu icons across every module (Ranks, Prestiges, Rebirths, Gangs, AutoMiner, Enchants, Pickaxe Skins)
UltraBackpacks Replaces the built-in auto-sell system when present

Developer API

X-Prison exposes a comprehensive public API via the X-PrisonAPI project. Addon developers can:

  • Register custom enchantments
  • Listen to and cancel plugin events (rank-up, prestige, rebirth, enchant prestige, and more)
  • Read player data (blocks, currency, rank, prestige, rebirth)
  • Integrate with the enchant prestige system via PrestigeableEnchant interface and XPrisonEnchantPrestigeEvent

Module Toggle

Every module can be independently enabled or disabled in config.yml under the modules: section. Disabling a module stops it from loading entirely, so you can use external plugins as replacements for any feature.

modules:
  currencies: true
  blocks: true
  ranks: true
  prestiges: true
  rebirths: true
  multipliers: true
  enchants: true
  autosell: true
  autominer: true
  pickaxe_levels: true
  pickaxe_skins: true
  gangs: true
  mines: true
  bombs: true
  history: true
  mining_stats: true
  battlepass: true
  quests: true
  dailyrewards: true

XPrison Logo

General

Modules

Default Configs

Enchant Configs — Passive

Enchant Configs — Currency Rewards

Enchant Configs — Key & Item Rewards

Enchant Configs — Area of Effect

Enchant Configs — Multipliers

Enchant Configs — Templates

Enchant Configs — Addons

Addons

Support

For Developers

Others

Clone this wiki locally