๐งฑ Render complex multiblocks. Parse Markdown right inside the UI.
๐ฌ Play video, GIFs and images โ on Windows, macOS and Linux via FFmpeg.
๐จ Fully customizable themes, per-book overrides, custom colors, optional visual effects.
| Direct-from-disk compilation. Multi-book namespaces, zero JAR packing. sidebar search favorites keyboard hot-reload |
Preview and assemble complex structures step by step. layers rotation zoom progress HUD NBT |
Full Markdown rendered live inside the GUI. tables links spoilers items mobs sounds indentation |
| Video, GIF and image playback directly in the book. JavaCV FFmpeg GIF WebP URL fullscreen ducking cache |
Every UI element is fully themeable via JSON. per-book colors effects lock skinning |
Each book carries its own translations. lang/*.json fallback namespaces runtime |
| โจ๏ธ Command | Description |
|---|---|
| /guide | Open the main book catalog from anywhere โ no item required |
| /guide reload | Hot-reload all markdown, textures, JSON and themes without restarting the game |
โธ Both commands are available to all players by default โ no OP or cheat requirements.
| โ๏ธ Loader | ๐ฎ Game | ๐ฆ Version | โ JDK | ๐ฆ Status | ๐ฟ Branch | |
|---|---|---|---|---|---|---|
| Forge | 1.20.1 | 1.5.0+ | 17 | ๐ข Stable | forge-1.20.1 |
|
| NeoForge | 1.21.1 | 1.3.0+ | 21 | ๐ข Stable | neoforge-1.21.1 |
โธ Both branches share the same feature set โ multimedia, Markdown rendering, and multiblock projection are on par.
| ๐งฉ JEI | Bind chapters to items with @bind:mod_id:item. Click guide item passposts to instantly open recipes. |
| ๐ Flexmark-Java | Full CommonMark-compliant Markdown parsing engine that powers live in-GUI rendering of chapters, tables, links, spoilers, and indentation. |
| ๐ฌ FFmpeg / JavaCV / JavaCPP | Video decoding, transcoding, and frame-level media access through native FFmpeg binaries, wrapped by JavaCV and bundled via JavaCPP for Windows, macOS, and Linux. |
| ๐พ Media Cache | Automatic background music ducking during video / sound playback, plus offline media caching. |
config/guide/books/<book_id>/
โโโ chapters/ # Content sections
โ โโโ index.md # Primary index
โ โโโ introduction.md # First chapter
โ โโโ <language>/ # Language-specific files
โโโ lang/ # Localization
โ โโโ en_us.json
โ โโโ <language>.json
โโโ models/ # 3D model data
โโโ sounds/ # Background audio (.ogg)
โโโ videos/ # Local video files
โโโ textures/ # UI and image assets
โโโ structures/ # Multi-block .nbt blueprints
โโโ book.json # Metadata๐ Example book.json:
{
"name": "<book_id>.book.guide",
"namespace": "<book_id>",
"default_chapter": "introduction",
"icon": "your_logo.png",
"bg_music": "background_music",
"theme": "<theme_id>",
"dev_only": false
}๐ Example standard.json (config/guide/themes/standard.json):
{
"id": "standard", // unique theme identifier
"displayName": "guide.theme.standard", // display name (plain string or translation key)
"colors": {
// ===== General UI =====
"panelBackgroundColor": "0xCC1A1A1A", // panels background (book pages, side menus)
"panelHeaderBackgroundColor": "0xCC111111", // panel header background
"borderColor": "0xFF4A4A4A", // default border for panels and windows
"borderFocusedColor": "0xFF00D0FF", // focused element border
"textColor": "0xFFFFFF", // primary text color
"textSecondaryColor": "0x888888", // secondary text
"scrollbarTrackColor": "0x55111111", // scrollbar track background
"scrollbarThumbColor": "0xFF8B8B8B", // scrollbar thumb
"buttonColor": "0xFF2A2A2A", // default button
"buttonHoverColor": "0xFF3A3A3A", // button on hover
"buttonDisabledColor": "0xFF1A1A1A", // disabled button
// ===== Input Fields =====
"editBoxBackgroundColor": "0xFF000000", // input field background
"editBoxBorderColor": "0xFFA0A0A0", // input field border
"editBoxBorderFocusedColor": "0xFFFFFFFF", // input field border on focus
"editBoxTextColor": "0xFFFFFF", // input field text
// ===== Media Player =====
"mediaFrameOuterColor": "0xFF2D2D2D", // media outer frame
"mediaFrameInnerColor": "0xFF4A4A4A", // media inner frame
"mediaBackgroundColor": "0xFF000000", // playback area background
"mediaControlPanelColor": "0xCC000000", // control panel background
"mediaTextColor": "0xFFAAAAAA", // media player text
"mediaErrorTextColor": "0xFFFF5555", // error text
"mediaTimeTextColor": "0xFFCCCCCC", // playback time text
"progressBarTrackColor": "0xFF555555", // progress bar track background
"progressBarFillColor": "0xFF00D0FF", // progress bar fill
"progressBarThumbColor": "0xFFFFFFFF", // progress bar thumb
"progressBarThumbOutlineColor": "0xFF000000", // progress bar thumb outline
// ===== Inline Elements =====
"spoilerTitleColor": "0xFFAA00", // spoiler title
"inlineItemBackgroundColor": "0x550A0A0A", // inline item background
"inlineItemBorderColor": "0x25FFFFFF", // inline item border
"inlineItemTextColor": "0xFFAAAAAA", // inline item text
"soundButtonBackgroundColor": "0xFF2E2E2E", // sound button background
"soundButtonBorderColor": "0xFF5A5A5A", // sound button border
"soundButtonTextColor": "0xFFFFFF", // sound button text
"questStrikethroughColor": "0x77777777", // strikethrough quest text
// ===== Tables =====
"tableHeaderBackgroundColor": "0xFF222222", // table header background
"tableHeaderTextColor": "0xFFAA00", // table header text
"tableRowBackgroundColor": "0x11000000", // alternating row background
"tableBorderColor": "0xFF3A3A3A", // table borders
"tableCellTextColor": "0xFFFFFF", // table cell text
"dividerColor": "0xFF3A3A3A", // block dividers
// ===== Video Title =====
"videoTitleBackgroundColor": "0xCC2D2D2D", // video title panel background
"videoTitleBorderColor": "0xFF5A5A5A", // video title panel border
"videoTitleTextColor": "0xFFFFFF", // video title text
// ===== Warnings & Toasts =====
"warningTextColor": "0xFF5555", // primary warning text
"warningTextSecondaryColor": "0xFFAAAAAA", // secondary warning text
"toastBackgroundColor": "0xD0101215", // toast notification background
"toastTextColor": "0xFFFFFF", // toast notification text
// ===== Structure Panel =====
"structureFrameColor": "0x4000FFFF", // 3D structure preview frame
"structureTabActiveBackgroundColor": "0xFF555555", // active tab background
"structureTabInactiveBackgroundColor": "0xFF222222", // inactive tab background
"structureTabActiveTextColor": "0x00FFCC", // active tab text
"structureTabInactiveTextColor": "0x888888", // inactive tab text
"structureLayerTextColor": "0x55FF55", // structure layer label
// ===== Placement Projector =====
"projectorPanelBackgroundColor": "0xD0101215", // projector panel background
"projectorPanelBorderColor": "0x4000D0FF", // projector panel border
"projectorTitleTextColor": "0x00D0FF", // projector panel title
"projectorButtonBackgroundColor": "0x15FFFFFF", // default button background
"projectorButtonHoverBackgroundColor": "0x3000D0FF", // button background on hover
"projectorButtonBorderColor": "0x25FFFFFF", // default button border
"projectorButtonHoverBorderColor": "0xFF00D0FF", // button border on hover
"projectorButtonTextColor": "0xBBBBBB", // button text
"projectorButtonHoverTextColor": "0xFFFFFF", // button text on hover
"projectorDoneButtonHoverBackgroundColor": "0x3000FF55", // "Done" button background on hover
"projectorDoneButtonHoverBorderColor": "0xFF00FF55", // "Done" button border on hover
"projectorCancelButtonHoverBackgroundColor": "0x30FF2244", // "Cancel" button background on hover
"projectorCancelButtonHoverBorderColor": "0xFFFF2244", // "Cancel" button border on hover
"projectorHudTextColor": "0xFFFFFF" // projector HUD hint text
}
}๐จ Color format
Colors are written in 0xAARRGGBB format:
| Channel | Range | Description |
|---|---|---|
| AA | 00 โ FF | Alpha channel (transparency). FF = fully opaque, 00 = fully transparent |
| RR | 00 โ FF | Red channel |
| GG | 00 โ FF | Green channel |
| BB | 00 โ FF | Blue channel |
โธ Tip: set alpha below FF (e.g. 80) to make panels semi-transparent.
Found a bug or encountered a crash? Open a ticket on the Issue Tracker.
| โฆ | Info required | Example |
|---|---|---|
| ๐ฎ | Minecraft version | 1.20.1 ยท 1.21.1 |
| โ๏ธ | Loader + version | Forge 47.4.20+ ยท NeoForge 21.1.0+ |
| ๐ฆ | Guide mod version | 1.5.0 ยท 1.3.0-NeoForge |
| ๐ | Related mods | List of mods that may interact with Guide |
| ๐ธ | Screenshots | Attach if the issue is layout-related |
| ๐ฅ | Crash report | Full latest.log or crash-report in a code block |
โธ The more details you provide, the faster the issue can be resolved.
| โฆ | ๐งฉ Project | ๐ค Author / Team | โก Contribution |
|---|---|---|---|
| ๐ | Just Enough Items (JEI) | mezz | In-game recipe integration |
| ๐ง | Minecraft Forge | LexManos ยท cpw | FML ecosystem ยท MCP tools |
| ๐ท | NeoForge | NeoForge Team | Modern modding platform for 1.21.1 |
| ๐ฌ | JavaCV | bytedeco | Cross-platform Java wrapper for native media libraries |
| ๐ฌ | JavaCPP | bytedeco | Native bindings & prebuilt binaries for FFmpeg / OpenCV |
| ๐๏ธ | FFmpeg | FFmpeg Team | Video decoding, transcoding & stream handling |
| ๐ | Open Source Community | Everyone | Bug reports, docs, and support |
Licensed under the MIT License.
You are allowed to include Guide in your modpack.
Any modpack that uses Guide takes full responsibility for user support queries.
We only support official builds, not custom modified jars.