Bounty Redux

A free, open-source bounty plugin for Paper servers. Inspired by the DonutSMP Bounty Plugin.

110

Quick challenge

How far can you run before the mobs catch you?

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.

ADS