BubblePerks

A modern, feature-rich perks system for Minecraft 1.21.8+ servers with native CoinsEngine support.

70

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.

ADS