Create and compile a complete Minecraft Paper/Spigot plugin named XShop by XNOVA Studios for versions 1.18 through the latest. Language & Build: - Java - Maven - Output: compiled XShop.jar - Package: me.xnova.xshop - api-version: 1.18 Dependencies (softdepend): - Vault - LuckPerms - PlaceholderAPI ======================== CONSOLE BRANDING & STATUS ======================== On plugin ENABLE SUCCESS: - Print a GREEN ASCII logo of "XNOVA / XShop" in console - Show: ✔ Plugin name and version ✔ Author: XNOVA Studios ✔ Server version ✔ Vault hook status (SUCCESS / NOT FOUND) ✔ LuckPerms hook status (SUCCESS / NOT FOUND) ✔ Economy mode in use (Vault / Coins) ✔ Final message: "XShop enabled successfully" On plugin ENABLE FAILURE: - Print a RED ASCII logo of "XNOVA / XShop" - Clearly state: ❌ Plugin failed to enable ❌ Exact reason why (missing dependency, config error, exception, etc.) ❌ Friendly explanation for server owners ❌ Full stacktrace for debugging - Plugin must DISABLE safely without crashing the server On plugin DISABLE: - Yellow clean shutdown message: "XShop has been safely disabled." All console messages: - Colored - Prefixed with [XShop] - Professional and readable ================ CORE FEATURES ================ 1) Economy System - Vault economy support if available - Internal coin system if Vault is missing or disabled - Config option to choose economy type Commands: - /coins - /coins give <player> <amount> - /coins take <player> <amount> - /coins set <player> <amount> 2) LuckPerms-Based Permissions (NO rank names) - Discount permission: xshop.discount.X (X = percentage) - Sell rate permission: xshop.sellrate.X (X = multiplier percentage) - Premium auction access: xshop.pauction.true - Permissions parsed dynamically (X is variable) 3) Shop System - GUI-based shop - Buy prices reduced by xshop.discount.X - Sell prices increased by xshop.sellrate.X - Fully configurable - Simple configuration with comments 4) Auction System - Normal auction (all players) - Premium auction (requires xshop.pauction.true) - GUI-based - Configurable limits and rules 5) Commands - /xshop - /xshop reload - /xshop shop - /xshop auction - /xshop pauction ========================= FILE & FOLDER STRUCTURE ========================= Create a VERY SIMPLE and CLEAN plugin folder structure: plugins/XShop/ ├─ config.yml # main settings (economy, permissions, toggles) ├─ shop.yml # shop items and prices ├─ auction.yml # auction settings ├─ messages.yml # all messages editable └─ data/ └─ playerdata.yml # coin balances and data Requirements: - Clear comments in every config file - Human-readable keys - No complex nested mess - Easy for beginners to edit ================ TECHNICAL RULES ================ - No deprecated API usage - Proper null checks - Async tasks where needed - Clean OOP structure - Safe startup and shutdown - Plugin must NEVER crash the server - Errors must be caught and explained ================ DELIVERABLES ================ - Full Maven project - plugin.yml - All Java source files - Default config files - Compiled XShop.jar ready to download IMPORTANT: - Do NOT output explanations - Do NOT ask questions - Do NOT output partial code - Generate everything and compile the final JAR