ConnectFour GUI 1vs1 Minigame
Minecraft GUI minigame
Supports any bukkit platform from 1.8 up to 26.2
SHOWCASE
Features:
Minecraft GUI minigame
Supports any bukkit platform from 1.8 up to 26.2
SHOWCASE
- GUI
- Bets
- Leaderboard
- Player stats
- Configurable rewards
- Placeholders
- Hex colors
- Configurable messages
/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
Spoiler: Default 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
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
Spoiler: messages-en.yml
# {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⮘ "
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⮘ "
Quick facts
- Edition: Minecraft Java
- File type: .jar
- Minecraft versions listed: 1.8, 1.10, 1.11
- How to install: Install the matching mod loader (Forge, Fabric or NeoForge) for your Minecraft version. → Download the .jar. → Put it in the .minecraft/mods folder and launch that loader profile.
- Where to get it: Opens on Spigot — not every file is mirrored on our own servers.
Install steps are the general flow for this file type — How to install Minecraft Java mods & modpacks walks through it step by step.
Connect Four 1v1 GUI Minigame [1.8.8 - 26.2] is a free Minecraft Java mod. Compatible with Minecraft 1.8, 1.10, 1.11, 1.12 and newer. Downloaded 553 times (via Spigot). Download it and open it directly in the game.