Connect Four 1v1 GUI Minigame [1.8.8 - 1.21.10] icon

Connect Four 1v1 GUI Minigame [1.8.8 - 1.21.10] -----

Connect Four GUI minigame, including sounds, falling animation, configuration etc..



ConnectFour GUI 1vs1 Minigame

Minecraft GUI minigame
Supports any bukkit platform from 1.8 up to 1.21.10

SHOWCASE

Features:
  • GUI
  • Bets
  • Leaderboard
  • Player stats
  • Configurable rewards
  • Placeholders
  • Hex colors
  • Configurable messages
Commands:

/connectfour - Shows a help menu
/cf invite <player> [bet]
/cf bet <player> <bet>
/cf accept <player>
/cf reject <player>
/cf stats [player]
/cf leaderboard
/cf reload

Placeholders:


%connectfour_wins%
%connectfour_losses%
%connectfour_draws%
%connectfour_played%
%connectfour_winrate%
%connectfour_leaderboard_<position>% - Returns player name at given position
%connectfour_leaderboard_<position>_wins% - Returns wins at given position
%connectfour_leaderboard_<position>_played% - Returns played games at given position



Configuration

Code (YAML):
# Prefix for chat messages by this plugin
prefix
: "&7[&6ConnectFour&7] &r"

lang
: "en"

# Should the plugin check for updates?
updateCheck
: true

hooks
:
    # Should the plugin hook into PlaceholderAPI?
    # If set to true, and PlaceholderAPI is not installed, the plugin will still work
    placeholderAPI
: true

    # Should the plugin hook into Vault for economy support?
    # If set to false, betting feature will be disabled
    vault
: true

# Send bstats metrics
metrics
: true

# Can player escape by pressing ESC key single time? true = have to press ESC key 2 times
doubleEscape
: true

# How max should we wait for opponent to make his move (in seconds)
# 0 = disabled
moveTimeout
: 120


# Timeout in seconds for invites
# Invite will expire in x seconds
inviteTimeout
: 60

# Should the plugin use the token fall animation?
# If set to false, the token will be placed instantly
tokenFallAnimation
: true

# Token falling speed in milliseconds
# The lower the value, the faster the token will fall
tokenFallSpeed
: 100 # ms per row

# Should the player who is inviting always start first?
inviterStarts
: false

# Winning rewards:
winRewards
:
    enabled
: false
    commands
:
       - "eco give %player% 1000"
        - "give %player% diamond 1"

bets
:
    min
: 0
    max
: 1000000
 

Locale

Code (YAML):


# {prefix} will be replaced with prefix defined in config.yml

only_player
: "{prefix}&cYou must be a player to use this command!"
wrong_usage
: "{prefix}&cWrong usage! &8(&7{usage}&8)"
config_reload
: "{prefix}&aConfig reloaded!"
no_stats_found_player
: "{prefix}&cNo stats found for this player!"
no_leaderboard_entries
: "{prefix}&cNo stats found!"
invite_self_err
: "{prefix}&cYou can't invite yourself!"
player_already_playing
: "{prefix}&cThis player is already playing a game!"
self_already_playing
: "{prefix}&cYou are already playing a game!"
someone_already_invited
: "{prefix}&cYou already invited someone!"
player_already_invited
: "{prefix}&cYou already invited this player!"
self_accept_err
: "{prefix}&cYou can't accept your self!"
self_reject_err
: "{prefix}&cYou can't reject your self!"
no_invites_from_player
: "{prefix}&cYou don't have any invites from this player!"
no_invites
: "{prefix}&cYou don't have any invites!"
invite_sent
: "{prefix}&aInvite sent to &e&l{player}"
invite_expired
: "{prefix}&cThe invitation has expired!"
invite_err
: "{prefix}&cAn error occurred while sending the invitation"
invite_accept_other
: "{prefix}&e{player} &ahas accepted the invitation"
invite_accept_self
: "{prefix}&aYou have accepted the invitation!"
invite_reject_other
: "{prefix}&e{player} &chas rejected the invitation!"
invite_reject_self
: "{prefix}&cYou have rejected the invitation!"
move_timeout
: "{prefix}&cPlayer &e{player} &ctook so long to make his move!"
esp_confirm
: "{prefix}&fPress escape key one more time to exit the game!"

not_enough_money
: "{prefix}&cYou don't have enough money to start the game!"
invite_accept_no_money_target
: "{prefix}&c{player} doesn't have enough money to start the game!"
invite_accept_bet_withdraw
: "{prefix}&a{bet}$ &fhas been withdrawn from your balance for the bet!"

game_refund_other_cancel
: "{prefix}&fThe opponent has cancelled the game. You got the pot of &a{pot}$&f!"
game_refund_cancel
: "{prefix}&fGame has been cancelled. &a{bet}$ &fhas been refunded to your balance!"
game_lost_due_cancel
: "{prefix}&cYou lost your &a{bet}$ &cbet because you cancelled the game!"

won_bet
: "{prefix}&fYou won the bet! You received &a{pot}$ &ffrom the pot!"
draw_pot
: "{prefix}&fThe game ended in a draw! You received &a{bet}$ &ffrom the pot!"
lost_bet
: "{prefix}&cYou lost the bet! You lost your &a{bet}$ &c!"

max_bet
: "{prefix}&cYou can't bet more than &a{max}$&c!"
min_bet
: "{prefix}&cYou can't bet less than &a{min}$&c!"

# When one of the player exit out of game GUI
game_closed
: "{prefix}&cGame has been closed"

leaderboard
:

    # If you dont want to use header or footer, simply remove them
    header
: "&a&m-+-----------------&r&a[&bConnectFour&a]&a&m-----------------+-"
    footer
: "&a&m-+----------------------------------------------+-"

    # Keep in mind that this array have to be sorted
    symbols
: [ "?", "?", "?", "?", "?", "?", "?", "?", "?", "?" ]

    # How many players should be showed up
    # MAX = 10
    # MIN = 1
    entries
: 10

    entry
: "     &e{symbol} &7{player} &f- &9{wins} wins  &7(&fWinRate: {winrate}&7)"

gui
:
    title
: "&6&lConnectFour"

    yellow
: "&eYellow"
    red
: "&cRed"
    draw
: "&6&lDRAW"
    win
: "&a&lWIN"
    winner
: "&e&lWINNER"

    border_item_lore
:
       - " "
        - "&7&l| &fOn move
: &9{player}"

    # Player heads in the GUI
    skull
:
        name
: "&9{player}"
        lore
:
           - " "
            - "&7&l| &7Color
: {color } "

   
    pot:
       name: "
&6&lPot : &a{pot}$"      
       lore
:
          - " "
           - "&7&l| &fEach player bet
: &a{bet}$"

invite
:
    # Modify this if you are running CraftBukkit platform
    bukkit_invite
: "&aYou have been invited to a game by &e{player}&7. Type &a/cf accept {player} &7to accept or &c/cf reject {player} &7to reject"

    # If you dont want to use header or footer, simply remove them
    header
: "&a&m-+-----------------&r&a[&bConnectFour&a]&a&m-----------------+-"
    footer
: "&a&m-+----------------------------------------------+-"

    # Text that will be between header and clickable buttons. (second line)
    text
: "&fYou have been invited to a game by &e&l{player}"

    # Clickable buttons
    accept
:
        text
: "&7[&aACCEPT&7]"
        hover
: "&aClick to accept"

    reject
:
        text
: "&7[&cREJECT&7]"
        hover
: "&cClick to reject"

    # This text below will be centered between the header and footer
    buttons
: "{button1}    {button2}"

help
:

    # If you dont want to use header or footer, simply remove them
    header
: "&a&m-+-----------------&r&a[&bConnectFour&a]&a&m-----------------+-"
    footer
: "&a&m-+----------------------------------------------+-"

    entry
: " &9&l➢ &7{command} &8- &f{description}"

    descriptions
:
        stats
: "View stats"
        leaderboard
: "View leaderboard"
        invite
: "Invite a player"
        accept
: "Accept an invite"
        reject
: "Reject an invite"
        reload
: "Reload the config"

stats
:

    # Should be all text centered if executor is player?
    centered
: true

    # If you dont want to use header or footer, simply remove them
    header
: "&a&m-+-----------------&r&a[&bConnectFour&a]&a&m-----------------+-"
    footer
: "&a&m-+----------------------------------------------+-"

    text
: "&e&l{player} &fstatistics"

    list
:
        - " &e&l➢ &7Wins
: &9{wins} &e&l⮘ "
        - "
&e&l➢ &7Losses : &9{losses} &e&l⮘ "
        - "
&e&l➢ &7Draws : &9{draws} &e&l⮘ "
        - "
&e&l➢ &7Win rate : &9{winrate}% &e&l⮘ "
        - "
&e&l➢ &7Games played : &9{gamesPlayed} &e&l⮘ "
       #- "
&e&l➢ &7Total bet : &a{betsTotal}$ &e&l⮘ "
       #- "
&e&l➢ &7Bets win rate : &9{betRate}% &e&l⮘ "
       #- "
&e&l➢ &7Won from bets : &a{betsWon}$ &e&l⮘ "
       #- "
&e&l➢ &7Lost from bets : &c{betsLost}$ &e&l⮘ "

Resource Information
Author:
----------
Total Downloads: 409
First Release: Jul 7, 2024
Last Update: Dec 2, 2025
Category: ---------------
All-Time Rating:
4 ratings
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings