NeoForge-1.21.1-0.2.9
Curse Maven Snippet
What's new
Added: server-offered content - a client picks up the server's emote pack, phrases and identity (server-icon.png plus MOTD) on join. The emote panel gains a read-only "this server" section and the phrase panel a read-only group; the transfer runs over a new atomchat-dist channel with per-file SHA-256 verification and incremental fetch (deleting one emote costs one file next join), a client-side hard cap of 200 files / 16 MB, and a written reason in the server log for every failure. Added: /atomchat gui - an in-game server settings screen (OP level 2, always allowed in single-player) for the master switches, the numeric limits, the panel name and the server phrases; the server re-validates every field and refuses stale edits by version. Added: hosted data now defaults to a 7-day retention (retentionDays 30 to 7, plus a separate avatar store cap, maxAvatarTotalMb); the sweep runs at server start, every five minutes and after each upload, and a player leaving drops their unfinished upload buffers; the client image cache expires after seven days unused as well. Changed: the local emote cap went from 10 to 20 with a scrollable grid; the client gained an "accept server packs" privacy switch (on by default); the server gained five config keys (packEnabled, packMaxFiles, packMaxMb, packName, phrases). Fixed: an incremental sync (after the client deleted or edited an offered file) used to fail as a whole because the manifest files it did not download had no bytes; kept files are now re-verified and folded back in. Polished: server-emote cells highlight on hover like local ones (they just carry no delete button), server phrases use the same colour and the same hover highlight as local ones, and nothing server-related is shown when the server offers nothing. The server settings screen is grouped into two labelled sections with units spelled out and a live "3.0 s" twin for the millisecond cooldown, and out-of-range values are caught client-side and name the field. A fresh client config also starts with one quick phrase, /atomchat gui, seeded once so deleting it sticks. Saving now refreshes the editor's own panel immediately (others pick the change up on their next join). Fixed: the image picker (send sticker / avatar / wallpaper) would not open once any mod reached AWT first - TFC does it through a java.awt.Color field on an enum. Minecraft's Main writes java.awt.headless=true and GraphicsEnvironment caches that answer, so the property write AtomChat performed afterwards was ignored and new JFrame threw HeadlessException, which the log swallowed; the player saw a button that did nothing. A mixin plugin now claims the AWT toolkit before any mod is constructed, and a failure is reported in the log and in game. Fixed: saving a server-hosted image always failed - an atomchat-media: url was handed to the HTTP client and rejected as an invalid URI scheme, and the suggested file name carried a colon. Bytes now come from the same source the renderer uses and file names are sanitised. Fixed: a player's own emotes leaked into the pack a server offers, because the pack source and the local emote folder were the same directory; single-player and LAN hosts pushed their own stickers to guests. The pack source is now config/atomchat/server-emotes/, with a one-time carry-over on dedicated servers and nothing moved on a client.
All Relations
- All Relations
- Embedded Library
- Optional Dependency
- Required Dependency
- Tool
- Incompatible
- Include
This mod has no related projects

