Bounty Redux
A free, open-source bounty plugin for Paper servers. Inspired by the DonutSMP Bounty Plugin.
Quick challenge
How far can you run before the mobs catch you?
Minecraft check
Confirm your run
Complete the quick check to get your code.
Bounty Redux
🏴☠️ Bounty Redux
> A free, open-source bounty plugin for Paper servers. Inspired by the DonutSMP Bounty Plugin.
---
⚡ Features
- Smooth bounty GUI with paginated player head display - Add bounties on any player via command or GUI - Confirmation menu to prevent accidental placements - Cooldowns to prevent bounty spam - Sort bounties by amount or name - Search bounties by player name - Vault economy integration - Fully customizable messages via `config.yml` - Tab completion on all commands - SQLite persistence — bounties survive restarts - 🔓 Full offline-mode server support — player skulls render correctly for all players, even when offline, even with SkinRestorer
---
📦 Dependencies
| Dependency | Link | |---|---| | Vault | SpigotMC | | EssentialsX *(optional)* | SpigotMC | | SkinRestorer *(optional, recommended for offline-mode servers)* | SpigotMC |
---
🔓 Offline Mode Server Support
Most bounty plugins render player skulls using Bukkit's offline player cache — which means skulls break the moment a player logs off, and offline-authenticated players never render at all.
This plugin fixes that properly:
- On every join, the player's skin texture (including SkinRestorer-injected skins) is cached directly into the local SQLite database - Skulls are rendered from this texture cache — no dependency on whether the player is currently online - Works out of the box with SkinRestorer — no extra configuration needed
---
🔧 Commands & Permissions
| Command | Description | Permission | |---|---|---| | `/bounty` | Opens the bounty menu | `bountyredux.use` | | `/bounty add <player> <amount>` | Add a bounty | `bountyredux.add` | | `/bounty search <player>` | View a player's bounties | `bountyredux.search` | | `/bounty track <player>` | Track player | `bountyredux.track` | | `/bounty clear <player>` | Clear a player's bounties | `bountyredux.clear` | | `/bounty reload` | Reload config | `bountyredux.reload` |
Permission nodes: - `bountyredux.add` — place bounties - `bountyredux.reload` — reload config - `bountyredux.clear` — clear bounties - `bountyredux.admin` — full admin access - `bountyredux.*` — all permissions
---
🚀 Installation
1. Download the latest `.jar` from Releases 2. Drop it in your server's `/plugins` folder 3. Restart the server 4. Edit `plugins/BountyRedux/config.yml` if needed
---
⚙️ Configuration
Default `config.yml`: ```yaml
============================================
Bounty Redux Plugin — GPLv3
============================================
settings:
Minimum bounty amount a player can place
min-bounty: 10
Maximum bounty amount a player can place
max-bounty: 1000000
Cooldown in seconds between placing bounties
add-cooldown: 60
GUI title
gui-title: "§6§lBounty Menu"
tracking:
Cost mode: 'fixed' or 'percentage'
cost-mode: percentage
Fixed cost in currency (e.g. 500 = $500)
fixed-cost: 500
Percentage of the target's total bounty (e.g. 5 = 5%)
percentage-cost: 5
Duration in seconds (default 300 = 5 minutes)
duration: 300
messages: prefix: "§8[§6Bounty§8] §r" bounty-placed: "§aYou placed a bounty of §6${amount} §aon §e{target}§a!" bounty-collected: "§6{killer} §acollected the bounty of §6${amount} §aon §e{target}§a!" bounty-cleared: "§cThe bounty on §e{target} §chas been cleared." bounty-not-found: "§cNo bounty found for that player." no-permission: "§cYou don't have permission to do that." not-enough-money: "§cYou don't have enough money! You need §6${amount}§c." on-cooldown: "§cYou're on cooldown! Wait §e{seconds}s §cbefore placing another bounty." invalid-amount: "§cInvalid amount. Must be between §6${min} §cand §6${max}§c." cannot-bounty-self: "§cYou can't place a bounty on yourself!" player-not-found: "§cPlayer not found." plugin-reloaded: "§aPlugin reloaded successfully." bounty-confirmed: "§aYou confirmed a bounty of §6${amount} §aon §e{target}§a." bounty-cancelled: "§cBounty placement cancelled." no-bounties: "§cThis player has no bounties." ```
Available placeholders:
| Placeholder | Description | |---|---| | `{amount}` | The bounty amount | | `{target}` | The target player's name | | `{killer}` | The killer's name | | `{seconds}` | Remaining cooldown seconds | | `{min}` | Minimum bounty amount | | `{max}` | Maximum bounty amount |
---
🛠️ Building from Source
```bash git clone https://github.com/LightNabz/BountyRedux.git cd bounties mvn clean package ```
The built jar will be in `/target/BountyRedux-{version}.jar`.
---
📜 License
This project is licensed under the GNU General Public License v3.0. See GNU General Public License v3.0 for details.