Configuration
Everything is in plugins/Bounties/config.yml. Colors use &a, &l and &#RRGGBB, and PlaceholderAPI placeholders work in messages sent to a player.
Main sections
| Section | Purpose |
|---|---|
| license-key | Your Bounties license key. |
| bounty | Minimum and maximum, fee, compact numbers and the self-bounty, self-claim and same-IP rules. |
| broadcast | Tell the whole server when a bounty is added or claimed (both off by default). |
| storage | SQLite (default) or MySQL, and how often MySQL is synced. Needs a full restart. |
| menus | The bounty menu and the confirm menu. See Bounty menu. |
| search | Title, label and buttons of the search box. |
| sounds | Sounds for every button and for claiming. |
| message-display | Where each message appears: chat, action bar or both. |
| messages | Every chat message. |
Apply changes with /bounty reload. If the file has a YAML mistake, the console shows where it is: fix it and reload again.
Bounty settings
| Key (bounty) | Default | Meaning |
|---|---|---|
minimum | 100 | Smallest amount a player can add in one go. |
maximum | 0 | Highest total bounty one player can have. 0 = no limit. |
tax-percent | 0 | Fee in percent, paid on top of the bounty (0-100). |
compact-numbers | true | Show 1.5K, 2M and 14B instead of 1,500, 2,000,000 and 14,000,000,000. |
allow-self-bounty | true | Allow players to put a bounty on themselves. |
allow-self-claim | true | Allow players to claim their own bounty. |
block-same-ip-claim | false | No payout when killer and victim share an IP address. |
Storage
| Key (storage) | Meaning |
|---|---|
type | sqlite (a file in the plugin folder) or mysql to share bounties between servers. |
mysql.* | Host, port, database, username, password, SSL and connection pool size. |
sync-seconds | How often each server loads bounties again from MySQL (at least 5, default 30). |
Messages
Every message is under messages. prefix is added in front of every chat message. Set a message to "" to turn it off. Placeholders in braces depend on the message: {player}, {setter}, {killer}, {amount}, {cost}, {total}, {minimum} and {maximum}.
message-display chooses where a message appears: chat, action-bar or both. Messages that aren’t listed go to chat. The default shows bounty-added in both.
message-display:
bounty-added: both
bounty-claimed: action-barDefault config
# Paste your license key below, then restart the server.
# No key yet? Join my Discord: https://discord.gg/nRjDw9k2vJ
license-key: "AP-XXXX-XXXX-XXXX-XXXX"
# Color formats: &a, &l, ... and &#RRGGBB
# PlaceholderAPI placeholders work in every message.
bounty:
# Smallest amount a player can add in one go.
minimum: 100
# Highest total bounty one player can have. 0 = no limit.
maximum: 0
# Extra fee in percent, paid by the player on top of the bounty. 0 = no fee.
tax-percent: 0
# Show amounts as 1.5K, 2M, 14B instead of 1,500 / 2,000,000.
compact-numbers: true
# Allow players to put a bounty on themselves.
allow-self-bounty: true
# Allow players to claim their own bounty (for example by killing themselves with their own arrow).
allow-self-claim: true
# Stop players from claiming a bounty from someone who is connected from the same IP address.
block-same-ip-claim: false
broadcast:
# Tell the whole server when someone adds to a bounty.
bounty-added: false
# Tell the whole server when a bounty is claimed.
bounty-claimed: false
storage:
# sqlite or mysql. Use mysql to share bounties between servers.
# Changing the storage needs a server restart.
type: sqlite
mysql:
host: "localhost"
port: 3306
database: "bounties"
username: "root"
password: ""
use-ssl: false
pool-size: 4
# How often (in seconds) bounties are loaded again from MySQL, so every server shows the same list.
sync-seconds: 30
menus:
bounties:
title: "Bounties (Page {page})"
rows: 6
# Slots used for player heads.
head-slots: "0-44"
# {player} and {amount}
head:
name: "&a{player}"
lore:
- "&fBounty: ${amount}"
# {sort} is the current sort order.
sort-names:
amount: "Amount"
recent: "Recently Set"
items:
previous-page:
slot: 45
material: ARROW
name: "&fPrevious Page"
lore:
- "&fClick to view previous page"
sort:
slot: 48
material: HOPPER
name: "&fSort"
lore:
- "&fClick to sort ({sort})"
refresh:
slot: 49
material: SKELETON_SKULL
name: "&fBounties"
lore:
- "&fClick to refresh"
- ""
- "&7Set a bounty using this:"
- "&7/bounty add (player) (amount)"
search:
slot: 50
material: OAK_SIGN
name: "&fꜱᴇᴀʀᴄʜ"
lore:
- "&fClick to search"
next-page:
slot: 53
material: ARROW
name: "&fNext page"
lore:
- "&fClick to view next page"
confirm:
title: "Confirm Bounty"
rows: 3
# {player}, {amount}, {cost} (amount + fee) and {tax}
items:
cancel:
slot: 11
material: RED_STAINED_GLASS_PANE
name: "&fCancel"
lore:
- "&fClick to cancel"
player-head:
slot: 13
name: "&f{player}"
lore:
- "&fYou're going to set &a${amount}"
confirm:
slot: 15
material: LIME_STAINED_GLASS_PANE
name: "&fConfirm"
lore:
- "&fClick to add bounty"
- "&7(${cost})"
search:
title: "Search Bounties"
label: "Search"
cancel-button: "&cCancel"
search-button: "&aSearch"
# Sound names like ENTITY_PLAYER_LEVELUP or keys like entity.player.levelup.
# Every entry can be one sound or a list of sounds that play at the same time.
sounds:
page-turn:
sound: "item.book.page_turn"
volume: 1.0
pitch: 1.0
sort:
- sound: "ui.loom.take_result"
volume: 1.0
pitch: 1.0
- sound: "ui.button.click"
volume: 1.0
pitch: 1.0
refresh:
sound: "ui.toast.in"
volume: 1.0
pitch: 1.0
search:
sound: ""
volume: 1.0
pitch: 1.0
head-click:
sound: "entity.item_frame.add_item"
volume: 0.85
pitch: 1.0
confirm:
sound: "entity.experience_orb.pickup"
volume: 1.0
pitch: 1.0
cancel:
sound: "block.note_block.bass"
volume: 1.0
pitch: 1.0
bounty-claimed:
sound: "entity.player.levelup"
volume: 1.0
pitch: 1.0
# Where each message is shown: chat, action-bar or both. Messages not listed here go to chat.
message-display:
bounty-added: both
messages:
prefix: ""
usage: "&fUsage: &7/bounty &for &7/bounty add <player> <amount>"
usage-add: "&fUsage: &7/bounty add <player> <amount>"
usage-remove: "&fUsage: &7/bounty remove <player>"
usage-set: "&fUsage: &7/bounty set <player> <amount>"
no-permission: "&fYou don't have permission to do that."
player-only: "&fThis command can only be used by players."
player-not-found: "&fPlayer &7{player} &fhas never joined this server."
invalid-amount: "&7{amount} &fis not a valid amount."
below-minimum: "&fThe minimum bounty is &a$&f{minimum}."
above-maximum: "&fA bounty can't be higher than &a$&f{maximum}."
not-enough-money: "&fYou need &a$&f{amount} to do that."
self-bounty-disabled: "&fYou can't put a bounty on yourself."
economy-missing: "&fBounties are not available right now."
error: "&fSomething went wrong. Please try again."
refunded: "&fSomething went wrong, so your money was returned."
# {player}, {setter}, {amount}, {cost} and {total}
bounty-added: "&fYou added &a$ &f{amount} to {player}'s bounty"
broadcast-added: "&7{setter} &fadded &a$&f{amount} to &7{player}&f's bounty. Total: &a$&f{total}"
# {player} (the killed player), {killer} and {amount}
bounty-claimed: "&fYou claimed &a$&f{amount} from {player}'s bounty"
bounty-lost: "&7{killer} &fclaimed your bounty of &a$&f{amount}"
broadcast-claimed: "&7{killer} &fclaimed &a$&f{amount} from &7{player}&f's bounty"
claim-same-ip: "&fYou can't claim bounties from players on the same network as you."
no-bounty: "&7{player} &fhas no bounty."
bounty-removed: "&fRemoved &7{player}&f's bounty of &a$&f{amount}."
bounty-set: "&fSet &7{player}&f's bounty to &a$&f{amount}."
reloaded: "&fBounties configuration reloaded."
reload-failed: "&fCould not reload the configuration: &7{error}"