Home›Java›Mods›[1.16-1.26.x] ChatGamesPlus ❖ 7 Game Types · Configurable Rewards · Leaderboards [FREE]
[1.16-1.26.x] ChatGamesPlus ❖ 7 Game Types · Configurable Rewards · Leaderboards [FREE]
ModsJava

[1.16-1.26.x] ChatGamesPlus ❖ 7 Game Types · Configurable Rewards · Leaderboards [FREE]

Java mod listed for Minecraft 1.16–26.x. Downloads from the MC Java Mods app on Android.

⬇ Download on Spigot
CHATGAMES+
Automatic chat mini-games — free

Spigot / Paper • Minecraft 1.16 - 1.21+ • No mandatory dependencies • Java 8+

★ 100% FREE ★

❖ DISCORD ❖ ❖ WIKI ❖

✔ Seven game types ✔ Every reward & message configurable ✔ Config error system ✔ Actively maintained​

▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰ ❖ ▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰​

Seven game types
Unscramble, type-it, math, trivia, first-to-type, letter reveal and cipher decode

Rewards you actually control
Items, commands, money, XP, titles — a different reward per game type, fully configurable

⚖ Fair by default
Answers before the start don't count, a winner cooldown, and no winning twice in a row​

▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰ ❖ ▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰​

Most chat-game plugins are old, ship two game types with hard-coded English text, and have no way to stop one fast typer from sweeping every round.
ChatGamesPlus was built from scratch to be fast, fully configurable and fair — and it's completely free.
It's part of the Plus Series, so its rewards can hand out CratesPlus keys, VoucherPlus vouchers, BattlePassPlus XP and RewardsPlus bonuses — all optional.
​

▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰ ❖ ▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰

❖ SHOWCASE ❖​

A game in chat
Screenshot 2026-09-03 234841.png
Screenshot 2026-09-03 234848.png

Leaderboard GUI
Screenshot 2026-09-03 234924.png

Your Stats
Screenshot 2026-09-03 234907.png

One round, start to finish
​
  1. The timer fires and there are enough players online, so a round starts: "Unscramble: nedrag" drops in chat.
  2. A few seconds later a hint appears — the word length.
  3. A player types garden first — a win broadcast fires with their name and time, and their reward is paid: some money, a bit of XP, and a &#FF9E3DWeekly Crate Key&#8a8a8a.
  4. Their win is counted on the daily / weekly / monthly / all-time leaderboard, and they can't win the next round.
▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰ ❖ ▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰

❖ GAME TYPES ❖
Each one is toggled on its own, with its own weight, time limit, hints and reward​
Word, sentence and trivia pools live in pools/<lang>/ — swap or extend them freely. Ships with English and German.​

▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰ ❖ ▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰

❖ FEATURES ❖​
▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰ ❖ ▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰

❖ FAIRNESS ❖​
▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰ ❖ ▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰

❖ CONFIG ERROR SYSTEM ❖
ChatGamesPlus tells you exactly what's wrong with your configs — and remembers it​
▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰ ❖ ▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰

❖ COMMANDS ❖
/chatgames · alias /cg​
Every node is set in config.yml → permissions. "chatgamesplus.admin" is the parent for the admin commands; player commands are open by default. "chatgamesplus.play" (default true) — remove it to stop someone winning.​

▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰ ❖ ▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰

❖ PLACEHOLDERS ❖
Spoiler: Click to expand
Code (YAML):
%chatgamesplus_wins%                total wins
%chatgamesplus_wins_<period>%       day | week | month
%chatgamesplus_streak%              current win streak
%chatgamesplus_streak_best%
%chatgamesplus_rank_<period>%       your leaderboard rank
%chatgamesplus_active%              true if a round is running
%chatgamesplus_active_type%         the running game type
%chatgamesplus_time_left%           seconds left in the round
%chatgamesplus_next_game%           time until the next round
%chatgamesplus_last_winner%         name of the last winner
%chatgamesplus_top_name_<period>_<n>%
%chatgamesplus_top_wins_<period>_<n>%

<period> = daily | weekly | monthly | alltime

❖ QUICK START ❖​
  1. Drop ChatGamesPlus into /plugins and restart.
  2. It just works — rounds start automatically once min-players are online.
  3. Edit the rewards and messages in games.yml and lang/, then /chatgames reload.
❖ CONFIG FILES ❖​

Spoiler: config.yml
Code (YAML):
language : en             # also selects the pools/<language>/ folder
prefix
: "&#FF9E3D&lChatGames&f&l+ &8» &7"
timezone
: ""
daily-reset
: "00:00"     # when the daily / weekly / monthly win counters roll over
time-format
: { show-seconds : true }
number-format
: DEFAULT
auto-update-files
: true
metrics
: true
update-check
: true

# --- game loop ---
interval-seconds
: 300         # seconds between games (only when none is running)
min-players
: 2               # a game only auto-starts with at least this many online
no-repeat-type
: true
winner-cooldown-seconds
: 0   # 0 = off
no-win-twice-in-a-row
: false
disabled-worlds
: [ ]
hide-correct-answer
: false   # true -> cancel the winning chat message so the answer stays hidden
consolation-window-seconds
: 10   # places 2-3 within this many seconds get "consolation" (0 = off)

# --- branding footer under the game broadcast: OFF | START | WIN ---
brand-footer-mode
: WIN
brand-footer
: "&8» &7part of the &#FF9E3DPlus Series &8- &7chat games, crates, battle pass & more"

storage
:
  type
: YAML                 # YAML | SQLITE | MYSQL
  autosave-minutes
: 5
  table-prefix
: "chatgamesplus_"
  mysql
: { host : localhost, port : 3306, database : chatgamesplus, username : root, password : "", use-ssl : false }

network
:
  mode
: LOCAL                 # LOCAL | PLUGIN_MESSAGE | REDIS
  server-name
: ""
  broadcast-all-servers
: false
  redis
: { host : localhost, port : 6379, password : "", channel : chatgamesplus }

holograms
:
  enabled
: true
  update-interval-ticks
: 200
  animated
: false
  frame-interval-ticks
: 20
  top
:
    header
:
     - "<gradient:#FFC97A:#C96A15>▰▰▰ TOP WINNERS ▰▰▰</gradient>"
      - "&#5A3210&m                        "
    line
: "&#FF9E3D&l#<rank> &f<player> &8» &#FFC97A<value>"

leaderboard
: { size : 10 }
recent-winners
: { size : 10 }

discord
:
  enabled
: false
  announce-start
: false
  announce-win
: true
  start-message
: "A new **<game>** chat game just started: <task>"
  win-message
: "**<player>** won the **<game>** game! (answer: `<answer>`)"
  webhook-url
: ""           # blank -> DiscordSRV
  username
: ChatGamesPlus
  avatar-url
: ""
  embed
: true
  embed-color
: "FF9E3D"
  discordsrv-channel
: global

permissions
:
  admin
: chatgamesplus.admin
  top
: ""
  stats
: ""
  start
: chatgamesplus.admin
  stop
: chatgamesplus.admin
  next
: chatgamesplus.admin
  reward
: chatgamesplus.admin
  hologram
: chatgamesplus.admin
  reload
: chatgamesplus.admin
  errors
: chatgamesplus.admin
  permissions
: chatgamesplus.admin
  dependency
: chatgamesplus.admin
# chatgamesplus.play (default true) is a plugin.yml node - a player
# without it cannot win a game.

Spoiler: games.yml
Code (YAML):
# Per type: enabled / weight / time-limit-seconds / hint-seconds /
# case-sensitive (type) / math-range (math) / reward / consolation
# Reward bundle keys (all optional): name / money / xp / items / commands /
# messages / broadcast / permissions / title / sound / crate-keys / vouchers /
# battlepass-xp / rewardsplus     placeholders: <player> <answer> <game> <time> <streak>

games
:

  unscramble
:
    enabled
: true
    weight
: 20
    time-limit-seconds
: 45
    hint-seconds
: 15
    reward
:
      name
: "Unscramble win"
      money
: 50
      xp
: 10
      messages
: [ "<prefix>&aYou unscrambled it in <time>&a!" ]
      sound
: { enabled : true, sound : ENTITY_PLAYER_LEVELUP, volume : 0.7, pitch : 1.4 }

  type
:
    enabled
: true
    weight
: 18
    time-limit-seconds
: 40
    hint-seconds
: 0
    case-sensitive
: true
    reward
: { name : "Type win", money : 40, xp : 8, messages : [ "<prefix>&aFast fingers! +<streak> win streak." ] }

  math
:
    enabled
: true
    weight
: 18
    time-limit-seconds
: 40
    hint-seconds
: 20
    math-range
: { min : 1, max : 50, allow-multiply : true }
    reward
: { name : "Math win", money : 50, xp : 10 }

  trivia
:
    enabled
: true
    weight
: 16
    time-limit-seconds
: 50
    hint-seconds
: 15
    reward
:
      name
: "Trivia win"
      money
: 75
      xp
: 15
      # crate-keys: [ "weekly:1" ]   # needs CratesPlus
    consolation
: { name : "Trivia consolation", money : 20, xp : 4 }

  first
:
    enabled
: true
    weight
: 12
    time-limit-seconds
: 20
    hint-seconds
: 0
    reward
: { name : "First win", money : 35, xp : 6 }

  reveal
:
    enabled
: true
    weight
: 10
    time-limit-seconds
: 60
    hint-seconds
: 8
    reward
:
      name
: "Reveal win"
      money
: 80
      xp
: 16
      # vouchers: [ "starter:1" ]  # needs VoucherPlus

  decode
:
    enabled
: true
    weight
: 8
    time-limit-seconds
: 70
    hint-seconds
: 20
    reward
:
      name
: "Decode win"
      money
: 100
      xp
: 20
      # crate-keys:    [ "weekly:1" ]        # needs CratesPlus
      # battlepass-xp: [ "season1:100" ]     # needs BattlePassPlus
      # rewardsplus:   [ "chatgame-bonus" ]  # needs RewardsPlus
    consolation
: { name : "Decode consolation", money : 30, xp : 6 }

▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰ ❖ ▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰

❖ PART OF THE PLUS SERIES ❖
​
▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰ ❖ ▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰

Free forever. Drop it in and go.
Questions or ideas? The Discord is open.

❖ DISCORD ❖ ❖ WIKI ❖

Free to use on any server. Please don't reupload it — link this page instead.​

Commands

Plugin details

Read from the plugin's own plugin.yml.

Quick facts

Install steps are the general flow for this file type — How to install Minecraft Java mods & modpacks walks through it step by step.

[1.16-1.26.x] ChatGamesPlus ❖ 7 Game Types · Configurable Rewards · Leaderboards [FREE] is a free Minecraft Java mod. Compatible with Minecraft 1.16, 1.17, 1.18, 1.19 and newer. Downloaded 36 times (via Spigot). Download it and open it directly in the game.

Explore more