1.4.2+26.3+Pre-Release-1
Compatibility
Changes
1.4.2
This release is aimed mostly at other mod developers: a new way to draw a custom progress bar in this mod's own HUD block, icons on custom journal entries, and a way to reuse this mod's milestone celebration for another mod's own big moments — plus an internal rewrite of the World Journal's storage that makes it more crash-safe and cheaper to write to, with no visible change in normal play.
Added
HudBar/HudBarRegistry: other Fabric mods can now register their own progress bar (mana, stamina, a boss's health, a quest timer, anything with a fill fraction) and have it drawn right in this mod's own HUD block — stacked below it (or above it, on a bottom HUD position, so a tall stack never runs off-screen), positioned automatically regardless of which of the 9 HUD position presets you've picked. A bar can carry an icon and a label, and updates live every frame from whatever the registering mod's own value is.- New setting: "Custom HUD bars", on by default — turn it off to hide every third-party bar at once without needing to uninstall whichever mod added them.
- If a mod's bar misbehaves, it's skipped for that frame only (with a single warning, not a flood of them) instead of breaking this mod's own HUD.
- Icons on custom journal entries:
logCustomEventgains an overload that also attaches an item icon, shown next to the entry in the World Journal book. celebrateMilestone: likelogCustomEventwith an icon, but also plays this mod's own configured milestone sound the first time that event is logged — for another mod's "big moment" (a boss defeated, a rare item found, a quest completed) that deserves the same small celebration this mod already gives its own day milestones, without that mod needing to play a sound itself or read the player's sound preference.
See "For developers" on this page for the full reference (method signatures, DTO fields, namespacing rules, threading notes).
Changed
- Internal rewrite of the World Journal's on-disk storage — no visible change during normal
play, called out here for transparency:
- Every new journal entry, death, raid, trade, advancement, or collected material is now appended to the file directly instead of rewriting the entire journal on every single event — meaningfully cheaper to write to for a long-played world with a large journal.
- A full rewrite (still used for deletions like
/journal removeday//journal clear, and a few other cases) now writes to a temporary file and swaps it in atomically, so a crash or power loss mid-save can no longer leave a truncated or corrupted journal file. - The journal file format is now explicitly versioned; an older version of this mod opening a journal saved by a newer one now loads it read-only for that session instead of risking overwriting data it doesn't understand.
- The mod's own settings file now uses a more standard JSON reader/writer internally — no effect on what's actually stored or how you interact with settings.
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:DinbWefJ:t46D05YU"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:DinbWefJ:t46D05YU"
}

