LexCase | UPGRADER UPDATE
1.6.1-spigotLexCase is a plugin for a custom case system with keys, holograms, reward rolls, and a luck/debt mechanic.
- Tested MC versions
- 1.21
LexCase
LexCase is a configurable case and crate plugin for Minecraft 1.21.11. It brings together virtual keys, weighted rewards, custom rarities, animated openings, a long-term luck system and an in-game admin GUI, with tools for backups and recovering player rewards.
Build cases for your server, tune the drop tables and opening sequence, then manage most of the setup in-game instead of editing YAML every time.
LEXCASE — UPGRADER UPDATE
Risk your stake. Pick a target. Spin the wheel.
LexCase 1.6.0 introduced the Upgrader. In 1.6.1, it has grown into a more flexible system with combined stakes, custom items, command rewards and durability-aware item values.
- Up to nine item stacks in a 3×3 input grid, plus an optional Vault money contribution
- Automatic upgrade targets generated from
plugins/LexCase/upgraders_cost.yml- Durability-aware values — a damaged tool or weapon is worth less than a fully repaired one
- Custom item registration for items with names, lore, enchantments, model data, attributes and supported PDC metadata
- Command rewards for explicit Upgrader profiles
- Configurable success chances, value multipliers and costs
- Player-only roulette with acceleration, braking, speed-adaptive sounds and clear WIN/LOSE sectors
- LOW / MEDIUM / HIGH particle-detail presets
Open the Upgrader with
/upgraderor/lc upgrader.The result is calculated before the animation begins. The roulette is visual only; it does not change the configured chance.
🎰 The Upgrader
The Upgrader is built around an ALL IN attempt. Put in your stake, choose a target and start the roll. On WIN, you receive the selected result; on LOSE, the accepted stake is lost.
Automatic targets
LexCase reads relative item values from upgraders_cost.yml and generates targets automatically. You do not need to create a separate recipe or place a special block for every upgrade.
- The input can contain up to nine different item stacks.
- Stack mode is enabled by default. The value of a stack is its unit value multiplied by the accepted amount.
- A Vault money contribution can be added to the same stake. One currency unit counts as one value point for the calculation.
- Targets are grouped by value multiplier and can be filtered in the GUI.
- The success chance is calculated from the configured value relationship and chance settings.
- Damageable items are valued according to their remaining durability. Unbreakable items are not discounted for wear.
The values in upgraders_cost.yml are relative item values, not a direct Vault charge. They are a starting point for your server economy, so review the generated or bundled values before using them on a tightly balanced server.
Custom items and profiles
Register an item from your main hand as an automatic Upgrader item value:
/lc upgrader additem <id> <value>
/lc upgrader listitems
/lc upgrader removeitem <id>
You can also create explicit profiles through /lc admin → Upgrader Profiles. Profiles are useful when you need a specific input, a fixed chance, a custom result, a chosen cost or a command reward instead of an item.
Custom items are saved as serialized Bukkit/Paper ItemStacks. Supported metadata includes display names, lore, enchantments, model data, attributes and PersistentDataContainer data. Items from plugins such as MMOItems or MythicMobs may work when their identity is stored in data exposed by Bukkit/Paper. If a plugin keeps important information in private or non-portable data, a dedicated adapter may be needed; test valuable custom items after a restart before using them live.
Command rewards
An explicit Upgrader profile can award a configured console command instead of an item. Commands are queued through LexCase's pending-reward system when the player wins. Available placeholders are:
{player}— player name{uuid}— player UUID{amount}— amount of input items
Only use commands configured by a trusted administrator. Because an external command may carry out its action before the server records the result, an uncertain command reward can require manual review rather than an automatic retry.
Roulette animation
The roulette is shown only to the player making the attempt. It includes multiple rotations, acceleration and deceleration, WIN/LOSE sectors, a pointer at the edge of the wheel, speed-adaptive spin sounds and a final result display. Near-miss presentation and particle density are configurable.
The actual success or failure is decided before the animation starts. The animation never rolls again or changes the probability.
🎁 Cases and animated openings
Create and manage cases in-game with /lc setup and the admin GUI.
- Configure case appearance and opening behaviour.
- Set chest timing, item presentation, reward reveal delays, hologram positions and opening timeouts.
- Set opening conditions and permissions.
- Configure auto-opening intervals and limits on simultaneous/opened chests.
- Allow animation skipping for selected permissions.
- Test reward rolls without consuming keys.
- Clone and manage case setups through the admin tools.
- When enabled, edit a placed case with Shift + right-click.
Case animations and timings are configurable, so you can use a quick opening for a lightweight setup or a longer reveal for a more elaborate crate.
🎲 Rewards, rarities and luck
Build a reward table around the way your server works.
Rarities can have custom names, colours, tiers and weights. The system is not limited to the default four tiers; you can define additional tiers and tune how they interact with luck.
Rewards can include Minecraft items with custom names and lore, amounts, values and commands. You can configure reward chances and legendary broadcast behaviour.
The optional Luck & Tier Debt system tracks previous results and adjusts future rarity rolls. Configure balance limits, tier boosts and penalties, rare-bonus accumulation and decay, debt accumulation and decay, and bonus consumption. Disable it if you prefer fully independent rolls.
🔑 Virtual keys, reward recovery and history
Keys are stored digitally for each player and case. Administrators can grant, remove and inspect case-specific balances. When an opening requires several keys, LexCase consumes the required amount atomically: either all required keys are taken or none are.
If a reward cannot be delivered immediately — for example, because the player is offline or their inventory is full — it can be kept as a pending reward. Players can open /lc rewards to retry and claim pending rewards. With pending-rewards.enabled: true, case rewards are placed in the durable queue before the opening reveal.
Use /lc history or /lc history <case-id> to view recent openings. History entries can include the case, rarity, reward, amount and timestamp, with aggregate opening counts also available.
🧰 In-game admin tools
Most day-to-day setup can be handled through /lc admin, including:
- Case browser and editor
- Loot table, reward and rarity editors
- Conditions and visual settings
- Upgrader Profiles and option/cost editors
- Test mode
- Import, export, backup and restore tools
- Runtime dashboard and diagnostics
- Optional admin audit log
The backup/restore workflow validates archive paths and data before replacing live files, and keeps recovery copies for supported operations. YAML configuration and snapshots use safer file replacement, with recovery handling for certain invalid or interrupted states.
📊 Status, health and performance
Administrators can use these commands to check the live plugin state:
/lc status— cases, rarities, rewards, keys, pending rewards, active sessions, storage mode and Upgrader count/lc health— basic status checks for the core subsystems/lc perf— Upgrader animation timing counters and active case-session, task and entity counts
/lc perf provides useful runtime counters, not a substitute for a full server profiler or a long-duration load test.
💾 Storage and configuration
YAML is the default storage mode. SQLite is available for supported player key and luck data. LexCase includes data-layout migration support, atomic file replacement, backup copies, archive import/export/restore tools and recovery checks for important data files.
Main files live in plugins/LexCase/:
config.yml— general settings, luck, storage, locales, Upgrader behaviour and other optionsupgraders_cost.yml— automatic Upgrader item values and registered custom items- Locale files — bundled English and Russian messages
- Persistent data, history, pending rewards, migration records and backups
Existing configuration files are not blindly overwritten during updates. Back up your current files before merging new options or replacing upgraders_cost.yml with a newer template. Automatic missing-material values are estimates; check them against your own server economy.
Safe reloads
Use /lc reload to reload plugin data. A normal reload is blocked while case sessions are active. Use /lc reload force only when you deliberately want active sessions finalized before reloading.
🌍 Locales and PlaceholderAPI
LexCase includes en_US and ru_RU YAML locales. Locale updates backfill missing bundled keys while preserving custom translations.
When PlaceholderAPI is installed, LexCase provides placeholders for keys, openings, luck, pending rewards and runtime counts. Examples:
%lexcase_keys_<case>%%lexcase_case_opens_<case>%%lexcase_total_keys%%lexcase_player_total_opens%%lexcase_player_luck_balance%%lexcase_player_luck_tier_debt%%lexcase_pending_reward_count%%lexcase_active_sessions%%lexcase_case_count%%lexcase_rarity_count%%lexcase_reward_count%
These can be used in scoreboards, TAB, holograms, menus and other PlaceholderAPI-supported plugins.
🔄 Update notifications
LexCase checks Modrinth for compatible releases and notifies administrators in-game and in the server console. The updater separates Paper/Purpur and Spigot streams using Modrinth loader tags, so a platform-specific build is not offered to the other stream. Releases tagged bukkit, plus older releases without loader metadata, remain shared for compatibility.
⌨️ Commands
Players
| Command | Description |
|---|---|
/upgrader or /lc upgrader | Open the Upgrader |
/lc keys [ID] | View stored case keys |
/lc rewards | Claim or retry pending rewards |
/lc history [ID] | View recent case openings |
/lc help | Show command help |
Administrators
| Command | Description |
|---|---|
/lc setup | Create or update a case setup at your location |
/lc delete | Remove the case setup at your location |
/lc admin | Open the admin GUI |
/lc givekey <ID> <player> <amount> | Give case-specific keys |
/lc removekey <ID> <player> <amount> | Remove case-specific keys |
/lc status | Show runtime status |
/lc health | Check core subsystem status |
/lc perf | Show Upgrader and case-session performance counters |
/lc reload [force] | Reload configuration and data |
/lc upgrader additem <id> <value> | Register the held item and its relative value |
/lc upgrader listitems | List registered custom items |
Similar projects
Plugin →Let Me Despawn
Improves performance by tweaking mob despawn rules. Say bye to pesky unintentional persistent mobs.
25MSueta
JourneyMap
Real-time map used for mapping in-game or your browser as you explore.
14.7MSueta
Emotecraft
Create your own emotes in Minecraft.
7.5MSueta
Simple Tpa
A simple tpa plugin which sends requests
5.4MSueta
Common Network
Forge and Fabric Unified Networking Solution
3.9MSueta
Set Home
A lightweight plugin for players to set their homes.
3.8MSueta
