sim-chat
🟡 Updated this year⚠️ Install Order · 2 steps
Install in this order, then this mod last — most mods fail to load without their framework and dependencies in place.
Preview

🔍 Analysis
- 👍 0.0% endorsement rate
- 🏆 #253 of 391 forge mods in this game by downloads
📋 About This Mod
# Sim Chat A Minecraft Forge mod that adds a slack/discord-style chat interface for dialogues. Designed for modpack creators to script conversations via datapacks and commands. ## Features - **Slack/Discord-style UI**: Sidebar with conversation list, chat history panel with message bubbles - **Team-based conversations**: Players share conversation history within their team - **Datapack-driven dialogues**: Define dialogue trees in JSON, loaded as datapack resources - **Action buttons**: Clickable response options that trigger commands or continue dialogue - **Conditional actions**: Show/hide buttons based on data, scores, or KubeJS callbacks - **Template system**: Dynamic text with player names, team data, world info - **Typing indicators**: Simulated typing delay before messages appear - **Toast notifications**: Non-intrusive popups when new messages arrive - **Custom avatars**: Load PNG images from config folder for sender portraits - **Team data storage**: Store values, states, and scores per-team - **KubeJS integration**: Register custom callbacks for conditions and templates - **SQLite storage**: Persistent message history with lazy loading for large conversations - **Scalable**: Handles 100k+ messages with smooth scrolling and instant UI response ## Dependencies - Requires the `sqlite_jdbc` library mod (`minecraft-sqlite-jdbc`) on both client and server ## Storage Conversation history is stored in a SQLite database at `<world>/data/simchat/simchat.db`. This provides: - **Scalability**: Handles 100k+ messages efficiently with lazy loading - **Persistence**: Data survives server restarts and world reloads - **Inspectability**: Messages stored as human-readable JSON (viewable in any SQLite browser) ## Commands ### Basic Commands ``` /simchat send <player> <dialogueId> - Send dialogue to player /simchat system <player> <entityId> <message> - Send system message /simchat clear <player> - Clear chat history /simchat open <player> - Open chat screen for player /simchat openmessage <messageId> - Open chat to a specific message /simchat reload - Reload KubeJS callbacks ``` ### Team Commands ``` /simchat team create <name> - Create a new team /simchat team invite - Invite player (or broadcast to all if omitted) /simchat team join <teamId> - Join a team by ID /simchat team list - List all teams /simchat team info - Show current team info /simchat team title <newTitle> - Change team name /simchat team color <color> - Change team color (name only) ``` Available colors: `black`, `dark_blue`, `dark_green`, `dark_aqua`, `dark_red`, `dark_purple`, `gold`, `gray`, `dark_gray`, `blue`, `green`, `aqua`, `red`, `light_purple`, `yellow`, `white` ### Data Commands Store values per-team for tracking progress, scores, states. All commands accept an optional `` parameter (player name or team ID/title) to operate on a specific team: ``` /simchat data get <key> - Get value /simchat data set <key> <value> - Set value (auto-detects numbers) /simchat data add <key> <amount> - Add to numeric value /simchat data remove <key> - Remove key /simchat data list - List all data ``` Examples: ``` /simchat data get gold - Get your team's gold /simchat data get gold Steve - Get Steve's team's gold /simchat data set rank vip "Team Alpha" - Set string on Team Alpha /simchat data set gold 100 - Set number (auto-detected) /simchat data add points 10 abc1234 - Add 10 points to team abc1234 ``` ### Callback Commands ``` /simchat callback list - List registered KubeJS callbacks /simchat callback run <name> - Execute callback and show result ``` ## Datapack Format Dialogues are loaded from: `data/<namespace>/simchat/<path>.json` Example: `data/mypack/simchat/contractor/greeting.json` ```json { "entityId": "contractor", "entityName": "Director Vex", "entitySubtitle": "Helion Industries", "text": "Hello {player:name}! Your team ({team:title}) has completed {data:contracts_done} contracts.", "actions": , "reply": "I'll take the job.", "nextState": "mypack:contractor/contract_details", "condition": "data:has_clearance" }, { "label": "Decline", "reply": "Not interested.", "condition": "!data:forced_contract" } ] } ``` ### Dialogue Fields | Field | Type | Description | |-------|------|-------------| | `entityId` | string | Unique entity identifier (used for avatar lookup and conversation grouping) | | `entityName` | string | Display name shown in chat | | `entitySubtitle` | string | Optional subtitle (com
A Minecraft Forge mod that adds a slack/discord-style chat interface for dialogues. Designed for modpack creators to script conversations via datapacks and commands.
## Features
- Slack/Discord-style UI: Sidebar with conversation list, chat history panel with message bubbles
- Team-based conversations: Players share conversation history within their team
- Datapack-driven dialogues: Define dialogue trees in JSON, loaded as datapack resources
- Action buttons: Clickable response options that trigger commands or continue dialogue
- Conditional actions: Show/hide buttons based on data, scores, or KubeJS callbacks
- Template system: Dynamic text with player names, team data, world info
- Typing indicators: Simulated typing delay before messages appear
- Toast notifications: Non-intrusive popups when new messages arrive
- Custom avatars: Load PNG images from config folder for sender portraits
- Team data storage: Store values, states, and scores per-team
- KubeJS integration: Register custom callbacks for conditions and templates
- SQLite storage: Persistent message history with lazy loading for large conversations
- Scalable: Handles 100k+ messages with smooth scrolling and instant UI response
## Dependencies
- Requires the `sqlite_jdbc` library mod (`minecraft-sqlite-jdbc`) on both client and server
Conversation history is stored in a SQLite database at `
- Scalability: Handles 100k+ messages efficiently with lazy loading
- Persistence: Data survives server restarts and world reloads
- Inspectability: Messages stored as human-readable JSON (viewable in any SQLite browser)
## Commands
### Basic Commands
```
/simchat send
### Team Commands
```
/simchat team create
Available colors: `black`, `dark_blue`, `dark_green`, `dark_aqua`, `dark_red`, `dark_purple`, `gold`, `gray`, `dark_gray`, `blue`, `green`, `aqua`, `red`, `light_purple`, `yellow`, `white`
### Data Commands
Store values per-team for tracking progress, scores, states. All commands accept an optional `` parameter (player name or team ID/title) to operate on a specific team:
```
/simchat data get
Examples: ``` /simchat data get gold - Get your team's gold /simchat data get gold Steve - Get Steve's team's gold /simchat data set rank vip "Team Alpha" - Set string on Team Alpha /simchat data set gold 100 - Set number (auto-detected) /simchat data add points 10 abc1234 - Add 10 points to team abc1234 ```
### Callback Commands
```
/simchat callback list - List registered KubeJS callbacks
/simchat callback run
## Datapack Format
Dialogues are loaded from: `data/
Example: `data/mypack/simchat/contractor/greeting.json`
```json { "entityId": "contractor", "entityName": "Director Vex", "entitySubtitle": "Helion Industries", "text": "Hello {player:name}! Your team ({team:title}) has completed {data:contracts_done} contracts.", "actions": [ { "label": "Accept Contract (+{data:reward} credits)", "commands": [ "simchat data add contracts_done 1", "give @s emerald 10" ], "reply": "I'll take the job.", "nextState": "mypack:contractor/contract_details", "condition": "data:has_clearance" }, { "label": "Decline", "reply": "Not interested.", "condition": "!data:forced_contract" } ] } ```
### Dialogue Fields
| Field | Type | Description | |-------|------|-------------| | `entityId` | string | Unique entity identifier (used for avatar lookup and conversation grouping) | | `entityName` | string | Display name shown in chat | | `entitySubtitle` | string | Optional subtitle (com
📊 Mod Details
- Game
- Minecraft Mods
- Author
- Yarden-zamir
- Version
- 0.12.0
- Downloads
- 1,034
- Endorsements
- 0
- Category
- forge
- Created
- 1/16/2026
- Updated
- 1/27/2026
- Game Versions
- 1.20.1
🔧 How to Install Minecraft Mods Mods
Download from Modrinth. Use Prism Launcher or drop into your mods folder.
📖 Full step-by-step install guide for Minecraft Mods →
Visit the official mod page for specific installation instructions for this mod.
🎮 Need cheat codes or console commands? Check ur gaming wiki for Minecraft Mods commands, item IDs, and more.
❓ Frequently Asked Questions
Which Minecraft Mods versions does sim-chat support?
The author lists 1.20.1. Other versions may work but are untested by the author.
What is the latest version of sim-chat?
Version 0.12.0, published 2026-01-27 with 1,034 downloads recorded at the source.
Keep browsing — more Minecraft Mods mods await