Skip to content

Commit b217adb

Browse files
committed
docs: update README with SQLite storage, lazy loading, and new configuration options
1 parent 5a20db7 commit b217adb

1 file changed

Lines changed: 17 additions & 2 deletions

File tree

README.md

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,21 @@ A Minecraft Forge mod that adds a slack/discord-style chat interface for dialogu
1515
- **Custom avatars**: Load PNG images from config folder for sender portraits
1616
- **Team data storage**: Store values, states, and scores per-team
1717
- **KubeJS integration**: Register custom callbacks for conditions and templates
18+
- **SQLite storage**: Persistent message history with lazy loading for large conversations
19+
- **Scalable**: Handles 100k+ messages with smooth scrolling and instant UI response
1820

1921
## Dependencies
2022

2123
- Requires the `sqlite_jdbc` library mod (`minecraft-sqlite-jdbc`) on both client and server
2224

25+
## Storage
26+
27+
Conversation history is stored in a SQLite database at `<world>/data/simchat/simchat.db`. This provides:
28+
29+
- **Scalability**: Handles 100k+ messages efficiently with lazy loading
30+
- **Persistence**: Data survives server restarts and world reloads
31+
- **Inspectability**: Messages stored as human-readable JSON (viewable in any SQLite browser)
32+
2333
## Commands
2434

2535
### Basic Commands
@@ -317,15 +327,20 @@ All entity files hot-reload when modified.
317327
| `toastDuration` | `5.0` | Toast display time (seconds) |
318328
| `sidebarWidth` | `240` | Conversation list width |
319329
| `sidebarSortMode` | `0` | Sort: 0=recent, 1=alphabetical |
330+
| `lazyLoadBatchSize` | `30` | Messages to request when scrolling up |
331+
| `lazyLoadThreshold` | `100` | Pixels from top before loading older messages |
332+
| `closedCacheSize` | `400` | Messages to keep cached per conversation when chat closes |
320333

321-
### Server Config (`simchat-common.toml`)
334+
### Common Config (`simchat-common.toml`)
322335

323336
| Option | Default | Description |
324337
|--------|---------|-------------|
325338
| `minDelay` | `0.3` | Minimum typing delay (seconds) |
326339
| `maxDelay` | `3.0` | Maximum typing delay (seconds) |
327340
| `charsPerSecond` | `100.0` | Simulated typing speed |
328-
| `commandPermissionLevel` | `2` | Permission for /simchat commands |
341+
| `commandPermissionLevel` | `4` | Permission for /simchat commands |
342+
| `initialMessageCount` | `30` | Messages per conversation on initial sync |
343+
| `maxLazyLoadBatchSize` | `100` | Server-side cap for lazy load requests |
329344

330345
## Keybinds
331346

0 commit comments

Comments
 (0)