CoinFlips
6.1.4⚠️ 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 i
6.1.4latestCoinFlips 6.1.44 weeks ago 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.6.1.3CoinFlips 6.1.3Jun 16, 2026 Add bstats Fix Minor6.1.2CoinFlips 6.1.2May 23, 2026 Minor fixes
Refactored UpdateChecker +
- Modrinth URL was hardcoded and incorrect. It now uses the correct endpoint/cf updatecommand/v2/project/{id}/version?limit=1. - Modrinth ID is configurable inconfig.ymlunderupdate-notifier.modrinth-id. - Addednotify-console: truein `config. yml` to monitor console logs. - The HTTP connection uses its ownUser-Agentand timeouts (5s connect / 5s read). - New command/cf update(permissioncoinflips.update): launches a manual check and sends the result to the player. - 4 new messages inmessages.yml:update-notifier.checking,available,up-to-date,check-failed. -coinflips.updatepermission added inplugin.ymland included incoinflips.admin.6.1.1CoinFlips 6.1.1May 23, 2026 #CoinFlips — 6.1.1Minor fixes
Head did not change in the animation menu
-updateAnimationFramechanged the inventory on the server side but the client never received the update. - Addedplayer.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 abet <= 0check inGuiListener(CREATE_GAME),CoinFlipCommand(create, private). - New messagecommands.invalid-betadded inmessages.yml.Double debit of the loser
-finishGamestill withdrew the loser's stake even though it was already debited at the join. - RemovedEconomyUtils.withdraw(loser)infinishGame— only the winner receives the pot.Formatting amounts according to
- All amounts displayed in messages and GUIs used `String. valueOf((long) amount)` without any formatting. - Redesignednumber-formatting.modeMessageUtils.formatNumberwith 3 modes: - Mode 0: comma separator —1,000,000(pattern configurable viaformatted) - 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 fromconfig.yml` and formats the amount. - All%amount%inGameManager,GuiListener,CoinFlipCommandandGuiManagernow go throughformatAmount.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 inFileManagerviaaddMissingKeys()andcopyMissing(). --- #CoinFlips — 6.1.0Major 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 classicBukkitScheduler. - On Folia → delegates toAsyncScheduler(async tasks) andGlobalRegionScheduler(sync tasks). -GameManager: rotating animation and game cleaning useSchedulerUtils.runTimer/runLater. TypeBukkitTaskreplaced byObjectto be agnostic. -DiscordWebhook: sending webhook viaSchedulerUtils.runAsync. -UpdateChecker: update check viaSchedulerUtils.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. - AddedupdateAnimationFrame(Player, String)inGuiManagerto change the header in real time in the open inventory. -openAnimationMenunow acceptscreatorNameandopponentNameas parameters.Checking balance before creating/joining
- A player without enough money could create or join a game without their balance being verified. - AddedEconomyUtils.hasBalance()check inGuiListener(CREATE_GAME, JOIN_GAME) andCoinFlipCommand(create, join, private). - The balance is now debited at creation of the game (creator) and at join (opponent). -finishGameonly credits the winner the full amount (stake × multiplier) — no more double debit. -/cf cancelcorrectly reimburses the creator since the stake is already debited. - New messagecommands.not-enough-moneyadded inmessages.yml. ---CoinFlips — 6.0.2
Minor fixes
Animation menu opened when joining a coinflip
- When a player joins a game,startGameopened the main menu (openMainMenu) instead of the animation menu. - Added theopenAnimationMenu(Player)method inGuiManagerwhich opens theanimationGUI defined inguis.ymlwith the%player%placeholder. -GameManager.startGame()now usesopenAnimationMenu+ `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
- ThestartGamelogic did not open any GUI for players, it just sent messages in the chat after a delay . - ThestartGamemethod has been moved toGameManagerand 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. - TheJOIN_GAMEaction inGuiListenerdid not callstartGameafter joining the game — fixed.Cleaning parts on disconnection
-PlayerListeneronly handled thePlayerJoinEventevent, without any processing on disconnection. - Added aPlayerQuitEventhandler 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 inWAITINGstate (games alreadyRUNNINGresolve normally)6.1.0CoinFlips 6.1.0May 23, 2026 Major additions & fixes
Folia Compatibility
- Newutils/SchedulerUtils.javafile: 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 classicBukkitScheduler. - On Folia → delegates toAsyncScheduler(async tasks) andGlobalRegionScheduler(sync tasks). -GameManager: rotating animation and game cleaning useSchedulerUtils.runTimer/runLater. TypeBukkitTaskreplaced byObjectto be agnostic. -DiscordWebhook: sending webhook viaSchedulerUtils.runAsync. -UpdateChecker: update check viaSchedulerUtils.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. - AddedupdateAnimationFrame(Player, String)inGuiManagerto change the header in real time in the open inventory. -openAnimationMenunow acceptscreatorNameandopponentNameas parameters.Checking balance before creating/joining
- A player without enough money could create or join a game without their balance being verified. - AddedEconomyUtils.hasBalance()check inGuiListener(CREATE_GAME, JOIN_GAME) andCoinFlipCommand(create, join, private). - The balance is now debited at creation of the game (creator) and at join (opponent). -finishGameonly credits the winner the full amount (stake × multiplier) — no more double debit. -/cf cancelcorrectly reimburses the creator since the stake is already debited. - New message `commands.not-enough- moneyadded inmessages.yml`.6.0.2CoinFlips 6.0.2May 23, 2026 Fixes
Animation menu opened when joining a coinflip
- When a player joined a game,startGameopened the main menu (openMainMenu) instead of the animation menu. - Added theopenAnimationMenu(Player)method inGuiManagerwhich opens theanimationGUI defined inguis.ymlwith the%player%placeholder . -GameManager.startGame()now usesopenAnimationMenu+GuiType.ANIMATIONfor both players (creator and opponent) from the start of the game.6.0.1CoinFlips 6.0.1May 23, 2026 CoinFlips — 6.0.1
Fixes
GUI does not open when accepting a coinflip
- ThestartGamelogic did not open any GUI for players, it just sent messages in the chat after a delay. - ThestartGamemethod has been moved toGameManagerand 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. - TheJOIN_GAMEaction inGuiListenerdid not callstartGameafter joining the game — fixed.Cleaning parts on disconnection
-PlayerListeneronly handled thePlayerJoinEventevent, without any processing on disconnection. - Added aPlayerQuitEventhandler 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 inWAITINGstate (games alreadyRUNNINGresolve normally)6.0.0CoinFlips 6.0.0May 22, 2026 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
5.4.0CoinFlips 5.4.0May 22, 2026 Fix missing message and minor fix5.3.1CoinFlips 5.3.1Mar 26, 2026
- Fix NullPointerException error on loading: Fixed an issue where the plugin failed to correctly initialize the economic system when Vault was missing or misconfigured. The plugin now checks for the presence of Vault before attempting to obtain service economy. - Fixed language message: The plugin now correctly loads the default English language instead of Spanish.Bug fixes
- New update option: Added check-update-delay parameter in config.yml to configure the update check interval (in minutes). Default value: 1440 (24h). - Set to 0 to disable verification completely.Setup
- Default language changed: Configuration files and messages are now in English by default for better international compatibility. - Multilingual support remains available via the language setting in the configuration. -Translations
Technical improvements - Added a Vault dependency check before economy initialization - Improved error handling to avoid crashes at startup - Reduction of unnecessary logs regarding update search
- Before updating, make sure that: - Vault is installed on your server - You have a compatible economical plugin (EssentialsX, CMI, etc.) - Back up your old config.yml file if you have custom changesPatch note
Installation - Download CoinFlip v5.3.1 - Replace the old JAR file in the plugins/ folder - Restart your server - Check that the plugin loads without errors
5.3.0CoinFlips 5.3.0Mar 25, 2026 New Configuration & Message Redone! We have completely redesigned our configuration and our message for a more fluid and intuitive experience. Here are the improvements made: Optimized code: Increased performance, better readability and simplified maintenance. Multilingual support: Messages available in French and English for maximum accessibility. Next step: Added a color gradient animation for an even more dynamic interface. Need help with Discord webhooks? If you encounter any bugs or have any questions, Join our Discord server to get fast, personalized support!5.2.0CoinFlips 5.2.0Feb 4, 2026 CoinFlip – Patchnote
Fixes Fix poorly supported messages Fixed language loading system The language defined in the configuration is now correctly applied Fixed missing messages when reloading
Improvements Improved support for language files Automatic loading of all available languages New messages added in updates are automatically added to existing files Better management of fallback to the default language
5.1.0CoinFlips 5.1.0Jan 29, 2026 Improvements & New Features Added an update notification system based on the Modrinth API New /coinflip about command showing server and plugin information Automatic detection of Vault, LuckPerms and PlaceholderAPI Added warning system for development builds New configuration section dedicated to update notifications Added coinflip.about permission
For any problem or suggestion, you can join our Discord.
5.0.0CoinFlip 5.0.0Jan 28, 2026 Code Refactor & New Features CoinFlip has undergone a complete code refactor, providing a cleaner, more optimized, and more stable foundation. This improvement ensures better performance, easier maintenance, and enhanced compatibility with recent server versions.
What’s New Overall performance optimizations. Improved GUI smoothness and responsiveness. More accurate statistics and leaderboard system. New configuration options for deeper customization. Improved integration with PlaceholderAPI and Vault. Laying the groundwork for upcoming future features. This refactor marks a new milestone for CoinFlip, delivering a stronger, more scalable, and future-proof plugin.
4.1.0CoinFlip 4.1.0Jan 19, 2026
Similar projects
Plugin →Let Me Despawn
Improves performance by tweaking mob despawn rules. Say bye to pesky unintentional persistent mobs.
25MSueta
JourneyMap
Real-time map used for mapping in-game or your browser as you explore.
14.7MSueta
Emotecraft
Create your own emotes in Minecraft.
7.5MSueta
Simple Tpa
A simple tpa plugin which sends requests
5.4MSueta
Common Network
Forge and Fabric Unified Networking Solution
3.9MSueta
Set Home
A lightweight plugin for players to set their homes.
3.8MSueta