Skip to content

Configuration

ItsNotSkyeZ edited this page Jul 20, 2026 · 13 revisions

Configuration

EndlessCoinflip uses two config files found in plugins/EndlessCoinflip/:

  • config.yml — Settings, GUI, sounds, gameplay and feature toggles
  • messages.yml — All player-facing chat messages Run /cf reload after making changes — no restart needed. New keys added in updates are automatically merged into your existing files without overwriting anything you've set.

config.yml

Features

features:
  bot-battles: true       # Enable/disable bot battles
  join-confirmation: true # Enable/disable the join confirmation screen
  private-matches: true   # Enable/disable private matches entirely
  history: true           # Enable/disable /cf history
  bot-battle-stats: true  # If false, bot battles still pay out but won't affect stats, streaks or the leaderboard

Storage

storage:
  type: FILE # FILE, SQLITE, or MYSQL
 
  sqlite:
    file: playerdata.db
 
  mysql:
    host: localhost
    port: 3306
    database: coinflip
    username: root
    password: ""
    use-ssl: false

See the Database Setup page for full details.

Wagers

settings:
  min-wager: 100
  max-wager: 1000000
  max-active-matches: 6
  server-tax-percent: 10

Per-permission wager overrides — highest matching permission wins, falls back to settings.max-wager:

wager-limits:
  endlesscoinflip.vip: 5000000
  endlesscoinflip.mvp: 10000000

PlaceholderAPI

Only used if PlaceholderAPI is installed.

placeholders:
  rank-refresh-seconds: 30  # How often %coinflip_rank% is recalculated in the background (seconds)

GUI

All values support & colour codes. See your config.yml for the full list of GUI keys.

gui:
  main-title: "&0Coinflip"
  color-picker-title: "&0Choose Your Colour"
  match-title: "&0Coinflip &8— &f{wager}"

Sounds

Sound names must match a valid Bukkit Sound enum value.

sounds:
  win:
    sound: UI_TOAST_CHALLENGE_COMPLETE
    volume: 1.0
    pitch: 1.5
  lose:
    sound: UI_TOAST_CHALLENGE_COMPLETE
    volume: 1.0
    pitch: 1.0
  countdown:
    sound: BLOCK_NOTE_BLOCK_HAT
    volume: 1.0
    pitch: 0.8
    pitch-step: 0.1
  roll:
    sound: UI_BUTTON_CLICK
    volume: 0.5
    pitch: 0.8
    pitch-step: 0.06

Match History

gui-size must be a multiple of 9 (9-54). The bottom row is reserved for navigation.

history:
  max-stored: 200
  gui-size: 54
  title: "&0Coinflip History &8({page}/{pages})"
  date-format: "dd/MM/yyyy HH:mm"
  win-material: LIME_STAINED_GLASS_PANE
  lose-material: RED_STAINED_GLASS_PANE
  previous-slot: 45
  next-slot: 53

Cooldowns & Match Expiry

cooldowns:
  enabled: true
  seconds: 5
 
match-expiry:
  enabled: true
  minutes: 10
  check-interval-seconds: 30 # Requires a restart to take effect

Broadcasts

broadcast:
  # Server-wide announcement when someone wins above the threshold
  big-win:
    enabled: false
    threshold: 1000000
    message: "&6&l⭐ &e{winner} &6just won &f{amount} &6off &f{loser} &6in a coinflip!"
 
  # Fires every {interval}th win in a row (e.g. interval: 5 = fires at 5, 10, 15...)
  win-streak:
    enabled: false
    interval: 5
    message: "&6&l🔥 &e{winner} &6is on a &f{streak} &6win streak!"
 
  # Announces every match win. Separate toggles and min-wagers for PvP and bot matches
  match-win:
    pvp:
      enabled: false
      min-wager: 0
      message: "&e{winner} &7won &f{amount} &7from &e{loser} &7in a coinflip!"
    bot:
      enabled: false
      min-wager: 0
      message: "&e{winner} &7won &f{amount} &7from the Coinflip Bot!"

Join Confirmation

join-confirm:
  title: "&0Confirm Join"
  confirm-slot: 3
  confirm-material: LIME_STAINED_GLASS_PANE
  confirm-name: "&a&lConfirm"
  cancel-slot: 5
  cancel-material: RED_STAINED_GLASS_PANE
  cancel-name: "&c&lCancel"

Leaderboard

leaderboard:
  enabled: true
  sort-by: total-won  # wins, losses, total-wagered, total-won, biggest-win, biggest-loss, streak
  gui: false          # true = GUI leaderboard, false = chat leaderboard
  entries-per-page: 10

Update Checker

update-check:
  enabled: true
  message: "&e&l(!) &eA new version of EndlessCoinflip is available: &f{version}"

messages.yml

All chat messages support & colour codes.

Multi-line Messages

The help and stats keys support multi-line lists:

help:
  - "&b&lEndlessCoinflip &8— &7Commands"
  - "  &b/cf &8— &7Open the coinflip lobby"
 
stats:
  - "  &7Wins&8: &f{wins}"
  - "  &7Current Streak&8: &f{streak}"
  - "  &7Best Streak&8: &f{bestStreak}"

Placeholders

Placeholder Description
{wager} The wager amount
{opponent} The opponent's name, or "Coinflip Bot"
{amount} A generic amount (e.g. pending payout)
{min} Minimum wager
{max} Maximum wager
{time} Cooldown seconds remaining
{wins} Player's win count
{losses} Player's loss count
{wagered} Total amount wagered
{won} Total amount won
{win} Biggest single win
{loss} Biggest single loss
{streak} Current win streak
{bestStreak} Best win streak ever
{winner} Winner's name (broadcasts only)
{loser} Loser's name (big-win & match-win pvp broadcast only)
{host} The match host's name
{target} The invited player's name
{color} A wool colour's chat colour code
{colorName} A wool colour's display name
{count} Countdown number (5-1)
{ratio} A player's win:loss ratio
{page} Current page number
{pages} Total page count
{rank} Leaderboard position
{value} Leaderboard sorted stat value
{type} "Player" or "Coinflip Bot" (history only)
{date} Formatted date (history only)
{biggestWin} Biggest win (leaderboard lore only)
{biggestLoss} Biggest loss (leaderboard lore only)
{version} Latest available version (update-check message only)

Colour Codes

Code Colour
&a Green
&b Aqua
&c Red
&e Yellow
&f White
&7 Gray
&8 Dark Gray
&l Bold
&m Strikethrough

Clone this wiki locally