Purchase Notice Join mysupport discordfor help with this plugin. Thank you!
ready to step up your server's chat engagement? kix's chat games a fun plugin that offers 9 fast paced chat minigames to engage your servers chat, ready out of the box with zero setup needed, or customize to your hearts content - from rewards, sounds, messages, etc.
each aspect of the plugin has been designed with heavy attention to aesthetics that influence the player's experiences and the overall appeal of the games. whether it's how messages appear, the sounds and their pitches, etc. this plugin provides lovely and engaging experiences for you and your players that won't get old.
the games are currently up to date for MC 1.21.4 and will continue to be updated with new MC releases!
Unscramble The first person to unscramble a randomly shuffled word or words from the plugins game library wins! Comes with a default game library of over 1,450 entries (last updated for: 1.21.4!), including block names, mob names, MC structure names, and more.
Solve The first person to solve a randomly generated simple math equation wins. Includes addition, multiplication, subtraction, and division equations you can do in their head with a little thinking!
Type The first person to type a randomly picked wordor words from the plugins game library wins!
Type Random The first person to type a randomly generated sequence of characters wins; don't forget to match the capitalizations!
Trivia The first person to answer a random trivia question wins! Comes with a default trivia library of 63 custom written MC related questions, fully up to date with the latest Minecraft update (last updated for: 1.21!) but is fully customizable. Set up as many custom questions as your heart desires!
Fill In The first person to fill in the missing letters of the randomly blanked word(s) from the game library entry wins!
Word Unshuffle The first person to put the shuffled words of a random game library entry back in the right order wins! Eg. put "Blue Stained Light Pane Glass" in the right order; "Light Blue Stained Glass Pane"!
Reverse Word Unshuffle The first person to put the reversed & shuffled words of a random game library entry back in the right order wins! Eg. put "kraD sknalP kaO" in the right order; "Dark Oak Planks"!
Unreverse The first person to put the randomly picked reversed word(s) from the game library back in it's right order wins!
* Note: Incorrect answers from players will show up in chat as normal chat messages, however for demonstration purposes "Steve" always guesses correctly. Real games will look less crowded in chat.
v v
More Game Screenshots, examples, and info:
v v when someone guesses correctly, their name, the answer, and the time it took will be announced! (message is customizable)
after (default) 35 seconds, games will expire, and the answer will be revealed!
example active chat game messages not actually sent by notch
players will be notified when they type the right answer, but without the right character case (case sensitivity is configurable per game!)
admins can manually make a select game start at any time!
games are completely randomized (within limits so they aren't ridiculously hard), and will vary in difficulty, from super easy to challenging!
built in leaderboarding system for an extra level of competition
☑️ Ultra customizable
Customize rewards, game frequency, game length, messages, sounds, the random word library / scrambled word library, random character string lengths, math equation range / difficulty, and more.
☑️ Competitive
Comes with a leaderboard command and Placeholder API placeholders to see the players with the most wins
☑️ Non intrusive
Don't worry, everyone's chat remains fully functional while a game is happening. You can also give players the ability to toggle their preferences of seeing chat games or not with /kcg toggle!
☑️ Super efficient
Kix's Chat Games runs like a feather on your server with its professional and efficient logic.
☑️ Plug and play
The plugin is ready right out of the box, no need to spend time configuring things if you don't want to.
☑️ Event API
Developers can listen to chat game events and pull info to incorporate their own features relating to chat games, like rewards for completing X amount of games, quests, etc.
☑️ Production ready default configs
The default game library contains over 1,450 entries, including block names, mob names, MC structure names, and more. The default trivia library contains 63 custom written MC related questions, fully up to date with the latest Minecraft update (last updated for 1.21!) related to MC, including general questions, fill in the blanks, true and false, and more.
STEP 1 Purchase KixsChatGames from the top right of this page.
STEP 2 Add KixsChatGames-x.x.x.jar to your plugins folder.
STEP 3 Restart your server. Any config changes you decide to make later to the plugin can be updated instantly in-game, with /kcg reload
STEP 4 Make sure to give your players permission to participate in games: add "chatgames.see" to any players/groups you'd like to allow to play, and "chatgames.toggle" to any players/groups you'd like to be able to toggle their game visibility preference.
Don't have a permissions plugin? Don't worry, just set use-game-permissions: true to false in the plugins config, then type /kcg reload
chatgames.see: see and participate in chat games. Only required if use-game-permissions is true in the config. chatgames.toggle: allows players to toggle seeing chat games. Only required if use-game-permissions is true in the config. chatgames.reload: reload KixsChatGames with /kcg reload chatgames.admin: get notified when there is an update available for KCG chatgames.forcestart: force start the specified game type at any time chatgames.info: run /kcg info to see plugin information (game status, enabled games, & game and trivia library sizes)
# Should the plugin periodically check for new releases any notify operators when the plugin is outdated? check-for-updates: true
games:
# Unscramble a randomly scrambled entry from the game-library unscramble:
enabled: true
# Should answers need to be in exactly the same case as the question? case-sensitive: true
# Type a random entry from the game-library type:
enabled: true
# Should answers need to be in exactly the same case as the question? case-sensitive: true
# Solve a basic math equation (operators: +, *, -, /) solve:
enabled: true
# Below is the maximum any parts of math equations will be, the higher this number the harder equations will be to solve # (!) Ensure the range is evenly divisible or else division equations will not occur range: 84
# Range of multiplication equations multiplication-range: 15
# Type a series of random characters from the random-strings alphabet type-random:
enabled: true
# Should answers need to be in exactly the same case as the question? case-sensitive: true
# These are the characters that will be used when generating random strings alphabet: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"
# Minimum and maximum length for the randomly generated strings using the above alphabet min-length: 4
max-length: 12
# Answer a random trivia question from the plugins trivia-library trivia:
enabled: true
# Fill in (type only) the missing letters of a randomly blanked out game-library entry fill-in:
enabled: true
# Should answers need to be in exactly the same case as the question? case-sensitive: true
# Should the full word/phrase be accepted as an answer as well as the missing letters? accept-full-entry-as-answer: false
# Put the word(s) of a random game-library entry back in the right order word-unshuffle:
enabled: true
# Should answers need to be in exactly the same case as the question? case-sensitive: true
# Put the reversed & shuffled word(s) of a random game-library entry back in the right order reverse-word-unshuffle:
enabled: true
# Should answers need to be in exactly the same case as the question? case-sensitive: true
# Put the reversed game-library entry back in it's right order unreverse: # Enable this game? enabled: true
# Should answers need to be in exactly the same case as the question? case-sensitive: true
# Turn this to false if your server does not use a permissions plugin. # If true, players will need the permissions "chatgames.see" to see & participate in chat games, and "chatgames.toggle" to toggle seeing games. use-game-permissions: true
# At least how many players must be online in order for games to occur? minimum-required-players: 5
# Uses built-in processing to determine when players are AFK, and excludes them from counting in the minimum-required-players amount exclude-afk-players: true
# In minutes, how often should a chat game occur? # Must be longer than the game-lifetime duration # Set to -1 to disable (games will only occur if triggered by an admin with /kcg forcestart) game-interval: 8
# In seconds, how long should games last before they expire? # Must be less than the game-interval duration game-lifetime: 35
# The amount of top places shown in the leaderboard command leaderboard-rows: 8
# Sounds played by the plugin (pitches can range from 0.0 to 2.0) # IMPORTANT: This plugin uses version independent sound names to support MC 1.8 - 1.16+ # Most modern sound names WILL NOT WORK, use the link below instead! # Valid sound names can be found at this link: https://pastebin.com/raw/9NbGd6GF # Set any sound value to "none" to disable it. sounds:
win:
sound: "orb_pickup" pitch: 1.4
win-global:
sound: "villager_no" pitch: 1.8
game-start:
sound: "chicken_egg_pop" pitch: 2.0
nobody-won:
sound: "villager_no" pitch: 1.8
incorrect-case:
sound: "pig_walk" pitch: 2.0
# Prints real time information to the console to help diagnose issues debug: false
rewards.yml
Code (YAML):
# A random reward command set will be ran through the console each time a player wins # Use "{firework} to spawn a no-damage random firework at the winner # Set to "each-time: []" or "random-sets: []" to have no actions in those sections # -------------- # Placeholders: # -------------- # "%PLAYER%" - the winners username # "%PLAYER_DISPLAYNAME%" - the winners display name # -------------- # Actions: # -------------- # You can specify what type of action to execute by adding one of the below prefixes to command set entries: # "{player-msg}: message" - send a message to the winner. # "{console-cmd}: command" - run a command as the console (don't include a / at the start). # "{player-cmd}: command" - run a command as the winner (don't include a / at the start). # "{broadcast-all}: message" - broadcast a message to ALL players. # "{broadcast-safe}: message" - broadcast a message to all players who don't have chat games hidden or have permission to participate in games. rewards:
each-time: -
"{firework}" random-sets:
1:
- "{console-cmd}: minecraft:xp add
%PLAYER% 5" - "{player-msg}: &aYou won 5 xp!
" 2: - "{console-cmd
}: minecraft:xp add
%PLAYER% 8" - "{player-msg}: &aYou won 8 xp!
" 3: - "{console-cmd
}: minecraft:xp add
%PLAYER% 10" - "{player-msg}: &aYou won 10 xp!
" 4: - "{console-cmd
}: minecraft:xp add
%PLAYER% 13" - "{player-msg}: &aYou won 13 xp!
" 5: - "{console-cmd
}: minecraft:xp add
%PLAYER% 15" - "{player-msg}: &aYou won 15 xp!
" 6: - "{console-cmd
}: minecraft:xp add
%PLAYER% 25" - "{player-msg}: &aYou got lucky and won 25 xp!
" 7: - "{console-cmd
}: minecraft:xp add
%PLAYER% 35" - "{player-msg}: &aYou got &a&lextra &r&alucky and won 35 xp!
"
Other files:
lang.yml
Code (YAML):
# Core messages sent by the plugin can be modified here.
# All lang entries support colorcodes (&[colorcode]) and hex values with "&#hexvalue" if you're running MC 1.16 or above. Easily find hex values with Google's color picker tool: https://www.google.com/search?q=color+picker
# You can set ANY lang strings to "" to disable them. # To insert line breaks, you can use '{NL}' # To center a message, start it with '{CTR}' # To send a completely blank message, set it to '{BLANK}' messages: core: # Sent before/after each game start/end message. game-header: "{BLANK}" game-footer: "{BLANK}" toggled-off: "&7You will no longer see chat games." toggled-on: "&7You will now see chat games!" leaderboard:
header: "&m &m &m &m &m &m &m &m &m &m &m &m &m &m &m &m &m &m &m &m &m &m &m &m &m &m &m &m &m &m &m &m &m &m &m &m &m {NL} &d&lCHAT GAME LEADERBOARD{NL}" entry: " &b%PLACE%. &f%NAME%&7 &8&l- &6☆&e&l%WINS%" no-data: "&8?" totals: "{NL}&7You've won &6☆&e&l%WINS% &7{game|games}{NL}&7Server total: &6☆&e&l%SERVER_TOTAL_WINS% &7{win|wins}{NL}&m &m &m &m &m &m &m &m &m &m &m &m &m &m &m &m &m &m &m &m &m &m &m &m &m &m &m &m &m &m &m &m &m &m &m &m &m " win: "win" wins: "wins" game: "game" games: "games" game-start:
game-force-started: "{CTR}{NL}&7&oThe below game was started by &a&o%PLAYER_DISPLAYNAME%" # -------------- # Placeholders: # -------------- # %GAME_CONTENT%: the word(s)/random string/equation/etc. of the game unscramble: "{CTR}&f› &c&lC&6&lH&e&lA&a&lT &b&lG&d&lA&c&lM&6&lE &f‹{NL}{NL}{CTR}&7The first to &bunscramble &8'&f%GAME_CONTENT%&8' &7wins!" type: "{CTR}&f› &c&lC&6&lH&e&lA&a&lT &b&lG&d&lA&c&lM&6&lE &f‹{NL}{NL}{CTR}&7The first to &atype &8'&f%GAME_CONTENT%&8' &7wins!" solve: "{CTR}&f› &c&lC&6&lH&e&lA&a&lT &b&lG&d&lA&c&lM&6&lE &f‹{NL}{NL}{CTR}&7The first to &9solve &8'&f%GAME_CONTENT%&8' &7wins!" type-random: "{CTR}&f› &c&lC&6&lH&e&lA&a&lT &b&lG&d&lA&c&lM&6&lE &f‹{NL}{NL}{CTR}&7The first to &atype &8'&f%GAME_CONTENT%&8' &7wins!" trivia: "{CTR}&f› &c&lC&6&lH&e&lA&a&lT &b&lG&d&lA&c&lM&6&lE &f‹{NL}{NL}{CTR}%GAME_CONTENT%" fill-in: "{CTR}&f› &c&lC&6&lH&e&lA&a&lT &b&lG&d&lA&c&lM&6&lE &f‹{NL}{NL}{CTR}&7The first to &6fill in &8'&f%GAME_CONTENT%&8' &7wins!{NL}&7&o(make sure to only type the missing letters)" word-unshuffle: "{CTR}&f› &c&lC&6&lH&e&lA&a&lT &b&lG&d&lA&c&lM&6&lE &f‹{NL}{NL}{CTR}&7The first to &cunshuffle &8'&f%GAME_CONTENT%&8' &7back to the right order wins!" reverse-word-unshuffle: "{CTR}&f› &c&lC&6&lH&e&lA&a&lT &b&lG&d&lA&c&lM&6&lE &f‹{NL}{NL}{CTR}&7The first to &cunshuffle &7& &dunreverse &8'&f%GAME_CONTENT%&8' &7back to the right order wins!" unreverse: "{CTR}&f› &c&lC&6&lH&e&lA&a&lT &b&lG&d&lA&c&lM&6&lE &f‹{NL}{NL}{CTR}&7The first to &dunreverse &8'&f%GAME_CONTENT%&8' &7back to the right order wins!" game-end:
game-force-started-during-another-game: "{CTR}{NL}&cThe current game ended because another game was force started by an admin." # -------------- # Placeholders: # -------------- # %PLAYER%: the username of the winner of the game # %PLAYER_DISPLAYNAME%: the display name of the winner of the game # %TIME%: the amount of it took to win # %ANSWER%: the answer to the game # %GAME_CONTENT%: the word/random string/equation/etc. of the game # (fill-in only) %UNBLANKED_WORDS%: the unblanked out game-library entry winner:
unscramble: "{CTR}&d%PLAYER_DISPLAYNAME% &7unscrambled &8'&b%ANSWER%&8' &7in &d%TIME% &7seconds! &8(&6☆&e&l%WINS%&8)" type: "{CTR}&d%PLAYER_DISPLAYNAME% &7typed &8'&b%ANSWER%&8' &7in &d%TIME% &7seconds! &8(&6☆&e&l%WINS%&8)" solve: "{CTR}&d%PLAYER_DISPLAYNAME% &7solved &b%GAME_CONTENT% &8(&b%ANSWER%&8) &7in &d%TIME% &7seconds! &8(&6☆&e&l%WINS%&8)" type-random: "{CTR}&d%PLAYER_DISPLAYNAME% &7typed &8'&b%ANSWER%&8' &7in &d%TIME% &7seconds! &8(&6☆&e&l%WINS%&8)" trivia: "{CTR}&d%PLAYER_DISPLAYNAME% &7answered &8'&b%ANSWER%&8' &7in &d%TIME% &7seconds! &8(&6☆&e&l%WINS%&8)" fill-in: "{CTR}&d%PLAYER_DISPLAYNAME% &7filled in &8'&b%ANSWER%&8' &7to complete &8'&b%UNBLANKED_WORDS%&8' &7in &d%TIME% &7seconds! &8(&6☆&e&l%WINS%&8)" word-unshuffle: "{CTR}&d%PLAYER_DISPLAYNAME% &7put &8'&b%ANSWER%&8' &7back in the right order in &d%TIME% &7seconds! &8(&6☆&e&l%WINS%&8)" reverse-word-unshuffle: "{CTR}&d%PLAYER_DISPLAYNAME% &7unshuffled & unreversed &8'&b%ANSWER%&8' &7in &d%TIME% &7seconds! &8(&6☆&e&l%WINS%&8)" unreverse: "{CTR}&d%PLAYER_DISPLAYNAME% &7unreversed &8'&b%ANSWER%&8' &7in &d%TIME% &7seconds! &8(&6☆&e&l%WINS%&8)" wins: "{CTR}&7You've won &e&l%WINS% &7{game|games} &8(&7server total: &e&l%SERVER_TOTAL_WINS%&8){NL}" nobody-won: # -------------- # Placeholders: # -------------- # %TIME%: the amount of it took for the game to expire # %ANSWER%: the answer to the game # %GAME_CONTENT%: the word(s)/random string/equation/etc. of the game # (fill-in only) %UNBLANKED_WORDS%: the unblanked out game-library entry # Most games can use the generic reply and making sense, so you can use "{GENERIC}" to set any entries to mirror the text in generic: generic: "{CTR}&7Nobody got it in time; the answer was &8'&b%ANSWER%&8'&7!" unscramble: "{GENERIC}" type: "{CTR}&7Nobody got it in time; better luck next time!" solve: "{GENERIC}" type-random: "{CTR}&7Nobody got it in time; better luck next time!" trivia: "{GENERIC}" fill-in: "{CTR}&7Nobody got it in time; the answer was &8'&b%ANSWER%&8'&7! (to complete &8'&b%UNBLANKED_WORDS%&8'&7)" word-unshuffle: "{GENERIC}" reverse-word-unshuffle: "{GENERIC}" unreverse: "{GENERIC}" misc:
incorrect-case: "{CTR}{NL}&c&oSo close! You have to match this games capitalization!{NL}"
playerstorage.yml Persistent player-related data is stored here by the plugin
game-library.yml Words/entries in this file are used for word related games. There are 1,458 entries by default and the collection is up to date to MC 1.21.4.
trivia-library.yml Trivia questions are stored here for the trivia game. There are 63 MC related questions by default up to date for MC 1.21.x.
Using PlaceholderAPI, you can show win and learderboard data in any plugins that support PAPI parsing (ex. in guis, holograms, etc.)
%kixschatgames_wins%
%kixschatgames_server_total_wins%
%kixschatgames_lb_topname_<num>%
%kixschatgames_lb_topwins_<num>%
Developers can listen to chat game events and pull info to incorporate their own features relating to chat games, like rewards for completing X amount of games, quests, etc. Download here
ChatGameEndEvent:
getType() - GameType the type of game
getAnswer() - String the answer supplied
getWinner() - Player the player who triggered this event, null if there wasn't one
hasWinner() - boolean true if this game ended because somebody won, false if this game ended because it expired
ChatGameStartEvent:
getType() - GameType the type of game
getAnswers() - List<String> the possible answers to this game
GameType:
UNSCRAMBLE
TYPE
SOLVE
TYPE_RANDOM
TRIVIA
FILL_IN
WORD_UNSHUFFLE
REVERSE_WORD_UNSHUFFLE
UNREVERSE
Need help, have questions or suggestions?
Join the
Discord Server!
By joining, you can gain access to the plugins discussion channel to chat with fellow KixsChatGames users, make suggestions, give feedback, and more related to the plugin!