[1.4.1] — 2026-06-11
Fixed
- NeoForge: clients could not join a dedicated server (#4). The server-to-client payload channels (
open_web,main_menu,emit,entity_context) were registered only on the physical client, so a dedicated NeoForge server never declared them. Joining clients were rejected during channel negotiation withChannel [webgui:open_web] failed to connect: Client wants payload to be sent in: CLIENTBOUND, but server doesn't support it!. The S2C payloads are now registered in common init on both sides; the receive handlers still run client-side only.
[1.4.0] — 2026-06-11
Added
NeoForge support
The mod is now multi-loader. The codebase is split across loaders with Stonecutter, so the same source builds for both Fabric and NeoForge.
| Minecraft | Fabric | NeoForge |
|---|---|---|
| 1.20.1 | ✅ | — (NeoForge moddev 2.x targets 1.20.4+) |
| 1.21.1 | ✅ | ✅ |
| 1.21.11 | ✅ | ✅ |
- NeoForge builds use Mojang mappings; Fabric builds use Yarn — handled automatically at build time
- All existing features (entity binding, events, signed tokens, HUD overlays, commands) work identically on both loaders
WebviewApiand thewindow.webguibrowser surface are unchanged — no migration needed for existing web UIs