Community listing page, reviews may not be monitored by the author.
wifi card game
No reviews yet
A Minecraft Card Games including popular card games Doudizhu, UNO and some chess games!
Community voices
Reviews
No reviews yet. Be the first to review this project!
Get it on
Available Platforms
About
Project Details
For authors
Embed Badge
If you're the author of this project, you can embed a live badge anywhere that supports HTML or Markdown. It updates automatically whenever ratings change.
Use HTML for any page that supports it, or Markdown for README files and Markdown-based descriptions.
Identifiers
Platform IDs
Resources
External Links
About
Description
Wifi Card Games (wifi-card-games)
A multiplayer card game collection mod for Minecraft 1.21.1 (Fabric · server-authoritative).
Currently includes:
-
Dou Dizhu (Fight the Landlord) – Classic / Wildcard modes, Standard / Folk rule sets
-
Board games – Reversi (Othello), Gomoku, and Go (shared lobby & room system)
-
UNO – up to 10 players
-
Mod ID:
wifi-card-games -
Entry point:
io.wifi.cards.CardGameMod(umbrella entry, preparing for future games) -
Submodules:
- Dou Dizhu:
io.wifi.cards.doudizhu - Board games:
io.wifi.cards.board(Othello/Gomoku/Go) - UNO:
io.wifi.cards.uno
- Dou Dizhu:
🌐 Language Support
| Language | Text (UI & Chat) | Voice (Sound Effects & TTS) |
|---|---|---|
| Chinese (Simplified) | ✅ Supported | ✅ Supported (Chinese TTS) |
| Chinese (Traditional) | ✅ Supported | ✅ Supported (Chinese TTS) |
| English | ✅ Supported | ❌ Not supported (fixed to Chinese voice) |
- Text includes all in‑game UI labels, chat messages, rule descriptions, and button texts.
- Voice refers to the voice‑over for UNO calls (“UNO”, “Draw two”) generated via edge‑tts. The voice is always in Chinese regardless of the selected language; English does not have its own TTS voice. Other sound effects use Minecraft’s built‑in sounds, which are language‑independent.
- The mod automatically detects the client’s language setting and switches text accordingly.
- Traditional and Simplified Chinese are handled as separate locales (
zh_CNandzh_TW) with distinct translation files.
✨ Features
Rooms & Multiplayer (in-memory only, no persistence)
- Create room: choose Classic/Wildcard mode, Standard/Folk rule set, and whether to announce to chat.
- One‑click join: announced rooms show
[Click to Join]; or enter a room code manually. - Invite:
/doudizhu invite <player>sends a clickable invitation. - Auto‑start: when 3 players are ready, the game begins; you can leave anytime during waiting or playing.
Dou Dizhu Gameplay
- Bidding: pass / 1 / 2 / 3 points (must exceed current highest bid).
- Landlord contest: if someone bids 3, a round of “rob/not rob” follows; two consecutive “not rob” ends the round (base score 3). If no one bids 3, the highest bidder becomes landlord. If all pass, redeal.
- Card play: full hand-type recognition and comparison (single, pair, triple, triple+single, triple+pair, straight ≥5, consecutive pairs ≥3, airplane with wings, four‑with‑two, bomb, rocket – no triple‑king bomb). Bombs/rockets double the multiplier immediately.
- Wildcard mode (55 cards, 4 bottom cards): wildcards can substitute any card; wildcard + triple = wildcard bomb. Triple+pair is forbidden in this mode.
- Show hand: landlord may reveal all cards before playing the first hand – visible to all (cards are removed from display as they are played).
- 30‑second turn timer: auto‑action on timeout.
Auto‑play & Stability
- Auto‑play: can be toggled at any time from the game screen (bidding → pass, robbing → not rob, playing → best move).
- Auto‑play on disconnect: if a player disconnects during a game, a bot takes over; on reconnect, full state sync (hand, bottom cards, multiplier, timer, revealed cards, auto‑play status).
- Exit game: players can voluntarily exit (button) or be kicked by an operator; their seat becomes bot‑controlled. If no real players remain, the room is closed.
Interface
- Text‑based card display: click/slide to select cards (sliding over unselected selects it, over selected deselects it – no missed cards), hint button, show‑hand button.
- In‑game chat: press the chat key (default T) to open chat; closing or sending returns to the game; chat history rendered by vanilla HUD.
- Lobby / rule introduction (scrollable, muteable) / settlement screen; no global blur – only content areas have a semi‑transparent dark background.
♟️ Board Games (Reversi / Gomoku / Go)
All three board games share one lobby, room system, network protocol, and board interface (/chess).
The board is rendered via gui.pose().scale() to adapt to window size – it scales up for large windows and down for small ones, never overflowing or covering buttons; click detection remains accurate even at small sizes.
Rooms & Multiplayer
- Unified lobby
/chess: choose a game (Go offers 9×9 or 19×19) → create room; or enter a room code to join. - Room list in lobby: shows all rooms – waiting rooms can be joined; ongoing games can be spectated.
- Spectating: after a game starts, you can spectate (from lobby list / chat announcement /
/chess spectate <code>). Real‑time board display, unlimited spectators, exit anytime. - Auto‑start: when 2 players are ready, game begins; announced rooms are clickable;
/chess invite <player>to invite.
Gameplay
- Reversi (8×8): Black goes first; if no legal move, pass automatically; if both pass, count pieces to determine winner.
- Gomoku (15×15): Black first; first to get five in a row wins; full board = draw; no forbidden moves.
- Go (9 or 19 lines): Black first, play on intersections; liberties / captures / no suicide / simple ko; if both pass consecutively or 4 consecutive passes occur, score by Chinese rules with komi 3.75.
- 60‑second turn timer: on timeout, Gomoku/Reversi let AI play one move (heuristic/greedy); Go simply passes.
- Resign anytime (Go also has a “pass” button).
- Rule introduction: lobby “Rules” button or in‑game “Rules” button (scrollable, full rules for all three games).
- In‑game chat: press chat key (default T) to open; closing/sending returns to the board.
Auto‑play & Stability
- Gomoku/Reversi: on exit/disconnect, seat becomes bot‑controlled (AI plays); on reconnect, full snapshot sync.
- Go has no auto‑play: if a player exits/disconnects, the game ends immediately (the other wins); if both pass repeatedly, the game ends by counting.
- If no real players remain (or all offline), the game ends and the room is closed.
- Debug bot: for Gomoku/Reversi, you can add 1 AI opponent when creating a room (Go does not provide AI).
🎴 UNO (up to 10 players)
Standard 108 cards (4 colours 0–9 + Skip/Reverse/+2, 4 Wild, 4 Wild+4). Each player starts with 7 cards; the first card flipped must be a number card. Max 10 players per room. The host (seat 0) clicks “Start Game” to begin (needs at least 2 players; you may add 0–9 bots when creating the room).
Gameplay
- Play: must match colour or number with the top card; Wild cards can always be played (colour selection pop‑up before playing).
- Action cards: Skip skips next player; Reverse reverses direction (in 2‑player games, it acts as Skip); +2 makes next player draw 2 and lose their turn; Wild+4 lets you choose colour and the next player draws 4 and skips (no “must have no matching colour” restriction – casual rule).
- Draw: if you cannot play, click “Draw” (or the deck) to draw 1 – if it’s playable, you may play or pass; if not, turn passes automatically. If deck is empty, reshuffle the discard pile (keep top card).
- UNO call: when you play your penultimate card (leaving 1), you must click “Call UNO!”. If you don’t and another player catches you with “Catch … UNO”, you draw 2 (the catch window closes after success). If no one catches you, you automatically draw 2 when it becomes your turn again (chat + table prompt + voice “Draw two”). The window for catching expires when your next turn starts.
- First to empty hand wins (single round). Settlement screen offers “Play again” (room stays open, restart).
- 30‑second turn timer: on timeout, auto‑draw (and auto‑play if possible).
Auto‑play & Stability
- Auto‑play: togglable anytime (finds playable card, auto‑selects colour, auto‑calls UNO).
- Auto‑play on disconnect: bot takes over; on reconnect, full sync (hand, current colour, direction, timer, UNO status, auto‑play status).
- Exit: voluntary exit or kick; seat becomes bot‑controlled. If no real players remain, room closes.
- Spectating: after game starts, spectate via chat announcement or
/uno spectate <code>– left panel shows every spectator the complete hands of all players. - Voice: UNO call plays “UNO”; being caught plays “Draw two” (generated via edge‑tts, source in
tools/input_uno.txt, scripttools/gen_sound.py). Other sound effects use Minecraft built‑in sounds. - Interface: lobby (with rules), table left‑bottom “Rules / History” (event log: plays/draws/penalties/UNO calls, player names highlighted, scrollable), settlement screen. In‑table chat via chat key (default T), returns to game after closing/sending.
📦 Requirements
| Dependency | Version |
|---|---|
| Minecraft | 1.21.1 |
| Fabric Loader | >= 0.16.0 |
| Fabric API | * (any 1.21.1‑compatible) |
| Java | >= 21 |
🚀 Installation
- Install Fabric Loader for Minecraft 1.21.1.
- Download this mod jar and Fabric API, place them in your
modsfolder. - Launch the game (singleplayer or multiplayer; the server must also have the mod and Fabric API installed).
🎮 Quick Start
Dou Dizhu:
- Type
/doudizhuto open the lobby. - Create room (choose mode/rule set/announce) or enter a room code to join.
- With 3 players, game starts automatically (for testing:
/doudizhu debug bots 2adds dummy players). - Bid → contest → play cards; you can toggle “Auto‑play” or “Exit” anytime.
Board games (Reversi / Gomoku / Go):
- Type
/chessto open the board lobby. - Choose a game (Go: choose 9 or 19) → Create room, or enter a room code to join; the lobby list shows ongoing games you can spectate.
- With 2 players, game starts automatically (for testing:
/chess debug bots 1adds an AI opponent for Gomoku/Reversi, not for Go). - Click the board to place; you can “Resign” or “Exit” anytime; Go has a “Pass” button.
UNO:
- Type
/unoto open the lobby. - Create room (add 0–9 bots, choose announce) or enter a room code to join.
- The host clicks “Start Game” (needs at least 2 players) to begin.
- Play/draw cards; when you have 1 card left, remember to “Call UNO!”; first to empty hand wins; click “Play again” for a new round.
⌨️ Commands
Dou Dizhu:
| Command | Description | Permission |
|---|---|---|
/doudizhu |
Open lobby; reopen game/settlement screen | all players |
/doudizhu accept <code> |
Join a room (triggered by clickable chat message) | all players |
/doudizhu invite <player> |
Invite a player to your current room | all players (host) |
/doudizhu leave |
Leave room / exit game | all players |
/doudizhu spectate <code> / unspectate |
Spectate / stop spectating | all players |
/doudizhu debug bots <1|2> |
Add debug bots to a waiting room | OP (level 2) |
/doudizhu debug bots remove |
Remove all bots from the room | OP |
/doudizhu debug auto <true|false> |
Toggle auto‑play for yourself (use /execute as @a for all) |
OP |
/doudizhu debug call <0-3> |
Command the current seat to bid (works for real players and bots) | OP |
/doudizhu debug rob <true|false> |
Command the current seat to rob/not rob | OP |
/doudizhu debug play <card‑string> |
Command the current seat to play specified cards (3-9 T J Q K A 2 X=小王 D=大王 F=wildcard) | OP |
/doudizhu debug pass |
Command the current seat to pass | OP |
/doudizhu debug forcejoin <player> [code] |
Force a player into a room | OP |
/doudizhu debug trust <0|1|2> <bool> |
Enable/disable auto‑play by seat (no need for online player) | OP |
/doudizhu debug trust <player> <bool> |
Enable/disable auto‑play by player | OP |
/doudizhu debug kick <player> |
Force a player out (seat becomes bot) | OP |
Board games:
| Command | Description | Permission |
|---|---|---|
/chess |
Open lobby; reopen game/settlement | all players |
/chess accept <code> |
Join a room | all players |
/chess invite <player> |
Invite a player | all players (host) |
/chess leave |
Leave room / exit | all players |
/chess spectate <code> / unspectate |
Spectate / stop | all players |
/chess debug bots 1 |
Add AI opponent to waiting room (not for Go) | OP |
/chess debug bots remove |
Remove all bots | OP |
/chess debug move <x> <y> |
Command current seat to move (works for real and bot) | OP |
/chess debug pass |
Command current seat to pass (Go only) | OP |
/chess debug surrender |
Command current seat to resign | OP |
/chess debug forcejoin <player> [code] |
Force join | OP |
/chess debug rooms / room <code> |
List rooms / room details | OP |
/chess debug roomdelete <code> / roomclear |
Delete a room / clear all | OP |
/chess debug kick <player> |
Force exit | OP |
UNO:
| Command | Description | Permission |
|---|---|---|
/uno |
Open lobby; reopen game/settlement | all players |
/uno accept <code> |
Join a room | all players |
/uno invite <player> |
Invite a player | all players (host) |
/uno leave |
Leave room / exit | all players |
/uno start |
Host starts the game (same as lobby button) | all players (host) |
/uno spectate <code> / unspectate |
Spectate / stop | all players |
/uno debug bots <1-9> |
Add debug bots to waiting room | OP |
/uno debug bots remove |
Remove all bots | OP |
/uno debug auto <true|false> |
Toggle auto‑play for yourself | OP |
/uno debug trust <0-9> <bool> |
Enable/disable auto‑play by seat | OP |
/uno debug trust <player> <bool> |
Enable/disable auto‑play by player | OP |
/uno debug forcejoin <player> [code] |
Force join | OP |
/uno debug rooms / room <code> |
List rooms / room details | OP |
/uno debug roomdelete <code> / roomclear |
Delete a room / clear all | OP |
/uno debug kick <player> |
Force exit | OP |
/uno debug spectateui |
Debug spectator UI: generate random virtual snapshot (shows “(Debug)”) | OP |
🃏 Rules Summary (Dou Dizhu)
- Card ranks: 3 < 4 < … < 10 < J < Q < K < A < 2 < 小王 < 大王
- Hand types: single / pair / triple / triple+single / triple+pair (not in Folk rules) / straight (≥5) / consecutive pairs (≥3 pairs) / airplane (≥2 groups, with optional wings) / four‑with‑two / bomb / rocket (big + small joker)
- Comparison: same type and same count → compare highest rank; four‑with‑two cannot be compared with each other; bomb beats any non‑bomb, rocket beats all, bombs compare by rank.
- Wildcard mode: wildcards are jokers that can substitute any card; wildcard + triple = wildcard bomb; triple+pair is forbidden.
- Scoring: base score × multiplier (bombs/rockets/wildcard bombs double immediately). Landlord win: +2×base×multiplier for landlord, each farmer −base×multiplier; loss gives opposite (displayed only for that round, not stored).
- Full rules are available in‑game via the “Rules” screen.
Screenshots
Gallery
Versions
Files
Relations
Project Relations
More like this
Similar Mods
Suggestions use data such as tags, dependencies, dependents, descriptions, titles, and more to rank how much they overlap with this mod.
On ModDex
Community snapshot
By the numbers
Statistics
Get it on
Available Platforms
On ModDex
Community snapshot
By the numbers
Statistics
Resources