Guide Forge 1.6.0 (Server Sync, Live Updates, Client Cache)
Curse Maven Snippet
What's new
📘 Version 1.6.0 (Forge) — Server-Side Content Sync
🛠️ Changes:
• Server-Side Content Sync — All guide content (chapters, images, GIFs, sounds, structures, videos, themes) can now live on the server in
config/guide/books/. Clients download everything automatically on join. No modpack update required to fix a typo or add a chapter.• Per-Server Cache — Downloaded content is cached locally per server address in
config/guide/cache/<server>/. Different servers show different guides without conflicts.• SHA-1 Verification — Every file is hashed on the server and verified on the client. Only changed or missing files are transferred; corrupted downloads are discarded and retried.
• Live Content Updates — The server watches the
books/ and themes/ folders via WatchService. When an admin edits a chapter or theme, all online clients pick up the change within a second — no reconnection, no /reload.• Server-Side Themes — Themes placed in the server's
config/guide/themes/ folder are distributed to all connected players. Local themes on the client override server themes with the same ID, so players can customize freely.• Theme Source Markers — In the theme selector, each theme is marked with a colored stripe on the left edge: green for local themes, purple for server themes. Hover the stripe to see a tooltip.
• Media Streaming via Content Provider — GIFs, sounds and structures are now loaded through the content provider instead of direct disk access. This makes all media tags work with server-side content.
• Full Media Sync —
@image:, @gif:, @sound:, @structure:, @video: — all served from the server and cached on the client.• Automatic Fallback — If the server has no mod, or you're in single-player, the guide falls back to local content seamlessly. The guide is never empty.
• Automatic Cache Cleanup — When content is removed from the server (a chapter, theme, image, etc.), the client automatically removes the orphaned file from its cache within a second. Local player themes are never affected. The cache stays in sync with the server mirror-style.
🔧 Improvements:
• Legacy Deprecated Methods Removed —
resolveAnyTexturePath() and other disk-only resolvers removed. All content goes through the unified GuideContentProvider interface.• Centralized ResourceLocation Creation — All
ResourceLocation objects are now created through GuideRl.of(), ensuring consistent behavior across both branches.• Registry Access Wrapper —
GuideRegistry.itemOrAir() centralizes item lookup, avoiding deprecated registry access warnings.• Cleaner Logging — All log messages standardized to English.
• Live Book Metadata Updates — Book names, chapter titles and themes refresh automatically when an admin edits them on the server — no reconnection or game restart required.
🐛 Fixes:
• Book Selector Fixed — Book icons and palette icons now load through the content provider, so they work with server-side content too.
• Theme Loading Fixed —
ThemeManager now reads themes through the provider, allowing server-side themes to appear in the selector.• Book Registry Fixed —
BookRegistry and BookRegistryClient now scan through the provider, so server-only books appear in the selector.• GIF Playback Fixed —
AnimatedGif.loadFromStream() added; GIFs from the server cache now play correctly.• Sound Playback Fixed —
GuideSoundManager rewritten to read OGG files through the provider; server-side sounds work now.• Video Playback Fixed —
MediaEmbed now resolves video files through the provider, so server-hosted videos play.• Structure Rendering Fixed —
StructureRenderer and PlacementProjector now load NBT files through the provider.• Dedicated Server Startup Fixed —
ModKeyMappings is no longer loaded on dedicated servers, resolving the @OnlyIn(Dist.CLIENT) crash on server startup.• Empty Cache Folders Cleaned — After removing orphaned files, empty parent folders inside
config/guide/cache/<server>/ are also deleted, keeping the disk footprint minimal.This mod has no additional files

