Guide NeoForge 1.2.0 (Multimedia Update)
Curse Maven Snippet
What's new
📘 Version 1.2.0 (NeoForge) — Multimedia Update — Full in-game media support: video, GIFs, and images from local files and URLs.
🎬 New Features:
• In-Book Video Playback Engine — Built a custom multimedia pipeline using JavaCV/FFmpeg for seamless decoding of local and remote video files (mp4, avi, mkv, webm) directly inside guide pages via
@video:. The engine operates in a separate classloader to bypass ModLauncher restrictions, with low-latency options for smooth playback.• Dynamic URL Media Downloader — Introduced
MediaDownloadManager for asynchronous fetching of videos, GIFs, and images from direct HTTP(S) links. Features persistent caching in config/guide/cache/media/, automatic file extension detection, content type validation, and a configurable maximum file size (default 200 MB).• Enhanced Video Player UI — Created a feature-rich embedded player with play/pause, stop, replay, volume slider (0–100% in 5% steps), fullscreen mode, and a draggable progress bar with seek support. The control panel is fully localized and adapts to GUI scale for consistent appearance.
• Animated GIF URL Support — Extended
@gif: to accept direct links to .gif files. GIFs are downloaded in the background and displayed with correct frame timing and transparency handling.• Image URL Support — Enabled
@image: to load pictures from direct links (PNG, JPEG). While loading, a placeholder with localized "Loading..." text is shown, then the image appears with preserved transparency.• Auto-Pause on Focus Loss — Video playback automatically pauses when the Minecraft window loses focus, conserving resources. Playback can be resumed manually after returning.
• Background Music Ducking — When a video starts, the mod temporarily silences vanilla and guide background music, and restores it after the video stops or ends, if music was enabled before.
🛠️ Improvements & Fixes:
• GIF Decoding Overhaul — Rewrote the GIF frame composition logic to correctly handle disposal methods (clear, restore to previous) and alpha transparency. This eliminates artifacts like black pixels, ghost frames, and frame accumulation in GIFs with partial updates.
• Video Seek and Volume Persistence — Fixed issues where seeking jumped to the beginning and volume reset to 100% on replay. The player now preserves volume state and allows precise seeking within the video.
• Localization and Cleanup — Replaced hardcoded Russian strings with localization keys across the media UI. Added new keys to
ru_ru and en_us JSON files.• Memory and Resource Management — Improved resource cleanup for video players and GIF textures when changing chapters or closing the book, preventing memory leaks and stale textures.
• JavaCV Packaging — Introduced automatic extraction of JavaCV/FFmpeg libraries from the mod JAR into a runtime directory, eliminating the need for users to manually copy native binaries. This was achieved via a resource extractor invoked at startup.
• NeoForge Compatibility — Fully adapted the multimedia system for NeoForge 1.21.1, achieving complete feature parity with the Forge 1.4.0 branch while maintaining server-safe client/server isolation.
This mod has no additional files