1.4.1+26.1
Compatibility
Changes
1.4.1
This release bundles everything since 1.4.0 in one go: a full photo journal built into the World Journal, several new automatic milestones, a contextual HUD, a redesigned four-tab settings screen with rebindable keys, a Quick Journal for jotting down notes without leaving the game, a day-change animation, a matching set of new public API, and a handful of bugfixes — including one that could leave old journal entries stuck in the wrong language.
Added
- Screenshot photos in the World Journal. Press F2 (Minecraft's own screenshot key) while in a
world and the screenshot is automatically captured into your journal as a photo card — the day,
coordinates, and dimension it was taken in are recorded with it. Click a photo in the book to
give it a title and a description.
- Photos for a day are laid out as a small scattered cluster (up to 3 per dedicated page) instead of a rigid grid, each with a slight stable tilt, closer to a real scrapbook page.
- Hovering a photo brings it to the front and gently fades its neighbors, with a smooth animated transition rather than an instant snap.
- Clicking a photo opens an edit screen with a large preview of the image itself, not just the title/description fields.
- Only Minecraft's own F2 screenshots are captured — a screenshot taken with your operating system's own shortcut (e.g. Cmd+Shift+4 on macOS) isn't something a Minecraft mod can see, and can also come out as a solid black image on some systems; use F2 for anything you want saved to the journal.
- A "Screenshot" button in the pause menu, next to "World Journal" — takes a clean screenshot (the pause menu itself is never included in the shot) without needing to close the menu first, and shows a confirmation toast.
- Survival streak tracking: how many in-game days you've currently survived without dying, and your longest streak ever in that world. Shown on the HUD automatically in Hardcore worlds.
- World birthday milestones: your world now gets a small journal entry and toast at 100, 365, 500, and 1000 days (365 replaces the old "one year" milestone with the same behavior — existing journals aren't affected).
- Automatic World Journal backups: a backup copy is kept every time you join a world (the last 5 are retained per world), so a corrupted journal file doesn't mean losing your whole journal.
- Weather tracking: whether it rained or thundered is now recorded per day and shown in the book (only on days it actually happened — clear days don't clutter the page).
- Contextual HUD: in the Nether, the HUD shows how long you've been on this particular visit
(in seconds for the first minute, then in minutes); in a Hardcore world, it shows your current
survival streak. Only one is ever shown at a time, to keep the HUD from getting cluttered.
- The whole HUD block adapts while you're in the Nether, since day/night doesn't apply there: the sun/moon icon is replaced with a Netherrack icon, the day-progress bar turns solid red instead of tracking a day/night cycle that doesn't exist in that dimension, and the clock renders as an animated, flickering "corrupted signal" instead of a normal time reading.
- Day-change animation: the day counter on the HUD gives a brief, subtle pulse the moment the day advances (e.g. Day 99 → Day 100), so a change is noticeable without staring at the number. Toggleable in settings.
- Quick Journal: a new key (default
J) opens a small popup to jot down a note without leaving gameplay or opening the full World Journal book — press Enter or click Save to record it and go straight back to the game. - Redesigned settings screen: now split across four tabs (HUD, Info & Alerts, World Journal, Keybinds) instead of one long page, each keeping the readable two-column layout. The new Keybinds tab lets you rebind this mod's two keys directly, with the same conflict warning vanilla shows for clashing keys, plus a shortcut into vanilla's own full key-binding list.
- New settings: toggles for the contextual HUD, the world birthday toast, screenshot photo capture, weather tracking, the day-change animation, and the Quick Journal key — all in the mod's settings screen (Mod Menu or the in-game key).
- New public API (
dev.notesow.vanilladaytimecounter.api.v1) for other Fabric mods:getCurrentSurvivalStreak()/getLongestSurvivalStreak()getCurrentNetherVisitTicks(), the same Nether-visit duration the contextual HUD showsgetPhotoCount()/getPhotoCount(long day)andgetPhotos()/getPhotos(long day), returning the day, coordinates, dimension, title, and description of each captured photo (the image file itself isn't part of the public API)getWeather(long day), returning whether it rained/thundered that day- New events:
PHOTO_CAPTURED(fired the moment a screenshot is captured, before a title/description are set),WEATHER_CHANGED(fired the first time rain or thunder is observed on a day), andWORLD_BIRTHDAY(fired when a 100/365/500/1000-day milestone is reached) - New DTOs
PhotoRecordandWeatherRecord
See "For developers" on this page for the full reference (method signatures, DTO fields, namespacing rules, threading notes).
Fixed
- World Journal entries staying in the wrong language after a language change (bug carried
since automatic journal entries were introduced). Automatic entries (advancements, deaths,
raids, trades, milestones...) were translated once, at the moment they happened, and that exact
text was then kept forever — so switching the game's language later never updated anything
already logged, even though everything else in the book (headings, buttons) switched normally.
Automatic entries are now re-translated live, in whatever language is active whenever you open
the book. This also repairs entries already sitting in an existing journal: the first time you
load a world after updating, old entries are automatically upgraded in place so they start
following the current language too, with no action needed on your part. Entries you wrote
yourself (via the book or
/journal add) and entries logged by another mod are left exactly as typed, since there's no translation to fall back on for free text. - Milestone sound not playing with the day counter hidden (bug carried since the milestone sound was added). The sound has its own dedicated toggle, but was incorrectly also gated behind the day counter's own visibility — turning off the day counter text silently silenced the milestone sound too. It now always plays on a milestone day whenever its own toggle is on, regardless of whether the day counter text itself is shown.
- First Nether visit, first End visit, and the dragon kill not counting toward the advancement
counters (bug carried since those milestones were introduced). These three have always shown
up as journal entries and toasts, but weren't recorded in the structured advancement data behind
getAdvancementCount()/getCompletedAdvancements()and the in-book advancement tally — they now are, for both newly-detected and retroactively-backfilled occurrences. - Performance: a photo that failed to load (a missing or corrupted file) used to have its disk read and image decode reattempted — and fail again — on every single rendered frame for as long as it stayed on screen. It's now correctly remembered as broken after the first failed attempt.
- Performance: the screenshots folder was being scanned up to 4 times a second the entire time you were in a world, regardless of whether you'd taken a new screenshot. Reduced to once a second — imperceptible for detecting a new photo, but meaningfully cheaper for players with a large accumulated screenshots folder.
- Corrupted/blank photo captures: this Minecraft version reads a screenshot back from the GPU asynchronously, so the file could still be mid-write when the mod copied it into the journal, producing a blank or broken image. Screenshots are now verified complete (checked for a valid PNG end marker) before being copied.
- A settings section label ("Events", "Materials collected"...) could end up as the very last line of a journal page with none of its own content following it on that same page. It's now kept together with at least its first line of content, or pushed to the next page entirely.
- The day-heading logo in the World Journal book could be pushed above the page artwork entirely at the smallest available GUI scale. It's now clamped to the page's own top edge at every scale.
- The boss-bar avoidance animation (the counter shrinking and sliding aside when a boss bar appears) could carry a stale "shifted aside" state over into a new world if it hadn't finished resetting when you left the previous one. It's now reset cleanly on both join and disconnect.
- The coordinates line in the photo edit screen could run past the edge of its panel with a long custom era name. It now wraps onto additional lines instead.
- The pause-menu screenshot button stayed visible — and would still show a misleading "added to your journal" confirmation — even after disabling photo capture in settings. It's now hidden in that case.
- This mod's key-binding category showed up as a raw untranslated string in vanilla's own Key Binds list instead of "Vanilla DayTime Counter".
Changed
- Photo title/description default to blank with an inviting "add a title"/"add a description" placeholder, instead of a plain word, so it's obvious they're meant to be edited.
- The screenshot-capture setting was renamed internally; if you had it turned off before this update, it will be back on afterward and need turning off again.
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:MzRXxhkn"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:DinbWefJ:MzRXxhkn"
}

