COWMODSКаталог модов

CoinFlips

⚠️ Warning: Vault plugin required 📦 Minecraft Versions: 1.16.5 – 1.21.x Advanced CoinFlip plugin with animated duels, configurable betting and taxes, player statistics, leaderboards, and full Vault integration.

Автор: NoxuWT2 тыс.2обновлён 26 сент. 2026 г.
Экономика

Описание

Features

CoinFlips Paper Discord


  • 🎮 Interactive CoinFlip Game: Create and join heads or tails games with custom bets via an intuitive GUI.
  • 🖥️ Fully Configurable GUI: Every menu (main, create, join, stats, top) is driven entirely by guis.yml — patterns, items, actions, textures, all configurable.
  • 📊 Statistics System: Track wins, losses, ratio, total bet and profit per player.
  • 🏆 Leaderboard: Display top players by profit with custom player head textures for empty slots.
  • 🤖 Discord Webhook: Automatic embed notifications on game creation, win and loss — fully configurable titles, descriptions and colors.
  • 🔌 PlaceholderAPI Support: Use placeholders to display stats in scoreboards, holograms and other plugins.
  • ⏱️ Cooldown System: Prevents abuse with a configurable delay between game creations.
  • 🔒 Private Games: Create password-protected games to play with a specific player.
  • 📢 Automatic Broadcast: Announces wins to the whole server with configurable messages.
  • 💾 Database Support: H2, SQLite or MySQL — choose what fits your server.
  • 🔄 Update Notifier: Automatically checks for new versions and notifies admins on join.
  • 🛠️ Admin Commands: Reload config, bypass bet limits and more.

Commands

Player Commands

CommandDescription
/cfOpens the main menu
/cf create <amount>Creates a new game with the specified bet
/cf join <id>Joins an existing game by its ID
/cf cancelCancels your current waiting game
/cf stats [player]Displays your or another player's statistics
/cf topShows the leaderboard
/cf private <amount>Creates a private game
/cf helpShows command help

Admin Commands

CommandDescription
/cf reloadReloads the configuration

Perms

PermissionDescriptionDefault
coinflips.useUse player commandstrue
coinflips.createCreate gamestrue
coinflips.joinJoin gamestrue
coinflips.statsView statisticstrue
coinflips.topView the leaderboardtrue
coinflips.privateCreate private gamestrue
coinflips.reloadReload the configurationop
coinflips.bypassBypass bet min/max restrictionsop
coinflips.adminAll admin permissionsop

Placeholders

PlaceholderDescription
%coinflip_wins%Number of player victories
%coinflip_losses%Number of player defeats
%coinflip_ratio%Win ratio in percentage
%coinflip_profit%Total player profit
%coinflip_total_bet%Total amount bet
%coinflip_games_active%Number of active games waiting

Configs

prefix: '<gradient:#FCEF00:#FFF652><bold>CoinFlips</bold></gradient> &7» '

database: # h2, sqlite or mysql
  type: h2

private-games:
  enabled: true
  password-length: 4

number-formatting:
  mode: 0 # 0 = formatted (1,000), 1 = short (1K), 2 = raw (1000.00)

update-notifier:
  enabled: true
  on-join: true

discord:
  enabled: false
  webhook-url: 'https://discord.com/api/webhooks/your-webhook-url'
  embed:
    create:
      title: 'New Coinflip!'
      description: '{player} created a coinflip for {amount} {currency}.'
      color: 3447003
      footer: 'Coinflips'
    win:
      title: 'Coinflip Won!'
      description: '{player} won a coinflip of {amount} {currency}!'
      color: 65331
      footer: 'Coinflips'
    lose:
      title: 'Coinflip Lost!'
      description: '{player} lost a coinflip of {amount} {currency}.'
      color: 15158332
      footer: 'Coinflips'

coinflip:
  min-bet: 1000
  max-bet: 100000000
  cooldown: 5
  win-chance: 50
  multiplier: 2

Последние версии

Все версии →
release

CoinFlips 6.1.4

6.1.4
26 сент. 2026 г.491Minecraft: 1.16.5, 1.17, 1.17.1, 1.18, 1.18.1, 1.18.2, 1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2, 26.2, 26.3folia, paper, purpur, spigot
Скачать
Что нового
## Added - Added ways to cancel your waiting coinflip from the Create and Join menus. - Right-clicking your own coinflip in the Join menu cancels it and refunds your bet. ## Fixed - Fixed GUI actions not responding due to extra spaces. - Fixed bStats startup errors.
release

CoinFlips 6.1.3

6.1.3
16 июн. 2026 г.880Minecraft: 1.16.5, 1.17, 1.17.1, 1.18, 1.18.1, 1.18.2, 1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2folia, paper, purpur, spigot
Скачать
Что нового
Add bstats Fix Minor
release

CoinFlips 6.1.2

6.1.2
23 мая 2026 г.121Minecraft: 1.16.5, 1.17, 1.17.1, 1.18, 1.18.1, 1.18.2, 1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2folia, paper, purpur, spigot
Скачать
Что нового
## Minor fixes ### Refactored UpdateChecker + `/cf update` command - Modrinth URL was hardcoded and incorrect. It now uses the correct endpoint `/v2/project/{id}/version?limit=1`. - Modrinth ID is configurable in `config.yml` under `update-notifier.modrinth-id`. - Added `notify-console: true` in `config. yml` to monitor console logs. - The HTTP connection uses its own `User-Agent` and timeouts (5s connect / 5s read). - New command `/cf update` (permission `coinflips.update`): launches a manual check and sends the result to the player. - 4 new messages in `messages.yml`: `update-notifier.checking`, `available`, `up-to-date`, `check-failed`. - `coinflips.update` permission added in `plugin.yml` and included in `coinflips.admin`.
release

CoinFlips 6.1.1

6.1.1
23 мая 2026 г.17Minecraft: 1.16.5, 1.17, 1.17.1, 1.18, 1.18.1, 1.18.2, 1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2folia, paper, purpur, spigot
Скачать
Что нового
#CoinFlips — 6.1.1 ## Minor fixes ### Head did not change in the animation menu - `updateAnimationFrame` changed the inventory on the server side but the client never received the update. - Added `player.updateInventory()` after each slot modification to force sending to the client. ### Negative or zero bets allowed - A player could enter a negative or zero bet, bypassing the min/max check. - Added a `bet <= 0` check in `GuiListener` (CREATE_GAME), `CoinFlipCommand` (create, private). - New message `commands.invalid-bet` added in `messages.yml`. ### Double debit of the loser - `finishGame` still withdrew the loser's stake even though it was already debited at the join. - Removed `EconomyUtils.withdraw(loser)` in `finishGame` — only the winner receives the pot. ### Formatting amounts according to `number-formatting.mode` - All amounts displayed in messages and GUIs used `String. valueOf((long) amount)` without any formatting. - Redesigned `MessageUtils.formatNumber` with 3 modes: - **Mode 0**: comma separator — `1,000,000` (pattern configurable via `formatted`) - **Mode 1**: short format — `1k`, `10k`, `1M`, `1B` - **Mode 2**: space separator — `1 000 000` - Added `ConfigManager. formatAmount(double)` which reads the mode and pattern from `config.yml` and formats the amount. - All `%amount%` in `GameManager`, `GuiListener`, `CoinFlipCommand` and `GuiManager` now go through `formatAmount`. ### Automatically add missing keys in config.yml and messages.yml - If a key is present in the default file (bundled in the jar) but absent from the server file, it is added automatically at startup and at `/cf reload`. - Existing values ​​are never overwritten. - Works recursively for all nested sections. - A message is logged in the console when keys are added: `Added missing keys to config.yml`. - Implemented in `FileManager` via `addMissingKeys()` and `copyMissing()`. --- #CoinFlips — 6.1.0 ## Major additions & fixes ### Folia Compatibility - New `utils/SchedulerUtils file. java`: automatically detects at startup whether the server is running on Folia (`RegionizedServer`) or Paper/Spigot. - Exposes unified methods: `runAsync`, `runAsyncTimer`, `cancelAsyncTimer`, `runLater`, `runLaterForPlayer`, `runTimer`, `cancelTimer`. - On Paper/Spigot → delegates to the classic `BukkitScheduler`. - On Folia → delegates to `AsyncScheduler` (async tasks) and `GlobalRegionScheduler` (sync tasks). - `GameManager`: rotating animation and game cleaning use `SchedulerUtils.runTimer` / `runLater`. Type `BukkitTask` replaced by `Object` to be agnostic. - `DiscordWebhook`: sending webhook via `SchedulerUtils.runAsync`. - `UpdateChecker`: update check via `SchedulerUtils.runAsync` / `runAsyncTimer` / `cancelAsyncTimer`. - The plugin now works on **Paper, Spigot and Folia** without changing the business logic. ### Animation — head rotating to the winner - The animation displayed a static head. The head now alternates between the creator and the opponent every 4 ticks (~0.2s) for 3 seconds, then freezes on the winner's head for 1 second before displaying the result. - Added `updateAnimationFrame(Player, String)` in `GuiManager` to change the header in real time in the open inventory. - `openAnimationMenu` now accepts `creatorName` and `opponentName` as parameters. ### Checking balance before creating/joining - A player without enough money could create or join a game without their balance being verified. - Added `EconomyUtils.hasBalance()` check in `GuiListener` (CREATE_GAME, JOIN_GAME) and `CoinFlipCommand` (create, join, private). - The balance is now debited **at creation** of the game (creator) and **at join** (opponent). - `finishGame` only credits the winner the full amount (stake × multiplier) — no more double debit. - `/cf cancel` correctly reimburses the creator since the stake is already debited. - New message `commands.not-enough-money` added in `messages.yml`. --- # CoinFlips — 6.0.2 ## Minor fixes ### Animation menu opened when joining a coinflip - When a player joins a game, `startGame` opened the main menu (`openMainMenu`) instead of the animation menu. - Added the `openAnimationMenu(Player)` method in `GuiManager` which opens the `animation` GUI defined in `guis.yml` with the `%player%` placeholder. - `GameManager.startGame()` now uses `openAnimationMenu` + `GuiType. ANIMATION for both players (creator and opponent) from the start of the game. --- # CoinFlips — 6.0.1 ## Minor fixes ### GUI does not open when accepting a coinflip - The `startGame` logic did not open any GUI for players, it just sent messages in the chat after a delay . - The `startGame` method has been moved to `GameManager` and now opens the main menu for both players (creator and joiner) upon starting the game. - Both players' inventories are automatically closed once the result is displayed. - The `JOIN_GAME` action in `GuiListener` did not call `startGame` after joining the game — fixed. ### Cleaning parts on disconnection - `PlayerListener` only handled the `PlayerJoinEvent` event, without any processing on disconnection. - Added a `PlayerQuitEvent` handler which: - Removes the player from GUI tracking (`GuiTracker`) - Removes any pending challenges linked to the player - Cancels the player's game if it is still in `WAITING` state (games already `RUNNING` resolve normally)
release

CoinFlips 6.1.0

6.1.0
23 мая 2026 г.14Minecraft: 1.16.5, 1.17, 1.17.1, 1.18, 1.18.1, 1.18.2, 1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2folia, paper, purpur, spigot
Скачать
Что нового
## Major additions & fixes ### Folia Compatibility - New `utils/SchedulerUtils.java` file: automatically detects at startup whether the server is running on Folia (`RegionizedServer`) or Paper/Spigot. - Exposes unified methods: `runAsync`, `runAsyncTimer`, `cancelAsyncTimer`, `runLater`, `runLaterForPlayer`, `runTimer`, `cancelTimer`. - On Paper/Spigot → delegates to the classic `BukkitScheduler`. - On Folia → delegates to `AsyncScheduler` (async tasks) and `GlobalRegionScheduler` (sync tasks). - `GameManager`: rotating animation and game cleaning use `SchedulerUtils.runTimer` / `runLater`. Type `BukkitTask` replaced by `Object` to be agnostic. - `DiscordWebhook`: sending webhook via `SchedulerUtils.runAsync`. - `UpdateChecker`: update check via `SchedulerUtils.runAsync` / `runAsyncTimer` / `cancelAsyncTimer`. - The plugin now works on **Paper, Spigot and Folia** without modification of the business logic. ### Animation — head rotating to the winner - The animation displayed a static head. The head now alternates between the creator and the opponent every 4 ticks (~0.2s) for 3 seconds, then freezes on the winner's head for 1 second before displaying the result. - Added `updateAnimationFrame(Player, String)` in `GuiManager` to change the header in real time in the open inventory. - `openAnimationMenu` now accepts `creatorName` and `opponentName` as parameters. ### Checking balance before creating/joining - A player without enough money could create or join a game without their balance being verified. - Added `EconomyUtils.hasBalance()` check in `GuiListener` (CREATE_GAME, JOIN_GAME) and `CoinFlipCommand` (create, join, private). - The balance is now debited **at creation** of the game (creator) and **at join** (opponent). - `finishGame` only credits the winner the full amount (stake × multiplier) — no more double debit. - `/cf cancel` correctly reimburses the creator since the stake is already debited. - New message `commands.not-enough- money` added in `messages.yml`.
release

CoinFlips 6.0.2

6.0.2
23 мая 2026 г.15Minecraft: 1.16.5, 1.17, 1.17.1, 1.18, 1.18.1, 1.18.2, 1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2paper, purpur, spigot
Скачать
Что нового
## Fixes ### Animation menu opened when joining a coinflip - When a player joined a game, `startGame` opened the main menu (`openMainMenu`) instead of the animation menu. - Added the `openAnimationMenu(Player)` method in `GuiManager` which opens the `animation` GUI defined in `guis.yml` with the `%player%` placeholder . - `GameManager.startGame()` now uses `openAnimationMenu` + `GuiType.ANIMATION` for both players (creator and opponent) from the start of the game.
beta

CoinFlips 6.0.1

6.0.1
23 мая 2026 г.9Minecraft: 1.16.5, 1.17, 1.17.1, 1.18, 1.18.1, 1.18.2, 1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2paper, purpur, spigot
Скачать
Что нового
# CoinFlips — 6.0.1 ## Fixes ### GUI does not open when accepting a coinflip - The `startGame` logic did not open any GUI for players, it just sent messages in the chat after a delay. - The `startGame` method has been moved to `GameManager` and now opens the main menu for both players (creator and joiner) upon starting the game. - Both players' inventories are automatically closed once the result is displayed. - The `JOIN_GAME` action in `GuiListener` did not call `startGame` after joining the game — fixed. ### Cleaning parts on disconnection - `PlayerListener` only handled the `PlayerJoinEvent` event, without any processing on disconnection. - Added a `PlayerQuitEvent` handler which: - Removes the player from GUI tracking (`GuiTracker`) - Removes any pending challenges linked to the player - Cancels the player's game if it is still in `WAITING` state (games already `RUNNING` resolve normally)
release

CoinFlips 6.0.0

6.0.0
22 мая 2026 г.12Minecraft: 1.16.5, 1.17, 1.17.1, 1.18, 1.18.1, 1.18.2, 1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2paper, purpur, spigot
Скачать
Что нового
✨ New features Added animation menu Added several new internal features Added database support: H2 SQLite MySQL 🔧 Changes & refactoring Updated system messages Moved GUIs from config.yml to guis.yml Global configuration refactor: config.yml guis.yml lang.yml Improved update system (beta version) 🐛 Fixes Removed /cf about command Fixed Discord webhook issues General improvements and stabilization of Discord webhook system ⚡ Improvements Various performance and internal optimizations Overall system stability improvements
release

CoinFlips 5.4.0

5.4.0
22 мая 2026 г.16Minecraft: 1.16.5, 1.17, 1.17.1, 1.18, 1.18.1, 1.18.2, 1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2paper, purpur, spigot
Скачать
Что нового
Fix missing message and minor fix
alpha

CoinFlips 5.4.0

5.4.0
21 мая 2026 г.22Minecraft: 1.16.5, 1.17, 1.17.1, 1.18, 1.18.1, 1.18.2, 1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2paper, purpur, spigot
Скачать
Что нового
v5.4.0 — Private Matches & Direct Challenges ✨ What's new 🔒 Private games (`/cf private <amount> <password>`) - New command `/coinflip private <amount> <password>` to create a password-protected game. - Private games do not appear in the public join GUI menu — they are invisible to other players. - To join a private game, the player must use `/cf join <id>` and enter the correct password. - If the password is incorrect, an error message is sent (`game.join.wrong-password`). - The password is displayed to the creator in the confirmation message. ⚔️ Direct challenges (`/cf challenge <player> <amount>`) - New command `/coinflip challenge <player> <amount>` to challenge a player online directly. - The stake is **immediately withdrawn** from the challenger when the challenge is sent. - The targeted player receives an in-game notification with the commands `/cf accept` and `/cf decline`. - Response timeout configurable via `game.challenge-timeout-seconds` in `config.yml` (default: 60 seconds). - If the deadline expires → automatic reimbursement of the challenger, notification to both players. - If the targeted player disconnects → automatic refund from the challenger. - If the targeted player does not have enough money to accept → challenger refund. - A challenger can only send one challenge at a time. - A player can only receive one challenge at a time. - Challenge matches are **invisible** in the public GUI (like private matches). 🆕 New orders | Order | Description | |---|---| | `/cf private <amount> <password>` | Creates a private protected part | | `/cf challenge <player> <amount>` | Challenge a player directly | | `/cf accepted` | Accept a challenge received | | `/cf decline` | Refuse a challenge received | 📝 Config files updated **`config.yml`** ```yaml game: challenge-timeout-seconds: 60 # new ``` **`messages.yml`** — new keys added: - `game.create.private-success` - `game.join.wrong-password` - `game.join.not-invited` - `challenge.sent` - `challenge.received` - `challenge. declined-challenger` - `challenge.declined-target` - `challenge.expired-challenger` - `challenge.expired-target` - `challenge.target-offline` - `challenge.target-not-found` - `challenge.target-busy` - `challenge.target-no-money` - `challenge.cannot-challenge-self` - `challenge.already-sent` - `challenge.no-pending`