✦ SwagBounties ✦
A full-featured player bounty system for Spigot 1.21.4
Place bounties on players, claim them on kill, browse them in a paginated GUI, and get notified via Discord webhooks.
✦ Features
- Place bounties on any online or offline player with an optional anonymous flag
- Claim on kill — reward paid to the killer via Vault on player death
- Paginated GUI — /bounties opens a skull-based chest GUI with per-target bounty details
- Bounty expiry — unclaimed bounties expire after a configurable number of days and refund the creator
- Placement tax — configurable tax on placement and expiry refunds
- Anonymous bounties — hide your identity with --anon
- Discord webhooks — bounty set, claim, and expiry events posted to a Discord channel
- PlaceholderAPI support — %swagbounties_*% placeholders for scoreboards and other plugins
- Admin commands — force-remove, wipe, inspect, and edit config live in-game
- Same-IP exploit prevention — prevents players from claiming bounties on alt accounts
✦ Commands
Player Commands:
/bounty set <player> <amount> [--anon] - Place a bounty on a player
/bounty remove <player> - Cancel your bounty and receive a refund
/bounty list [player] - List active bounties on yourself or another player
/bounty help - Show command usage
/bounties - Open the paginated bounty GUI
Admin Commands:
(Requires swagbounties.admin permission)
/bountyadmin config get <key> - View a config value
/bountyadmin config set <key> <value> - Change a config value in-game
/bountyadmin config list - List all config values
/bountyadmin reload - Reload config from disk
/bountyadmin remove <target> [creator] - Force-remove bounty/bounties with refund
/bountyadmin clear <player> - Clear all bounties on a player with refunds
/bountyadmin clearall - Wipe all bounties server-wide with refunds
/bountyadmin give <target> <amount> [--anon] - Place a free admin bounty
/bountyadmin inspect <player> - View full bounty detail with anonymity unmasked
✦ Permissions
swagbounties.admin - Access to all /bountyadmin commands (default: op)
✦ Dependencies
Required:
- Java 21
- Spigot / Paper 1.21.4
- Vault - Economy withdrawals and deposits
- Economy plugin (EssentialsX, CMIEconomy, etc.)
Optional:
✦ Installation
- Download SwagBounties.jar from the Versions tab above
- Drop it into your server's plugins/ folder alongside Vault and a Vault economy provider (e.g. EssentialsX)
- Start the server once to generate plugins/SwagBounties/config.yml, then stop it
- Edit config.yml to set your desired min/max bounty, taxes, expiry days, and (optionally) a Discord webhook URL
- Start the server
✦ Configuration
Key config options in plugins/SwagBounties/config.yml:
- min-bounty: 100.0 - Minimum bounty a player can place
- max-bounty: 0.0 - Maximum bounty (0 = no limit)
- placement-tax: 5.0 - % taken from bounty on placement
- expiry-refund-tax: 10.0 - % taken from refund on expiry
- bounty-expiry-days: 7 - Days until unclaimed bounty expires (0 = never)
- discord-webhook-url: "" - Discord webhook URL (leave empty to disable)
- discord-notify-threshold: 500.0 - Min reward to trigger a Discord notification
✦ PlaceholderAPI
- %swagbounties_top_reward% - Highest total bounty reward across all targets
- %swagbounties_top_target% - Name of the most-wanted player
- %swagbounties_total_bounties% - Total count of all active bounties
- %swagbounties_bounty_<player>% - Total reward on the named player
- %swagbounties_has_bounty_<player>% - yes or no
✦ Support
Found a bug or have a feature request? Please open an issue on GitHub!