OmegaSouls is a complete, self-contained souls economy for Minecraft 1.20+ Paper/Spigot servers. Players earn Souls by sacrificing items, killing mobs, and completing quests — then spend them in a fully configurable in-game shop. Everything is data-driven: prices, categories, GUIs, quest definitions, mob rewards, scoreboard lines and messages are all editable from YAML files with no code changes.
Sacrifice System
- Open a 54-slot sacrifice GUI with /souls — players drop in items and earn Souls on close.
- Per-item prices for 400+ materials in prices.yml, with decimals down to 0.01 supported.
- Enchantment bonus: each enchantment level on a sacrificed item adds a configurable fraction of its base value (a Sharpness V sword can be worth +50%), capped at a configurable maximum multiplier.
- Exploit-proof by design: bundled prices enforce that shop-sell values are never higher than sacrifice values, so buy-then-sacrifice can never profit. Mineral blocks, slabs, planks and smeltable items are all priced relative to their components.
- Unpriced items are silently ignored or returned to the player — configurable.
- Success and fail sounds, minimum reward threshold, and customisable GUI title and size.
Souls Shop
- 13 categories: Building Blocks, Decoration, Nature, Ores, Redstone, Farming, Food, Combat, Tools, Armour, Mob Drops, Spawners and Miscellaneous.
- Every category has its own YAML file — set buy/sell prices per item, and display names, icons, slots and lore in categories.yml.
- Buy and sell items with a confirm-purchase GUI, full inventory handling (items drop instead of being lost), and clear "not enough Souls" messaging.
Quest System
- 142 quests across 7 categories (Farming, Mining, Exploring, Mob Slayer, Items Sold, Soul Balance, Playtime), all defined in one config file.
- 9 quest types: blocks mined, crops harvested, distance travelled, mob kills, tool breakage, playtime, structure discovery, items sold, and soul balance reached.
- Chain quests with requires dependencies, locked/unlocked/ready/completed statuses, and progress tracking per player.
- Rewards are console commands with %player% support — souls, items, ranks, anything your other plugins can run.
- Category buttons on the main quest menu show quest counts and per-player progress, so players always know how far along each category they are.
- Version-checked quest config: when a new plugin release updates quest definitions, your old file is backed up to quests.yml.old and regenerated automatically.
Mob Souls
- Reward Souls for killing any mob listed in mobsouls.yml — fixed amounts or random ranges, decimals supported.
- Includes defaults for common hostiles, Nether and ocean mobs, bosses (Ender Dragon, Wither, Warden), and configurable player-kill rewards.
Scoreboard & Player Stats
- Fully configurable sidebar scoreboard with real-time placeholder lines, custom title, update interval and a per-player toggle command.
- Automatically tracks Souls balance, playtime (with a smart tiered time format), deaths, blocks mined and placed, and items sold.
- Global top 10 leaderboard with /souls top, refreshed automatically.
Placeholders & PlaceholderAPI
- 20+ built-in placeholders usable in the scoreboard, messages, GUIs, and any PlaceholderAPI-compatible plugin: balance, formatted balance, rank, playtime, deaths, blocks mined/placed, items sold, server totals, top 1–10, and per-category quest counters and progress.
- PlaceholderAPI integration is optional and auto-detected — the plugin works fully standalone.
Discord Webhook
- Send a rich embed to a Discord webhook whenever a player claims a quest — player name, quest name, category and reward. No private data (IPs, UUIDs) is ever sent.
Commands & Permissions
- /souls (alias /soul) — open the sacrifice GUI, with sub-commands shop, quests, scoreboard, bal, top, give, remove, set, reload and help, with tab completion.
- Every permission node is configurable in config.yml, with sensible defaults for players and OP-only admin nodes.
- Full admin control: give, remove and set Souls for any player, and reload every config in-game.
Configuration & Storage
- Clean config split by feature: config.yml, messages.yml, prices.yml, categories.yml, mobsouls.yml, scoreboard.yml, quests.yml, plus per-category shop files and GUI layout files.
- Every player-facing message is configurable with legacy color codes, hex colors (&#RRGGBB), multi-line lists and built-in placeholders.
- Player data stored in human-readable YAML with auto-save, save-on-quit, and username refresh on login.
Requirements
- Minecraft 1.20+ (Paper or Spigot), Java 17+.
- PlaceholderAPI optional — soft dependency, integrates automatically when present.
A valid license key is required and entered in config.yml — the plugin will not enable without one. Join the Discord to get yours.