Tags
Creators
Details
Licensed MIT
Published 4 months ago
Updated 6 days ago
All versions
1.6.0
Release
Guide NeoForge 1.6.0 (Journal, Scanner, Keybinds)3 weeks ago 73
Compatibility
Minecraft: Java Edition
1.21.1
Platform
NeoForge
Supported environments
Client-side
Server-side
Changes
[CHANGELOG] Version 1.6.0 (NeoForge)
Tag Management, Item Commands, Guide Scanner, Explorer's Journal, Live Preview, Layout Fixes & Curios Integration
๐ ๏ธ Changes:
/guide unlocks clear [player]โ Clears every unlock tag the player currently holds in one command. Without arguments, wipes your own tags; with a player argument (OP level 2), clears someone else's. Useful for testing, resets, and admin housekeeping without manually locking each tag one by one./guide give <item> [player]โ Spawns a Guide item straight into the inventory by short alias (book,scanner,diary). Without a player argument, gives to yourself; with a player argument (OP level 2), gives to someone else. Falls back toplayer.drop()when the inventory is full, so the item is never lost. Includes a 1-second per-player cooldown to prevent command spam, and tab-completion for aliases and player names.- Guide Scanner Item โ A new item that scans the world and opens the matching chapter in your guide. Right-click on a block, mob, dropped item, or fluid โ the scanner resolves the registry ID and looks it up in the same binding map used by JEI and the G-key shortcut (
@bind:/@bind_tag:). If a match is found in a single book, the chapter opens instantly; if the target appears in multiple books or multiple chapters, a selection screen appears with a collapsible tree (one book expanded at a time, chapters nested underneath, chapter icons shown). The choice screen follows the active theme โ colors, hover states, and scrollbar are all pulled from the current theme file. The scanner has an animated icon (6 frames, cycling through different blocks). - Scanner Binding Map โ
GuideNavigatornow maintains a second, cumulative index (itemToChapterRefMap) that stores book namespace, chapter file, chapter title, and chapter icon alongside the existing per-item chapter map. It survives across book reloads, so the scanner can find entries in every visible book without opening them first. - Explorer's Journal Item โ A personal notebook for the player, stored entirely in-game. Right-click the journal to open a list of notes; create, edit, search, and delete them from a themed UI. Each note stores a title, a body, a creation/update timestamp, and the coordinates + dimension where it was created. Notes are saved to the player's NBT (
GuideDiarycompound) and synced to the client on login, so they survive relogs, dimension changes, and client reinstalls. The journal ships with its own animated icon. - Journal Editor & Live Preview โ The note editor now has two tabs: Editor and Preview. The editor is a true multi-line text box with cursor navigation (arrows, Home/End, Shift-selection), clipboard support (Ctrl+A/C/V/X), automatic scrolling, and a themed scrollbar you can drag. The preview renders the note exactly like a chapter page: colors, styles, external links, dividers, tables, spoilers and checklists. It refreshes live with a 200 ms debounce while you type. The note list shows formatted titles (colors and styles are visible right in the sidebar).
- Journal Checklists โ Markdown-style checkboxes (
- [ ]/- [x]) are interactive inside the note preview. Left-click a checkbox to toggle it; the state is stored in the note's NBT and survives relogs. Completed tasks show a green checkmark and a strikethrough, exactly like the chapter quest system. Task color is set with an&-code prefix before the checkbox (&e- [ ],&c- [ ]), while the checkbox itself stays neutral so state remains readable. - Journal Markdown Support โ The preview parser understands
&0โ&fcolor codes,&l/&o/&n/&mstyles,&rreset, external links[text](https://...), horizontal dividers (---,&6---,&l&9---), Markdown tables with per-column wrap and horizontal drag-scroll, spoilers (@spoiler:/@endspoiler) with toggle-on-click, and checklists. The editor converts&xcodes intoยงxon the fly, so authors never type the section sign directly. - Journal Network Sync โ Two new payloads keep the journal in sync:
SyncDiaryPayload(server โ client, sent on login) andUpdateDiaryPayload(client โ server, sent on create / update / delete). Last-write-wins conflict resolution, no confirmation roundtrip required. - Guide Keybinds โ Two new configurable hotkeys in the
Guidecategory:Bopens the book selector andNopens the journal. Both keys are inventory-aware โ they only do something if the matching item (guide_bookorguide_diary) is actually in your inventory, off-hand, or a Curios slot. No item, no action โ this prevents bypassing the book gating system with a hotkey. Players can rebind both keys in Options โ Controls โ Guide at any time. - Curios Integration โ The
guide_bookandguide_diaryitems now declare themselves compatible with the Curiosbeltslot through a data-driven tag. When Curios is installed, players can equip either item into their belt slot for quick access, and theB/Nkeybinds pick them up from there just like from the inventory. The slot itself is registered through a data-driven entry as well, so no manual configuration is required โ the belt slot appears automatically for any player once the mod is loaded. Curios is an optional dependency; without it, both items keep working from the inventory exactly as before. - Themed Guide Widgets โ New shared
widgets/ThemedButtonclass, a reworkedGuideEditBox, and a newwidgets/MultiLineEditBox. All UI elements (buttons, input fields, panels, scrollbars) now consistently pull their colors from the active theme, including focused/unfocused border states. The themed widget styling will be reused across all Guide screens in follow-up releases.
๐ Fixes:
- Curios Was Required on NeoForge โ Curios was incorrectly declared as a hard dependency in
neoforge.mods.toml, so the mod refused to start if Curios was not installed. This was a NeoForge-specific issue โ the deprecatedmandatory=falsefield is ignored on NeoForge 21.x, and the dependency has to be declared withtype="optional"instead. Fixed: the mod now loads and runs without Curios installed. When Curios is present, the belt slot integration activates as usual; when absent, only the belt slot is missing and everything else works as before. JEI was fixed the same way. - Curios Belt Rendering โ Equipped
guide_bookandguide_diaryare now visible on the player's model when placed in a Curios belt slot. The item is rendered as a small vertical plaque attached to the side of the belt, positioned and rotated to match vanilla player poses (walking, sneaking, swimming) and to stay clear of the skin's geometry. Rendering is client-side only and applies to both first-person wearer and third-person view of other players. - Block Size in
@item:โ The@item:modid:block,size,aligndirective used to ignore the size parameter for block items and render them at a fixed scale, ignoring what the chapter author wrote. Blocks now respect the declared size exactly like flat items do, so@item:minecraft:stone,32,centerand@item:minecraft:diamond,32,centerrender at the same visual footprint. Chapter authors can now mix blocks and items in the same list without one type ballooning out of proportion. - Dedicated Server Crash on Media Load โ JavaCV / FFmpeg native libraries were being initialized on dedicated servers at startup, causing
UnsatisfiedLinkError: Could not find jniavutiland a hard server crash. All media decoders, the native library downloader, the JavaCV bridge, and the texture uploader are now properly marked@OnlyIn(Dist.CLIENT). Dedicated servers no longer download FFmpeg binaries and no longer touch any client-only video code. Single-player, LAN and multiplayer clients are unaffected โ video playback still works exactly as before. - Edit Box Placeholder Overlap โ The search field in the guide and all inputs in the journal used to draw their placeholder text behind the player's typed text, producing a doubled string like
Search...Search.... Placeholders are now drawn only while the field is empty, disappear the moment a character is typed, and sit exactly on the same baseline as the real text. - Edit Box Double Border โ Themed input fields used to show two overlapping borders on some platforms (the vanilla EditBox frame plus the custom themed frame). The custom frame is now drawn precisely over the vanilla one, so only the theme's border is visible, and it correctly switches color on focus.
- Journal Content Touching the Scrollbar โ Horizontal dividers, tables and long text lines in the journal preview used to run flush against the preview scrollbar and the page scrollbar. The content area now reserves a consistent right-side padding so no line ever clips into the scrollbar, and the same padding is used by both the parser and the renderer, so tables always fit inside the visible area instead of being cut off by the scissor.
- Journal Tables with Many Columns โ Tables with a large number of columns could overflow the text area because each column had a 45 px minimum. The sizing pass now performs an emergency proportional shrink after the normal pass, guaranteeing that the sum of column widths never exceeds the available text width. Wide tables still scroll horizontally via left-click drag, but the right border is always visible.
- Journal Spoiler Toggle Reset Scroll โ Opening or closing a spoiler in the journal preview used to rebuild the whole preview, snapping the scroll position back to the top. Spoiler state is now kept between rebuilds, and toggling a spoiler no longer forces a full rebuild, so the reader stays exactly where they were.
- Journal Checklist State Lost on Reopen โ Checklist states used to live only in the open editor screen and were dropped the moment the note was closed. They are now stored inside the note itself (
GuideDiary.Notes[N].quests) and saved every time a checkbox is toggled, so progress survives relogs, dimension changes, and client reinstalls. - Journal Note Title Not Formatted in List โ The note list rendered raw titles, so
&6codes and styles stayed visible as plain text. Titles are now passed through the same formatter as chapter text, so the sidebar shows the note's actual colors and styles.
Optional dependencies
Unavailable version
Unavailable version
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:ubKIGRC6:bMWWa9oM"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:ubKIGRC6:bMWWa9oM"
}

