BubblePerks
A modern, feature-rich perks system for Minecraft 1.21.8+ servers with native CoinsEngine support.
BubblePerks
BubblePerks
Version 2.0.0 - A modern, feature-rich perks system for Minecraft 1.21.8+ servers with native CoinsEngine support.
A comprehensive perks system that allows players to purchase various upgrades and utility commands using in-game currency through an elegant GUI.
✨ Features
- Multi-tier Upgrades: Modern perks menu with gradient text, borders, and category sections - Multi-tier Upgrades: Native support for CoinsEngine v2.5.0+ with automatic currency detection - Multi-tier Upgrades: Seamless fallback to Vault economy systems - Multi-tier Upgrades: Commands, upgrades, utilities, and progressive tiers - Multi-tier Upgrades: Custom placeholders for integration with other plugins - Multi-tier Upgrades: Automatic permission granting via LuckPerms - Multi-tier Upgrades: Customizable perks, costs, requirements, and rewards - Multi-tier Upgrades: SQLite and MySQL support for data persistence - Multi-tier Upgrades: Progressive upgrade system for homes, vaults, and jobs
🎮 Perk Categories
Utility Command Perks
- Stonecutter: Access to `/grindstone` command (virtual grindstone) - Stonecutter: Access to `/craft` command (virtual crafting table) - Stonecutter: Access to `/anvil` command (virtual anvil) - Stonecutter: Access to `/echest` command (virtual ender chest) - Stonecutter: Access to `/cartographytable` command (virtual cartography table) - Stonecutter: Access to `/stonecutter` command (virtual stonecutter)
Progressive Upgrade Perks
- Jobs: Increase maximum home count (3 tiers: +3, +5, +7 homes) - Jobs: Unlock additional vaults (3 tiers: +1, +1, +2 vaults) - Jobs: Increase job slots (3 tiers: +1, +1, +1 job slots)
📋 Commands
- `/perks` - Open the perks GUI - `/perks help` - Show help information - `/perks reload` - Reload plugin configuration (admin only)
🔐 Permissions
- `bubbleperks.use` - Basic access to perks system (default: true) - `bubbleperks.admin` - Administrative access (default: op) - `bubbleperks.bypass` - Bypass all perk requirements (default: false)
🏷️ Placeholders
When PlaceholderAPI is installed, the following placeholders are available:
- `%bubbleperks_has_<perkid>%` - Check if player has purchased a perk - `%bubbleperks_level_<perkid>%` - Get player's perk level - `%bubbleperks_total_perks%` - Get total number of perks owned by player
📦 Dependencies
Required
- LuckPerms - Economy integration (fallback) - LuckPerms - Permission management
Optional
- AxVaults - Primary economy system (recommended, v2.5.0+) - AxVaults - Placeholder support - AxVaults - Command perks integration & economy fallback - AxVaults - Job slot upgrades - AxVaults - Vault upgrades
🚀 Installation
1. Download the latest release (`BubblePerks-2.0.0.jar`) 2. Place the JAR file in your `plugins` folder 3. Install required dependencies: - Essentials (economy bridge) - Essentials (permissions) - Essentials (recommended for currency) OR Essentials (economy fallback) 4. Restart your server 5. Configure the plugin files in `plugins/BubblePerks/` 6. Set your currency ID in `config.yml` under `economy.coinsengine-currency` 7. Reload with `/perks reload`
⚙️ Configuration
config.yml
Main plugin configuration including economy settings, GUI options, and integrations.
Economy Settings (v2.0.0+): ```yaml economy: currency-symbol: '🫧' format-thousands: true coinsengine-currency: 'coins' # Your CoinsEngine currency ID use-coinsengine: true # Use CoinsEngine instead of Vault ```
perks.yml
Define all available perks including costs, permissions, commands, and rewards.
messages.yml
Customize all plugin messages and text displayed to players.
API Usage
```java // Get the plugin instance BubblePerks plugin = (BubblePerks) Bukkit.getPluginManager().getPlugin("BubblePerks");
// Check if player has a perk boolean hasPerk = plugin.getPerkManager().hasPlayerPurchased(player, "grindstone");
// Get player's perk level int level = plugin.getPerkManager().getPlayerPerkLevel(player, "homes_tier1");
// Purchase a perk programmatically boolean success = plugin.getPerkManager().purchasePerk(player, "workbench"); ```
Support
For support, bug reports, or feature requests, please open an issue on the GitHub repository.
License
This project is licensed under the MIT License - see the LICENSE file for details.