@@ -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