Why wait until gameplay to start the fun? The React‑o‑Pun Screen greets players before the title menu with a randomized pun and a flurry of animated reactions. Of course it's not just a useless and cringy screen! It’s a grandiose stage for wordplay, whimsy and maximum enjoyment for everybody!
The React‑o‑Pun Screen sets the tone for the entire mod: playful, maximally polished, and impossible to ignore. It’s the perfect warm‑up act before diving into the pun‑filled chaos of the game.
The Puns mod displays interactive question/answer screens at specific moments (before the title screen or during world loading) and allows players to react with neutral, positive or negative votes. All reactions can be recorded and used to compute statistics (positive points, negative points, total votes, and approval rating).
Since custom entries can now be created freely, the content is no longer limited to puns. Any question/answer pair can be used, turning the mod into a lightweight in-game polling, questionnaire tool or whatever you decide. Server administrators can distribute questions and review aggregated player feedback via the remote statistics backend or local files.
All commands are registered under /puns. Regular players can use the basic send sub-command; all other features require permission level 2 (default for operators).
/puns send
Sends a random active entry to all players and opens the voting screen.
/puns send <players>
Sends a random entry to the specified players.
/puns send <players> <color>
Same as above, but forces the text color (any ChatFormatting color name, e.g. gold, dark_purple).
/puns send <players> <color> <bold> <italic>
Full style control (bold and italic are true or false).
/puns vote
Opens a random entry for all players.
/puns vote <players>
Opens a random entry for the selected players.
/puns vote <players> create <question> <answer>
Immediately creates a new custom entry and opens the voting screen (targets all players if no target specified). <answer> is fully optional.
Example:
/puns vote create "Do you like the new spawn?" ""
/puns vote <players> byID <id>
Opens the entry with the specified ID for the selected players.
/puns vote <players> find fuzzy any <search term>
Fuzzy-search (ignores punctuation) in question or answer, picks one random match, opens voting screen.
/puns vote <players> find fuzzy question <search term>
Fuzzy-search only in the question.
/puns vote <players> find fuzzy answer <search term>
Fuzzy-search only in the answer.
/puns vote <players> find exact any <search term>
Exact substring search in question or answer.
/puns vote <players> find exact both <question part> <answer part>
Exact substring match on both parts (either part may be empty).
<players> is optional and defaults to all players. Search types: fuzzy or exact. Modes: any, question, answer, both (for exact only).
/puns add <question> <answer>
Adds a new custom entry to custom_puns.json and reloads the list.
/puns remove <id>
Removes the custom entry with the specified ID and reloads.
/puns reload
Reloads the pun list from files/remote (syncs to all clients).
/puns list
Prints the full list of active entries to the server log (or client console if executed by player).
/puns deleteFile
Deletes puns.json (falls back to bundled/remote/custom).
/puns clearFile
Clears puns.json to an empty array.
/puns clearCustom
Clears all entries in custom_puns.json.
| Option | Default | Description |
|---|---|---|
enableDebug | false | Prints extensive debug information to the log. Only enable when troubleshooting. |
enableOnline | true | Master switch for communication with the external statistics server. When false, reactions are stored only locally/in-memory. |
enableLocalStats | true | Enables hybrid statistics mode (recommended). Custom entries use local stats; remote-matching entries use the backend. |
onlyPuns | false | If true, after voting the client immediately shows another random entry (continuous pun mode). Only for pre-title screen. |
enablePunsBeforeTitle | true | Shows a pun entry immediately before the main title screen. |
enablePunsDuringLevelLoad | false | Replaces the normal world-loading screen with the interactive voting screen. |
puns.json and custom_puns.json absent or empty in <game_dir>/puns/enableOnline = truepuns.json file in <game_dir>/puns/ (this file is authoritative)custom_puns.json unless you want additional entries, though this is not necessary in this scenarioenableOnline = false (recommended)<game_dir>/puns/local_stats.jsonpuns.jsoncustom_puns.jsonenableOnline = false (or true if you still want remote stats for matching entries)/puns vote create … to add new entries at runtimepuns.jsonenableOnline = false and enableLocalStats = truecustom_puns.json with your questions or use /puns vote create<game_dir>/puns/local_stats.json in <game_dir>/puns/By combining file-based lists, config options, and in-game creation/management commands, server administrators have full control over content and statistics behavior; from classic pun delivery to fully customized in-game surveys and polls.

This mod makes the game a trillion times better through the power of puns! Every pun is intended!