Repository files navigation

1MB Water Source

1MB Water Source is a client-only Fabric accessibility mod for Minecraft 26.2. It makes water source blocks easier to distinguish from flowing water when the overlay is useful, while staying completely off during ordinary play by default.

Repository: github.com/mrfdev/WaterSourceMod
Issues: github.com/mrfdev/WaterSourceMod/issues
License: MIT

Release status

Public Beta 1 is version 1.0.0, build 012. This exact build was user-tested and confirmed working on Minecraft 26.2 on August 28, 2026.

Download Beta 1 · Beta 1 release notes · Changelog

The repository currently contains unreleased Beta 2 reliability, performance, settings, visualization, and accessibility work. Beta 1 remains the latest published and user-tested JAR.

Features

  • Toggle the visualization with F9 (rebindable in Minecraft Controls).
  • Optionally show it only while holding F8, without giving up the normal toggle behavior.
  • Force a fresh scan with Shift+F9 (also rebindable through the two key mappings).
  • Choose current-chunk, nearby 3x3, nearby 5x5, or custom scan radii, plus a current-Y, nearby-height, or full-build-height vertical range.
  • Refresh automatically, after debounced client block updates, or only when manually requested. Incremental work obeys both block and millisecond budgets.
  • Use separate discovery and per-frame visible marker limits.
  • Use an RGB color picker, a saved custom palette, and default, color-blind-safe, high-contrast, or monochrome presets.
  • Distinguish muted setting labels from bright values using the same visual language as 1MB Locator HUD, including green ON and red OFF states.
  • Choose independent source, flowing, and waterlogged shapes, including box, pillar, beacon, hollow, stripe, and dot patterns, so marker meaning never depends on color alone.
  • Add a cap or cross to waterlogged markers and represent flowing-water depth through marker height, a surface gauge, both cues, or a fixed shape.
  • Optionally highlight the nearest eligible marker in the world and show its distance, compass direction, and vertical offset in the HUD.
  • Optionally draw the current chunk or the complete scan area. Loaded chunks use solid frames while skipped or pending chunks use dashed frames; this visualization never requests a chunk.
  • Configure opacity, outline thickness and color, pulse animation, maximum render distance, and distance fade.
  • Anchor, offset, scale, adjust the background, or compact the optional status HUD. It reports visible and discovered markers, skipped chunks, and whether a retained snapshot is stale during a refresh.
  • Opt into narrator scan-completion and discovery-limit messages, or a diagnostic HUD with scan timing, processed blocks, discarded markers, and emitted render vertices.
  • Apply local accessibility, exploration, and low-performance profiles.
  • Import or export a validated settings copy inside the normal client config directory.
  • Include or exclude waterlogged source blocks.
  • Scan incrementally, only in client-loaded chunks, across the full loaded vertical build range.
  • Optional through-wall visibility, off by default with a fair-play warning.
  • Optional Mod Menu integration. The mod remains configurable with F10 even when Mod Menu is not installed.

Compatibility and scope

ItemTarget
Release statusPublic Beta 1, user-tested on Minecraft 26.2
Minecraft26.2
Mod loaderFabric Loader 0.19.3 or newer in the 26.2 line
APIFabric API 0.154.2+26.2 or newer compatible 26.2 build
Java25 or newer
ServerNo server-side mod required; works with Paper, vanilla, or other compatible servers
Optional menuMod Menu 20.0.1 or newer compatible 26.2 build

The core mod does not use 1MB Bridge. An optional integration may be proposed later, but it will not be required for the source/flow overlay.

Controls and settings

The defaults are intentionally conservative:

SettingDefaultPurpose
Toggle overlayF9Show or hide the overlay
Temporary showF8, opt-inShow the overlay only while the key is held
RescanShift+F9Restart the loaded-chunk scan immediately
Open settingsF10Open the built-in settings screen
Chunk radius1Scan a 3x3 chunk area around the player
Vertical rangeFull heightScan the full build height; current Y and nearby bands are available
Refresh modeAutomaticRefresh every 4 seconds; block-update and manual-only modes are available
Hard scan budget12,000 blocks/tickBound scan work even on very fast clients
Adaptive time budget3 ms/tickStop incremental work early to protect frame time
Show sourcesOnMark source water
Show flowing waterOnMark non-source water
Include waterlogged sourcesOnInclude source fluid inside waterlogged blocks
Through wallsOffDisable depth-aware rendering only when server rules allow it; tooltip includes #fairplay
LabelsOffShow the optional source/flowing legend in the HUD
PulseOnGently animate marker emphasis
Source / flowing / waterlogged shapesBox / pillar / beaconKeep the three categories visually distinct without color
Waterlogged cueTop capAdd a redundant shape cue above waterlogged markers
Flowing-water levelMarker heightRepresent the client-observed fluid level; surface gauge and combined modes are available
Nearest markerOffOptionally add HUD direction/distance, a world highlight, or both
Scan boundaryOffOptionally frame the current chunk or loaded, skipped, and pending scan chunks without requesting them
PaletteDefaultSelect presets or edit and retain a custom RGB palette
Opacity82%Slide left or right to control marker transparency
Outline thickness2Slide left or right to control marker border thickness, from 1 to 6
Render distance / fade192 blocks / 75%Bound marker rendering and fade toward the configured limit
Discovery limit4096Retain between 512 and 16,384 markers per completed scan
Visible limit4096Draw an independently bounded subset per frame
HUDTop center, 100%Configure anchor, offsets, scale, background opacity, and compact mode; compact mode includes visible/found/skipped/stale state
Narration / diagnosticsOff / OffOpt into scan-completion narration or detailed local performance counters
Local profileCustom defaultsApply accessibility, exploration, or low-performance presets

The built-in screen separates Scanning, Markers, Features, HUD, and Profiles. All visible settings include explanatory tooltips. Minecraft's Controls menu can change the key bindings. The built-in screen is available without Mod Menu; when Mod Menu is present, its config button opens the same screen.

The JSON fallback is stored in the normal client config directory as config/water-source-mod.json. JSON is intentionally simple and has no comments; the in-game tooltips and this README are the explanations for each setting. If the file is malformed, the mod logs a concise warning, moves the original alongside it as water-source-mod.json.invalid-<unique>.bak, and starts with safe defaults.

Beta 1 configuration version 1 is migrated explicitly to version 2. Its single marker shape is copied to all three category shapes and its marker limit is copied to both new limits, preserving the existing appearance. The Profiles page exports and imports config/water-source-mod-export.json; malformed imports are rejected without moving or changing that file.

Installation

  1. Install Fabric Loader for Minecraft 26.2 and Java 25.
  2. Install a compatible Fabric API build.
  3. Optionally install Mod Menu for convenient menu access.
  4. Download 1MB-WaterSource-v1.0.0-012.jar from the Beta 1 release and put it in the client mods/ folder.
  5. Do not install this JAR on the Paper server.
  6. Start the client, press F9 when needed, and use F10 to adjust options.

For the author's local client, the test copy is placed in: /Users/floris/Library/Application Support/minecraft/mods/.

Build from source

This repository targets Java 25, Minecraft 26.2, and Fabric Loom 1.17. The included Gradle wrapper is the reproducible entry point:

./gradlew build

The client JAR is written to:

build/libs/1MB-WaterSource-v1.0.0-<build>.jar

To run the pure configuration tests:

./gradlew test

If more than one JDK is installed, set JAVA25_HOME to a Java 25 home before building. The build also defaults to the standard Java 25 installation path used on the author's Mac.

Build numbering and local releases

The version has two parts in the filename:

1MB-WaterSource-v<mod_version>-<build_number>.jar

For a new build, first move the prior local JAR from releases/ into releases/archive/, increment build_number in gradle.properties, build, and copy the new JAR to the client mods/ folder after removing only the older WaterSource JAR. Build numbers start at 001 and increase to 002, 003, and so on.

Release JARs are ignored by Git intentionally and are never committed to the source tree. Source, documentation, and build metadata are public. Explicitly approved public binaries, beginning with Beta 1 build 012, are attached to GitHub Releases as downloadable assets.

Privacy and security

  • No telemetry, analytics, account identifiers, network requests, or external configuration downloads.
  • No server-side component and no custom server protocol.
  • No filesystem access outside the normal client config directory for settings and the normal renderer/client state.
  • No chunk requests, hidden resource packs, or attempts to evade anti-cheat.
  • Through-wall visibility is disabled by default. Check every server's rules before enabling it.
  • Issue reports should remove usernames, absolute private paths, tokens, world seeds, and unrelated logs.

Credits

Created and maintained by mrfloris.
Vibe coded with the help of OpenAI.

Development notes

See CONTEXT.md, the architecture decisions, and issue-tracker guidance. Bug reports and accessibility feedback are welcome through GitHub Issues.

About

Client-only Fabric accessibility overlay for distinguishing Minecraft 26.2 water source blocks from flowing water.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Repository files navigation

1MB Water Source

1MB Water Source is a client-only Fabric accessibility mod for Minecraft 26.2. It makes water source blocks easier to distinguish from flowing water when the overlay is useful, while staying completely off during ordinary play by default.

Repository: github.com/mrfdev/WaterSourceMod
Issues: github.com/mrfdev/WaterSourceMod/issues
License: MIT

Release status

Public Beta 1 is version 1.0.0, build 012. This exact build was user-tested and confirmed working on Minecraft 26.2 on August 28, 2026.

Download Beta 1 · Beta 1 release notes · Changelog

The repository currently contains unreleased Beta 2 reliability, performance, settings, visualization, and accessibility work. Beta 1 remains the latest published and user-tested JAR.

Features

  • Toggle the visualization with F9 (rebindable in Minecraft Controls).
  • Optionally show it only while holding F8, without giving up the normal toggle behavior.
  • Force a fresh scan with Shift+F9 (also rebindable through the two key mappings).
  • Choose current-chunk, nearby 3x3, nearby 5x5, or custom scan radii, plus a current-Y, nearby-height, or full-build-height vertical range.
  • Refresh automatically, after debounced client block updates, or only when manually requested. Incremental work obeys both block and millisecond budgets.
  • Use separate discovery and per-frame visible marker limits.
  • Use an RGB color picker, a saved custom palette, and default, color-blind-safe, high-contrast, or monochrome presets.
  • Distinguish muted setting labels from bright values using the same visual language as 1MB Locator HUD, including green ON and red OFF states.
  • Choose independent source, flowing, and waterlogged shapes, including box, pillar, beacon, hollow, stripe, and dot patterns, so marker meaning never depends on color alone.
  • Add a cap or cross to waterlogged markers and represent flowing-water depth through marker height, a surface gauge, both cues, or a fixed shape.
  • Optionally highlight the nearest eligible marker in the world and show its distance, compass direction, and vertical offset in the HUD.
  • Optionally draw the current chunk or the complete scan area. Loaded chunks use solid frames while skipped or pending chunks use dashed frames; this visualization never requests a chunk.
  • Configure opacity, outline thickness and color, pulse animation, maximum render distance, and distance fade.
  • Anchor, offset, scale, adjust the background, or compact the optional status HUD. It reports visible and discovered markers, skipped chunks, and whether a retained snapshot is stale during a refresh.
  • Opt into narrator scan-completion and discovery-limit messages, or a diagnostic HUD with scan timing, processed blocks, discarded markers, and emitted render vertices.
  • Apply local accessibility, exploration, and low-performance profiles.
  • Import or export a validated settings copy inside the normal client config directory.
  • Include or exclude waterlogged source blocks.
  • Scan incrementally, only in client-loaded chunks, across the full loaded vertical build range.
  • Optional through-wall visibility, off by default with a fair-play warning.
  • Optional Mod Menu integration. The mod remains configurable with F10 even when Mod Menu is not installed.

Compatibility and scope

ItemTarget
Release statusPublic Beta 1, user-tested on Minecraft 26.2
Minecraft26.2
Mod loaderFabric Loader 0.19.3 or newer in the 26.2 line
APIFabric API 0.154.2+26.2 or newer compatible 26.2 build
Java25 or newer
ServerNo server-side mod required; works with Paper, vanilla, or other compatible servers
Optional menuMod Menu 20.0.1 or newer compatible 26.2 build

The core mod does not use 1MB Bridge. An optional integration may be proposed later, but it will not be required for the source/flow overlay.

Controls and settings

The defaults are intentionally conservative:

SettingDefaultPurpose
Toggle overlayF9Show or hide the overlay
Temporary showF8, opt-inShow the overlay only while the key is held
RescanShift+F9Restart the loaded-chunk scan immediately
Open settingsF10Open the built-in settings screen
Chunk radius1Scan a 3x3 chunk area around the player
Vertical rangeFull heightScan the full build height; current Y and nearby bands are available
Refresh modeAutomaticRefresh every 4 seconds; block-update and manual-only modes are available
Hard scan budget12,000 blocks/tickBound scan work even on very fast clients
Adaptive time budget3 ms/tickStop incremental work early to protect frame time
Show sourcesOnMark source water
Show flowing waterOnMark non-source water
Include waterlogged sourcesOnInclude source fluid inside waterlogged blocks
Through wallsOffDisable depth-aware rendering only when server rules allow it; tooltip includes #fairplay
LabelsOffShow the optional source/flowing legend in the HUD
PulseOnGently animate marker emphasis
Source / flowing / waterlogged shapesBox / pillar / beaconKeep the three categories visually distinct without color
Waterlogged cueTop capAdd a redundant shape cue above waterlogged markers
Flowing-water levelMarker heightRepresent the client-observed fluid level; surface gauge and combined modes are available
Nearest markerOffOptionally add HUD direction/distance, a world highlight, or both
Scan boundaryOffOptionally frame the current chunk or loaded, skipped, and pending scan chunks without requesting them
PaletteDefaultSelect presets or edit and retain a custom RGB palette
Opacity82%Slide left or right to control marker transparency
Outline thickness2Slide left or right to control marker border thickness, from 1 to 6
Render distance / fade192 blocks / 75%Bound marker rendering and fade toward the configured limit
Discovery limit4096Retain between 512 and 16,384 markers per completed scan
Visible limit4096Draw an independently bounded subset per frame
HUDTop center, 100%Configure anchor, offsets, scale, background opacity, and compact mode; compact mode includes visible/found/skipped/stale state
Narration / diagnosticsOff / OffOpt into scan-completion narration or detailed local performance counters
Local profileCustom defaultsApply accessibility, exploration, or low-performance presets

The built-in screen separates Scanning, Markers, Features, HUD, and Profiles. All visible settings include explanatory tooltips. Minecraft's Controls menu can change the key bindings. The built-in screen is available without Mod Menu; when Mod Menu is present, its config button opens the same screen.

The JSON fallback is stored in the normal client config directory as config/water-source-mod.json. JSON is intentionally simple and has no comments; the in-game tooltips and this README are the explanations for each setting. If the file is malformed, the mod logs a concise warning, moves the original alongside it as water-source-mod.json.invalid-<unique>.bak, and starts with safe defaults.

Beta 1 configuration version 1 is migrated explicitly to version 2. Its single marker shape is copied to all three category shapes and its marker limit is copied to both new limits, preserving the existing appearance. The Profiles page exports and imports config/water-source-mod-export.json; malformed imports are rejected without moving or changing that file.

Installation

  1. Install Fabric Loader for Minecraft 26.2 and Java 25.
  2. Install a compatible Fabric API build.
  3. Optionally install Mod Menu for convenient menu access.
  4. Download 1MB-WaterSource-v1.0.0-012.jar from the Beta 1 release and put it in the client mods/ folder.
  5. Do not install this JAR on the Paper server.
  6. Start the client, press F9 when needed, and use F10 to adjust options.

For the author's local client, the test copy is placed in: /Users/floris/Library/Application Support/minecraft/mods/.

Build from source

This repository targets Java 25, Minecraft 26.2, and Fabric Loom 1.17. The included Gradle wrapper is the reproducible entry point:

./gradlew build

The client JAR is written to:

build/libs/1MB-WaterSource-v1.0.0-<build>.jar

To run the pure configuration tests:

./gradlew test

If more than one JDK is installed, set JAVA25_HOME to a Java 25 home before building. The build also defaults to the standard Java 25 installation path used on the author's Mac.

Build numbering and local releases

The version has two parts in the filename:

1MB-WaterSource-v<mod_version>-<build_number>.jar

For a new build, first move the prior local JAR from releases/ into releases/archive/, increment build_number in gradle.properties, build, and copy the new JAR to the client mods/ folder after removing only the older WaterSource JAR. Build numbers start at 001 and increase to 002, 003, and so on.

Release JARs are ignored by Git intentionally and are never committed to the source tree. Source, documentation, and build metadata are public. Explicitly approved public binaries, beginning with Beta 1 build 012, are attached to GitHub Releases as downloadable assets.

Privacy and security

  • No telemetry, analytics, account identifiers, network requests, or external configuration downloads.
  • No server-side component and no custom server protocol.
  • No filesystem access outside the normal client config directory for settings and the normal renderer/client state.
  • No chunk requests, hidden resource packs, or attempts to evade anti-cheat.
  • Through-wall visibility is disabled by default. Check every server's rules before enabling it.
  • Issue reports should remove usernames, absolute private paths, tokens, world seeds, and unrelated logs.

Credits

Created and maintained by mrfloris.
Vibe coded with the help of OpenAI.

Development notes

See CONTEXT.md, the architecture decisions, and issue-tracker guidance. Bug reports and accessibility feedback are welcome through GitHub Issues.

About

Client-only Fabric accessibility overlay for distinguishing Minecraft 26.2 water source blocks from flowing water.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

1MB Water Source

1MB Water Source is a client-only Fabric accessibility mod for Minecraft 26.2. It makes water source blocks easier to distinguish from flowing water when the overlay is useful, while staying completely off during ordinary play by default.

Repository: github.com/mrfdev/WaterSourceMod
Issues: github.com/mrfdev/WaterSourceMod/issues
License: MIT

Release status

Public Beta 1 is version 1.0.0, build 012. This exact build was user-tested and confirmed working on Minecraft 26.2 on August 28, 2026.

Download Beta 1 · Beta 1 release notes · Changelog

The repository currently contains unreleased Beta 2 reliability, performance, settings, visualization, and accessibility work. Beta 1 remains the latest published and user-tested JAR.

Features

  • Toggle the visualization with F9 (rebindable in Minecraft Controls).
  • Optionally show it only while holding F8, without giving up the normal toggle behavior.
  • Force a fresh scan with Shift+F9 (also rebindable through the two key mappings).
  • Choose current-chunk, nearby 3x3, nearby 5x5, or custom scan radii, plus a current-Y, nearby-height, or full-build-height vertical range.
  • Refresh automatically, after debounced client block updates, or only when manually requested. Incremental work obeys both block and millisecond budgets.
  • Use separate discovery and per-frame visible marker limits.
  • Use an RGB color picker, a saved custom palette, and default, color-blind-safe, high-contrast, or monochrome presets.
  • Distinguish muted setting labels from bright values using the same visual language as 1MB Locator HUD, including green ON and red OFF states.
  • Choose independent source, flowing, and waterlogged shapes, including box, pillar, beacon, hollow, stripe, and dot patterns, so marker meaning never depends on color alone.
  • Add a cap or cross to waterlogged markers and represent flowing-water depth through marker height, a surface gauge, both cues, or a fixed shape.
  • Optionally highlight the nearest eligible marker in the world and show its distance, compass direction, and vertical offset in the HUD.
  • Optionally draw the current chunk or the complete scan area. Loaded chunks use solid frames while skipped or pending chunks use dashed frames; this visualization never requests a chunk.
  • Configure opacity, outline thickness and color, pulse animation, maximum render distance, and distance fade.
  • Anchor, offset, scale, adjust the background, or compact the optional status HUD. It reports visible and discovered markers, skipped chunks, and whether a retained snapshot is stale during a refresh.
  • Opt into narrator scan-completion and discovery-limit messages, or a diagnostic HUD with scan timing, processed blocks, discarded markers, and emitted render vertices.
  • Apply local accessibility, exploration, and low-performance profiles.
  • Import or export a validated settings copy inside the normal client config directory.
  • Include or exclude waterlogged source blocks.
  • Scan incrementally, only in client-loaded chunks, across the full loaded vertical build range.
  • Optional through-wall visibility, off by default with a fair-play warning.
  • Optional Mod Menu integration. The mod remains configurable with F10 even when Mod Menu is not installed.

Compatibility and scope

ItemTarget
Release statusPublic Beta 1, user-tested on Minecraft 26.2
Minecraft26.2
Mod loaderFabric Loader 0.19.3 or newer in the 26.2 line
APIFabric API 0.154.2+26.2 or newer compatible 26.2 build
Java25 or newer
ServerNo server-side mod required; works with Paper, vanilla, or other compatible servers
Optional menuMod Menu 20.0.1 or newer compatible 26.2 build

The core mod does not use 1MB Bridge. An optional integration may be proposed later, but it will not be required for the source/flow overlay.

Controls and settings

The defaults are intentionally conservative:

SettingDefaultPurpose
Toggle overlayF9Show or hide the overlay
Temporary showF8, opt-inShow the overlay only while the key is held
RescanShift+F9Restart the loaded-chunk scan immediately
Open settingsF10Open the built-in settings screen
Chunk radius1Scan a 3x3 chunk area around the player
Vertical rangeFull heightScan the full build height; current Y and nearby bands are available
Refresh modeAutomaticRefresh every 4 seconds; block-update and manual-only modes are available
Hard scan budget12,000 blocks/tickBound scan work even on very fast clients
Adaptive time budget3 ms/tickStop incremental work early to protect frame time
Show sourcesOnMark source water
Show flowing waterOnMark non-source water
Include waterlogged sourcesOnInclude source fluid inside waterlogged blocks
Through wallsOffDisable depth-aware rendering only when server rules allow it; tooltip includes #fairplay
LabelsOffShow the optional source/flowing legend in the HUD
PulseOnGently animate marker emphasis
Source / flowing / waterlogged shapesBox / pillar / beaconKeep the three categories visually distinct without color
Waterlogged cueTop capAdd a redundant shape cue above waterlogged markers
Flowing-water levelMarker heightRepresent the client-observed fluid level; surface gauge and combined modes are available
Nearest markerOffOptionally add HUD direction/distance, a world highlight, or both
Scan boundaryOffOptionally frame the current chunk or loaded, skipped, and pending scan chunks without requesting them
PaletteDefaultSelect presets or edit and retain a custom RGB palette
Opacity82%Slide left or right to control marker transparency
Outline thickness2Slide left or right to control marker border thickness, from 1 to 6
Render distance / fade192 blocks / 75%Bound marker rendering and fade toward the configured limit
Discovery limit4096Retain between 512 and 16,384 markers per completed scan
Visible limit4096Draw an independently bounded subset per frame
HUDTop center, 100%Configure anchor, offsets, scale, background opacity, and compact mode; compact mode includes visible/found/skipped/stale state
Narration / diagnosticsOff / OffOpt into scan-completion narration or detailed local performance counters
Local profileCustom defaultsApply accessibility, exploration, or low-performance presets

The built-in screen separates Scanning, Markers, Features, HUD, and Profiles. All visible settings include explanatory tooltips. Minecraft's Controls menu can change the key bindings. The built-in screen is available without Mod Menu; when Mod Menu is present, its config button opens the same screen.

The JSON fallback is stored in the normal client config directory as config/water-source-mod.json. JSON is intentionally simple and has no comments; the in-game tooltips and this README are the explanations for each setting. If the file is malformed, the mod logs a concise warning, moves the original alongside it as water-source-mod.json.invalid-<unique>.bak, and starts with safe defaults.

Beta 1 configuration version 1 is migrated explicitly to version 2. Its single marker shape is copied to all three category shapes and its marker limit is copied to both new limits, preserving the existing appearance. The Profiles page exports and imports config/water-source-mod-export.json; malformed imports are rejected without moving or changing that file.

Installation

  1. Install Fabric Loader for Minecraft 26.2 and Java 25.
  2. Install a compatible Fabric API build.
  3. Optionally install Mod Menu for convenient menu access.
  4. Download 1MB-WaterSource-v1.0.0-012.jar from the Beta 1 release and put it in the client mods/ folder.
  5. Do not install this JAR on the Paper server.
  6. Start the client, press F9 when needed, and use F10 to adjust options.

For the author's local client, the test copy is placed in: /Users/floris/Library/Application Support/minecraft/mods/.

Build from source

This repository targets Java 25, Minecraft 26.2, and Fabric Loom 1.17. The included Gradle wrapper is the reproducible entry point:

./gradlew build

The client JAR is written to:

build/libs/1MB-WaterSource-v1.0.0-<build>.jar

To run the pure configuration tests:

./gradlew test

If more than one JDK is installed, set JAVA25_HOME to a Java 25 home before building. The build also defaults to the standard Java 25 installation path used on the author's Mac.

Build numbering and local releases

The version has two parts in the filename:

1MB-WaterSource-v<mod_version>-<build_number>.jar

For a new build, first move the prior local JAR from releases/ into releases/archive/, increment build_number in gradle.properties, build, and copy the new JAR to the client mods/ folder after removing only the older WaterSource JAR. Build numbers start at 001 and increase to 002, 003, and so on.

Release JARs are ignored by Git intentionally and are never committed to the source tree. Source, documentation, and build metadata are public. Explicitly approved public binaries, beginning with Beta 1 build 012, are attached to GitHub Releases as downloadable assets.

Privacy and security

  • No telemetry, analytics, account identifiers, network requests, or external configuration downloads.
  • No server-side component and no custom server protocol.
  • No filesystem access outside the normal client config directory for settings and the normal renderer/client state.
  • No chunk requests, hidden resource packs, or attempts to evade anti-cheat.
  • Through-wall visibility is disabled by default. Check every server's rules before enabling it.
  • Issue reports should remove usernames, absolute private paths, tokens, world seeds, and unrelated logs.

Credits

Created and maintained by mrfloris.
Vibe coded with the help of OpenAI.

Development notes

See CONTEXT.md, the architecture decisions, and issue-tracker guidance. Bug reports and accessibility feedback are welcome through GitHub Issues.

About

Client-only Fabric accessibility overlay for distinguishing Minecraft 26.2 water source blocks from flowing water.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

1MB Water Source

1MB Water Source is a client-only Fabric accessibility mod for Minecraft 26.2. It makes water source blocks easier to distinguish from flowing water when the overlay is useful, while staying completely off during ordinary play by default.

Repository: github.com/mrfdev/WaterSourceMod
Issues: github.com/mrfdev/WaterSourceMod/issues
License: MIT

Release status

Public Beta 1 is version 1.0.0, build 012. This exact build was user-tested and confirmed working on Minecraft 26.2 on August 28, 2026.

Download Beta 1 · Beta 1 release notes · Changelog

The repository currently contains unreleased Beta 2 reliability, performance, settings, visualization, and accessibility work. Beta 1 remains the latest published and user-tested JAR.

Features

  • Toggle the visualization with F9 (rebindable in Minecraft Controls).
  • Optionally show it only while holding F8, without giving up the normal toggle behavior.
  • Force a fresh scan with Shift+F9 (also rebindable through the two key mappings).
  • Choose current-chunk, nearby 3x3, nearby 5x5, or custom scan radii, plus a current-Y, nearby-height, or full-build-height vertical range.
  • Refresh automatically, after debounced client block updates, or only when manually requested. Incremental work obeys both block and millisecond budgets.
  • Use separate discovery and per-frame visible marker limits.
  • Use an RGB color picker, a saved custom palette, and default, color-blind-safe, high-contrast, or monochrome presets.
  • Distinguish muted setting labels from bright values using the same visual language as 1MB Locator HUD, including green ON and red OFF states.
  • Choose independent source, flowing, and waterlogged shapes, including box, pillar, beacon, hollow, stripe, and dot patterns, so marker meaning never depends on color alone.
  • Add a cap or cross to waterlogged markers and represent flowing-water depth through marker height, a surface gauge, both cues, or a fixed shape.
  • Optionally highlight the nearest eligible marker in the world and show its distance, compass direction, and vertical offset in the HUD.
  • Optionally draw the current chunk or the complete scan area. Loaded chunks use solid frames while skipped or pending chunks use dashed frames; this visualization never requests a chunk.
  • Configure opacity, outline thickness and color, pulse animation, maximum render distance, and distance fade.
  • Anchor, offset, scale, adjust the background, or compact the optional status HUD. It reports visible and discovered markers, skipped chunks, and whether a retained snapshot is stale during a refresh.
  • Opt into narrator scan-completion and discovery-limit messages, or a diagnostic HUD with scan timing, processed blocks, discarded markers, and emitted render vertices.
  • Apply local accessibility, exploration, and low-performance profiles.
  • Import or export a validated settings copy inside the normal client config directory.
  • Include or exclude waterlogged source blocks.
  • Scan incrementally, only in client-loaded chunks, across the full loaded vertical build range.
  • Optional through-wall visibility, off by default with a fair-play warning.
  • Optional Mod Menu integration. The mod remains configurable with F10 even when Mod Menu is not installed.

Compatibility and scope

ItemTarget
Release statusPublic Beta 1, user-tested on Minecraft 26.2
Minecraft26.2
Mod loaderFabric Loader 0.19.3 or newer in the 26.2 line
APIFabric API 0.154.2+26.2 or newer compatible 26.2 build
Java25 or newer
ServerNo server-side mod required; works with Paper, vanilla, or other compatible servers
Optional menuMod Menu 20.0.1 or newer compatible 26.2 build

The core mod does not use 1MB Bridge. An optional integration may be proposed later, but it will not be required for the source/flow overlay.

Controls and settings

The defaults are intentionally conservative:

SettingDefaultPurpose
Toggle overlayF9Show or hide the overlay
Temporary showF8, opt-inShow the overlay only while the key is held
RescanShift+F9Restart the loaded-chunk scan immediately
Open settingsF10Open the built-in settings screen
Chunk radius1Scan a 3x3 chunk area around the player
Vertical rangeFull heightScan the full build height; current Y and nearby bands are available
Refresh modeAutomaticRefresh every 4 seconds; block-update and manual-only modes are available
Hard scan budget12,000 blocks/tickBound scan work even on very fast clients
Adaptive time budget3 ms/tickStop incremental work early to protect frame time
Show sourcesOnMark source water
Show flowing waterOnMark non-source water
Include waterlogged sourcesOnInclude source fluid inside waterlogged blocks
Through wallsOffDisable depth-aware rendering only when server rules allow it; tooltip includes #fairplay
LabelsOffShow the optional source/flowing legend in the HUD
PulseOnGently animate marker emphasis
Source / flowing / waterlogged shapesBox / pillar / beaconKeep the three categories visually distinct without color
Waterlogged cueTop capAdd a redundant shape cue above waterlogged markers
Flowing-water levelMarker heightRepresent the client-observed fluid level; surface gauge and combined modes are available
Nearest markerOffOptionally add HUD direction/distance, a world highlight, or both
Scan boundaryOffOptionally frame the current chunk or loaded, skipped, and pending scan chunks without requesting them
PaletteDefaultSelect presets or edit and retain a custom RGB palette
Opacity82%Slide left or right to control marker transparency
Outline thickness2Slide left or right to control marker border thickness, from 1 to 6
Render distance / fade192 blocks / 75%Bound marker rendering and fade toward the configured limit
Discovery limit4096Retain between 512 and 16,384 markers per completed scan
Visible limit4096Draw an independently bounded subset per frame
HUDTop center, 100%Configure anchor, offsets, scale, background opacity, and compact mode; compact mode includes visible/found/skipped/stale state
Narration / diagnosticsOff / OffOpt into scan-completion narration or detailed local performance counters
Local profileCustom defaultsApply accessibility, exploration, or low-performance presets

The built-in screen separates Scanning, Markers, Features, HUD, and Profiles. All visible settings include explanatory tooltips. Minecraft's Controls menu can change the key bindings. The built-in screen is available without Mod Menu; when Mod Menu is present, its config button opens the same screen.

The JSON fallback is stored in the normal client config directory as config/water-source-mod.json. JSON is intentionally simple and has no comments; the in-game tooltips and this README are the explanations for each setting. If the file is malformed, the mod logs a concise warning, moves the original alongside it as water-source-mod.json.invalid-<unique>.bak, and starts with safe defaults.

Beta 1 configuration version 1 is migrated explicitly to version 2. Its single marker shape is copied to all three category shapes and its marker limit is copied to both new limits, preserving the existing appearance. The Profiles page exports and imports config/water-source-mod-export.json; malformed imports are rejected without moving or changing that file.

Installation

  1. Install Fabric Loader for Minecraft 26.2 and Java 25.
  2. Install a compatible Fabric API build.
  3. Optionally install Mod Menu for convenient menu access.
  4. Download 1MB-WaterSource-v1.0.0-012.jar from the Beta 1 release and put it in the client mods/ folder.
  5. Do not install this JAR on the Paper server.
  6. Start the client, press F9 when needed, and use F10 to adjust options.

For the author's local client, the test copy is placed in: /Users/floris/Library/Application Support/minecraft/mods/.

Build from source

This repository targets Java 25, Minecraft 26.2, and Fabric Loom 1.17. The included Gradle wrapper is the reproducible entry point:

./gradlew build

The client JAR is written to:

build/libs/1MB-WaterSource-v1.0.0-<build>.jar

To run the pure configuration tests:

./gradlew test

If more than one JDK is installed, set JAVA25_HOME to a Java 25 home before building. The build also defaults to the standard Java 25 installation path used on the author's Mac.

Build numbering and local releases

The version has two parts in the filename:

1MB-WaterSource-v<mod_version>-<build_number>.jar

For a new build, first move the prior local JAR from releases/ into releases/archive/, increment build_number in gradle.properties, build, and copy the new JAR to the client mods/ folder after removing only the older WaterSource JAR. Build numbers start at 001 and increase to 002, 003, and so on.

Release JARs are ignored by Git intentionally and are never committed to the source tree. Source, documentation, and build metadata are public. Explicitly approved public binaries, beginning with Beta 1 build 012, are attached to GitHub Releases as downloadable assets.

Privacy and security

  • No telemetry, analytics, account identifiers, network requests, or external configuration downloads.
  • No server-side component and no custom server protocol.
  • No filesystem access outside the normal client config directory for settings and the normal renderer/client state.
  • No chunk requests, hidden resource packs, or attempts to evade anti-cheat.
  • Through-wall visibility is disabled by default. Check every server's rules before enabling it.
  • Issue reports should remove usernames, absolute private paths, tokens, world seeds, and unrelated logs.

Credits

Created and maintained by mrfloris.
Vibe coded with the help of OpenAI.

Development notes

See CONTEXT.md, the architecture decisions, and issue-tracker guidance. Bug reports and accessibility feedback are welcome through GitHub Issues.

About

Client-only Fabric accessibility overlay for distinguishing Minecraft 26.2 water source blocks from flowing water.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Repository files navigation

1MB Water Source

1MB Water Source is a client-only Fabric accessibility mod for Minecraft 26.2. It makes water source blocks easier to distinguish from flowing water when the overlay is useful, while staying completely off during ordinary play by default.

Repository: github.com/mrfdev/WaterSourceMod
Issues: github.com/mrfdev/WaterSourceMod/issues
License: MIT

Release status

Public Beta 1 is version 1.0.0, build 012. This exact build was user-tested and confirmed working on Minecraft 26.2 on August 28, 2026.

Download Beta 1 · Beta 1 release notes · Changelog

The repository currently contains unreleased Beta 2 reliability, performance, settings, visualization, and accessibility work. Beta 1 remains the latest published and user-tested JAR.

Features

  • Toggle the visualization with F9 (rebindable in Minecraft Controls).
  • Optionally show it only while holding F8, without giving up the normal toggle behavior.
  • Force a fresh scan with Shift+F9 (also rebindable through the two key mappings).
  • Choose current-chunk, nearby 3x3, nearby 5x5, or custom scan radii, plus a current-Y, nearby-height, or full-build-height vertical range.
  • Refresh automatically, after debounced client block updates, or only when manually requested. Incremental work obeys both block and millisecond budgets.
  • Use separate discovery and per-frame visible marker limits.
  • Use an RGB color picker, a saved custom palette, and default, color-blind-safe, high-contrast, or monochrome presets.
  • Distinguish muted setting labels from bright values using the same visual language as 1MB Locator HUD, including green ON and red OFF states.
  • Choose independent source, flowing, and waterlogged shapes, including box, pillar, beacon, hollow, stripe, and dot patterns, so marker meaning never depends on color alone.
  • Add a cap or cross to waterlogged markers and represent flowing-water depth through marker height, a surface gauge, both cues, or a fixed shape.
  • Optionally highlight the nearest eligible marker in the world and show its distance, compass direction, and vertical offset in the HUD.
  • Optionally draw the current chunk or the complete scan area. Loaded chunks use solid frames while skipped or pending chunks use dashed frames; this visualization never requests a chunk.
  • Configure opacity, outline thickness and color, pulse animation, maximum render distance, and distance fade.
  • Anchor, offset, scale, adjust the background, or compact the optional status HUD. It reports visible and discovered markers, skipped chunks, and whether a retained snapshot is stale during a refresh.
  • Opt into narrator scan-completion and discovery-limit messages, or a diagnostic HUD with scan timing, processed blocks, discarded markers, and emitted render vertices.
  • Apply local accessibility, exploration, and low-performance profiles.
  • Import or export a validated settings copy inside the normal client config directory.
  • Include or exclude waterlogged source blocks.
  • Scan incrementally, only in client-loaded chunks, across the full loaded vertical build range.
  • Optional through-wall visibility, off by default with a fair-play warning.
  • Optional Mod Menu integration. The mod remains configurable with F10 even when Mod Menu is not installed.

Compatibility and scope

ItemTarget
Release statusPublic Beta 1, user-tested on Minecraft 26.2
Minecraft26.2
Mod loaderFabric Loader 0.19.3 or newer in the 26.2 line
APIFabric API 0.154.2+26.2 or newer compatible 26.2 build
Java25 or newer
ServerNo server-side mod required; works with Paper, vanilla, or other compatible servers
Optional menuMod Menu 20.0.1 or newer compatible 26.2 build

The core mod does not use 1MB Bridge. An optional integration may be proposed later, but it will not be required for the source/flow overlay.

Controls and settings

The defaults are intentionally conservative:

SettingDefaultPurpose
Toggle overlayF9Show or hide the overlay
Temporary showF8, opt-inShow the overlay only while the key is held
RescanShift+F9Restart the loaded-chunk scan immediately
Open settingsF10Open the built-in settings screen
Chunk radius1Scan a 3x3 chunk area around the player
Vertical rangeFull heightScan the full build height; current Y and nearby bands are available
Refresh modeAutomaticRefresh every 4 seconds; block-update and manual-only modes are available
Hard scan budget12,000 blocks/tickBound scan work even on very fast clients
Adaptive time budget3 ms/tickStop incremental work early to protect frame time
Show sourcesOnMark source water
Show flowing waterOnMark non-source water
Include waterlogged sourcesOnInclude source fluid inside waterlogged blocks
Through wallsOffDisable depth-aware rendering only when server rules allow it; tooltip includes #fairplay
LabelsOffShow the optional source/flowing legend in the HUD
PulseOnGently animate marker emphasis
Source / flowing / waterlogged shapesBox / pillar / beaconKeep the three categories visually distinct without color
Waterlogged cueTop capAdd a redundant shape cue above waterlogged markers
Flowing-water levelMarker heightRepresent the client-observed fluid level; surface gauge and combined modes are available
Nearest markerOffOptionally add HUD direction/distance, a world highlight, or both
Scan boundaryOffOptionally frame the current chunk or loaded, skipped, and pending scan chunks without requesting them
PaletteDefaultSelect presets or edit and retain a custom RGB palette
Opacity82%Slide left or right to control marker transparency
Outline thickness2Slide left or right to control marker border thickness, from 1 to 6
Render distance / fade192 blocks / 75%Bound marker rendering and fade toward the configured limit
Discovery limit4096Retain between 512 and 16,384 markers per completed scan
Visible limit4096Draw an independently bounded subset per frame
HUDTop center, 100%Configure anchor, offsets, scale, background opacity, and compact mode; compact mode includes visible/found/skipped/stale state
Narration / diagnosticsOff / OffOpt into scan-completion narration or detailed local performance counters
Local profileCustom defaultsApply accessibility, exploration, or low-performance presets

The built-in screen separates Scanning, Markers, Features, HUD, and Profiles. All visible settings include explanatory tooltips. Minecraft's Controls menu can change the key bindings. The built-in screen is available without Mod Menu; when Mod Menu is present, its config button opens the same screen.

The JSON fallback is stored in the normal client config directory as config/water-source-mod.json. JSON is intentionally simple and has no comments; the in-game tooltips and this README are the explanations for each setting. If the file is malformed, the mod logs a concise warning, moves the original alongside it as water-source-mod.json.invalid-<unique>.bak, and starts with safe defaults.

Beta 1 configuration version 1 is migrated explicitly to version 2. Its single marker shape is copied to all three category shapes and its marker limit is copied to both new limits, preserving the existing appearance. The Profiles page exports and imports config/water-source-mod-export.json; malformed imports are rejected without moving or changing that file.

Installation

  1. Install Fabric Loader for Minecraft 26.2 and Java 25.
  2. Install a compatible Fabric API build.
  3. Optionally install Mod Menu for convenient menu access.
  4. Download 1MB-WaterSource-v1.0.0-012.jar from the Beta 1 release and put it in the client mods/ folder.
  5. Do not install this JAR on the Paper server.
  6. Start the client, press F9 when needed, and use F10 to adjust options.

For the author's local client, the test copy is placed in: /Users/floris/Library/Application Support/minecraft/mods/.

Build from source

This repository targets Java 25, Minecraft 26.2, and Fabric Loom 1.17. The included Gradle wrapper is the reproducible entry point:

./gradlew build

The client JAR is written to:

build/libs/1MB-WaterSource-v1.0.0-<build>.jar

To run the pure configuration tests:

./gradlew test

If more than one JDK is installed, set JAVA25_HOME to a Java 25 home before building. The build also defaults to the standard Java 25 installation path used on the author's Mac.

Build numbering and local releases

The version has two parts in the filename:

1MB-WaterSource-v<mod_version>-<build_number>.jar

For a new build, first move the prior local JAR from releases/ into releases/archive/, increment build_number in gradle.properties, build, and copy the new JAR to the client mods/ folder after removing only the older WaterSource JAR. Build numbers start at 001 and increase to 002, 003, and so on.

Release JARs are ignored by Git intentionally and are never committed to the source tree. Source, documentation, and build metadata are public. Explicitly approved public binaries, beginning with Beta 1 build 012, are attached to GitHub Releases as downloadable assets.

Privacy and security

  • No telemetry, analytics, account identifiers, network requests, or external configuration downloads.
  • No server-side component and no custom server protocol.
  • No filesystem access outside the normal client config directory for settings and the normal renderer/client state.
  • No chunk requests, hidden resource packs, or attempts to evade anti-cheat.
  • Through-wall visibility is disabled by default. Check every server's rules before enabling it.
  • Issue reports should remove usernames, absolute private paths, tokens, world seeds, and unrelated logs.

Credits

Created and maintained by mrfloris.
Vibe coded with the help of OpenAI.

Development notes

See CONTEXT.md, the architecture decisions, and issue-tracker guidance. Bug reports and accessibility feedback are welcome through GitHub Issues.

About

Client-only Fabric accessibility overlay for distinguishing Minecraft 26.2 water source blocks from flowing water.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

1MB Water Source

1MB Water Source is a client-only Fabric accessibility mod for Minecraft 26.2. It makes water source blocks easier to distinguish from flowing water when the overlay is useful, while staying completely off during ordinary play by default.

Repository: github.com/mrfdev/WaterSourceMod
Issues: github.com/mrfdev/WaterSourceMod/issues
License: MIT

Release status

Public Beta 1 is version 1.0.0, build 012. This exact build was user-tested and confirmed working on Minecraft 26.2 on August 28, 2026.

Download Beta 1 · Beta 1 release notes · Changelog

The repository currently contains unreleased Beta 2 reliability, performance, settings, visualization, and accessibility work. Beta 1 remains the latest published and user-tested JAR.

Features

  • Toggle the visualization with F9 (rebindable in Minecraft Controls).
  • Optionally show it only while holding F8, without giving up the normal toggle behavior.
  • Force a fresh scan with Shift+F9 (also rebindable through the two key mappings).
  • Choose current-chunk, nearby 3x3, nearby 5x5, or custom scan radii, plus a current-Y, nearby-height, or full-build-height vertical range.
  • Refresh automatically, after debounced client block updates, or only when manually requested. Incremental work obeys both block and millisecond budgets.
  • Use separate discovery and per-frame visible marker limits.
  • Use an RGB color picker, a saved custom palette, and default, color-blind-safe, high-contrast, or monochrome presets.
  • Distinguish muted setting labels from bright values using the same visual language as 1MB Locator HUD, including green ON and red OFF states.
  • Choose independent source, flowing, and waterlogged shapes, including box, pillar, beacon, hollow, stripe, and dot patterns, so marker meaning never depends on color alone.
  • Add a cap or cross to waterlogged markers and represent flowing-water depth through marker height, a surface gauge, both cues, or a fixed shape.
  • Optionally highlight the nearest eligible marker in the world and show its distance, compass direction, and vertical offset in the HUD.
  • Optionally draw the current chunk or the complete scan area. Loaded chunks use solid frames while skipped or pending chunks use dashed frames; this visualization never requests a chunk.
  • Configure opacity, outline thickness and color, pulse animation, maximum render distance, and distance fade.
  • Anchor, offset, scale, adjust the background, or compact the optional status HUD. It reports visible and discovered markers, skipped chunks, and whether a retained snapshot is stale during a refresh.
  • Opt into narrator scan-completion and discovery-limit messages, or a diagnostic HUD with scan timing, processed blocks, discarded markers, and emitted render vertices.
  • Apply local accessibility, exploration, and low-performance profiles.
  • Import or export a validated settings copy inside the normal client config directory.
  • Include or exclude waterlogged source blocks.
  • Scan incrementally, only in client-loaded chunks, across the full loaded vertical build range.
  • Optional through-wall visibility, off by default with a fair-play warning.
  • Optional Mod Menu integration. The mod remains configurable with F10 even when Mod Menu is not installed.

Compatibility and scope

ItemTarget
Release statusPublic Beta 1, user-tested on Minecraft 26.2
Minecraft26.2
Mod loaderFabric Loader 0.19.3 or newer in the 26.2 line
APIFabric API 0.154.2+26.2 or newer compatible 26.2 build
Java25 or newer
ServerNo server-side mod required; works with Paper, vanilla, or other compatible servers
Optional menuMod Menu 20.0.1 or newer compatible 26.2 build

The core mod does not use 1MB Bridge. An optional integration may be proposed later, but it will not be required for the source/flow overlay.

Controls and settings

The defaults are intentionally conservative:

SettingDefaultPurpose
Toggle overlayF9Show or hide the overlay
Temporary showF8, opt-inShow the overlay only while the key is held
RescanShift+F9Restart the loaded-chunk scan immediately
Open settingsF10Open the built-in settings screen
Chunk radius1Scan a 3x3 chunk area around the player
Vertical rangeFull heightScan the full build height; current Y and nearby bands are available
Refresh modeAutomaticRefresh every 4 seconds; block-update and manual-only modes are available
Hard scan budget12,000 blocks/tickBound scan work even on very fast clients
Adaptive time budget3 ms/tickStop incremental work early to protect frame time
Show sourcesOnMark source water
Show flowing waterOnMark non-source water
Include waterlogged sourcesOnInclude source fluid inside waterlogged blocks
Through wallsOffDisable depth-aware rendering only when server rules allow it; tooltip includes #fairplay
LabelsOffShow the optional source/flowing legend in the HUD
PulseOnGently animate marker emphasis
Source / flowing / waterlogged shapesBox / pillar / beaconKeep the three categories visually distinct without color
Waterlogged cueTop capAdd a redundant shape cue above waterlogged markers
Flowing-water levelMarker heightRepresent the client-observed fluid level; surface gauge and combined modes are available
Nearest markerOffOptionally add HUD direction/distance, a world highlight, or both
Scan boundaryOffOptionally frame the current chunk or loaded, skipped, and pending scan chunks without requesting them
PaletteDefaultSelect presets or edit and retain a custom RGB palette
Opacity82%Slide left or right to control marker transparency
Outline thickness2Slide left or right to control marker border thickness, from 1 to 6
Render distance / fade192 blocks / 75%Bound marker rendering and fade toward the configured limit
Discovery limit4096Retain between 512 and 16,384 markers per completed scan
Visible limit4096Draw an independently bounded subset per frame
HUDTop center, 100%Configure anchor, offsets, scale, background opacity, and compact mode; compact mode includes visible/found/skipped/stale state
Narration / diagnosticsOff / OffOpt into scan-completion narration or detailed local performance counters
Local profileCustom defaultsApply accessibility, exploration, or low-performance presets

The built-in screen separates Scanning, Markers, Features, HUD, and Profiles. All visible settings include explanatory tooltips. Minecraft's Controls menu can change the key bindings. The built-in screen is available without Mod Menu; when Mod Menu is present, its config button opens the same screen.

The JSON fallback is stored in the normal client config directory as config/water-source-mod.json. JSON is intentionally simple and has no comments; the in-game tooltips and this README are the explanations for each setting. If the file is malformed, the mod logs a concise warning, moves the original alongside it as water-source-mod.json.invalid-<unique>.bak, and starts with safe defaults.

Beta 1 configuration version 1 is migrated explicitly to version 2. Its single marker shape is copied to all three category shapes and its marker limit is copied to both new limits, preserving the existing appearance. The Profiles page exports and imports config/water-source-mod-export.json; malformed imports are rejected without moving or changing that file.

Installation

  1. Install Fabric Loader for Minecraft 26.2 and Java 25.
  2. Install a compatible Fabric API build.
  3. Optionally install Mod Menu for convenient menu access.
  4. Download 1MB-WaterSource-v1.0.0-012.jar from the Beta 1 release and put it in the client mods/ folder.
  5. Do not install this JAR on the Paper server.
  6. Start the client, press F9 when needed, and use F10 to adjust options.

For the author's local client, the test copy is placed in: /Users/floris/Library/Application Support/minecraft/mods/.

Build from source

This repository targets Java 25, Minecraft 26.2, and Fabric Loom 1.17. The included Gradle wrapper is the reproducible entry point:

./gradlew build

The client JAR is written to:

build/libs/1MB-WaterSource-v1.0.0-<build>.jar

To run the pure configuration tests:

./gradlew test

If more than one JDK is installed, set JAVA25_HOME to a Java 25 home before building. The build also defaults to the standard Java 25 installation path used on the author's Mac.

Build numbering and local releases

The version has two parts in the filename:

1MB-WaterSource-v<mod_version>-<build_number>.jar

For a new build, first move the prior local JAR from releases/ into releases/archive/, increment build_number in gradle.properties, build, and copy the new JAR to the client mods/ folder after removing only the older WaterSource JAR. Build numbers start at 001 and increase to 002, 003, and so on.

Release JARs are ignored by Git intentionally and are never committed to the source tree. Source, documentation, and build metadata are public. Explicitly approved public binaries, beginning with Beta 1 build 012, are attached to GitHub Releases as downloadable assets.

Privacy and security

  • No telemetry, analytics, account identifiers, network requests, or external configuration downloads.
  • No server-side component and no custom server protocol.
  • No filesystem access outside the normal client config directory for settings and the normal renderer/client state.
  • No chunk requests, hidden resource packs, or attempts to evade anti-cheat.
  • Through-wall visibility is disabled by default. Check every server's rules before enabling it.
  • Issue reports should remove usernames, absolute private paths, tokens, world seeds, and unrelated logs.

Credits

Created and maintained by mrfloris.
Vibe coded with the help of OpenAI.

Development notes

See CONTEXT.md, the architecture decisions, and issue-tracker guidance. Bug reports and accessibility feedback are welcome through GitHub Issues.

About

Client-only Fabric accessibility overlay for distinguishing Minecraft 26.2 water source blocks from flowing water.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

1MB Water Source

1MB Water Source is a client-only Fabric accessibility mod for Minecraft 26.2. It makes water source blocks easier to distinguish from flowing water when the overlay is useful, while staying completely off during ordinary play by default.

Repository: github.com/mrfdev/WaterSourceMod
Issues: github.com/mrfdev/WaterSourceMod/issues
License: MIT

Release status

Public Beta 1 is version 1.0.0, build 012. This exact build was user-tested and confirmed working on Minecraft 26.2 on August 28, 2026.

Download Beta 1 · Beta 1 release notes · Changelog

The repository currently contains unreleased Beta 2 reliability, performance, settings, visualization, and accessibility work. Beta 1 remains the latest published and user-tested JAR.

Features

  • Toggle the visualization with F9 (rebindable in Minecraft Controls).
  • Optionally show it only while holding F8, without giving up the normal toggle behavior.
  • Force a fresh scan with Shift+F9 (also rebindable through the two key mappings).
  • Choose current-chunk, nearby 3x3, nearby 5x5, or custom scan radii, plus a current-Y, nearby-height, or full-build-height vertical range.
  • Refresh automatically, after debounced client block updates, or only when manually requested. Incremental work obeys both block and millisecond budgets.
  • Use separate discovery and per-frame visible marker limits.
  • Use an RGB color picker, a saved custom palette, and default, color-blind-safe, high-contrast, or monochrome presets.
  • Distinguish muted setting labels from bright values using the same visual language as 1MB Locator HUD, including green ON and red OFF states.
  • Choose independent source, flowing, and waterlogged shapes, including box, pillar, beacon, hollow, stripe, and dot patterns, so marker meaning never depends on color alone.
  • Add a cap or cross to waterlogged markers and represent flowing-water depth through marker height, a surface gauge, both cues, or a fixed shape.
  • Optionally highlight the nearest eligible marker in the world and show its distance, compass direction, and vertical offset in the HUD.
  • Optionally draw the current chunk or the complete scan area. Loaded chunks use solid frames while skipped or pending chunks use dashed frames; this visualization never requests a chunk.
  • Configure opacity, outline thickness and color, pulse animation, maximum render distance, and distance fade.
  • Anchor, offset, scale, adjust the background, or compact the optional status HUD. It reports visible and discovered markers, skipped chunks, and whether a retained snapshot is stale during a refresh.
  • Opt into narrator scan-completion and discovery-limit messages, or a diagnostic HUD with scan timing, processed blocks, discarded markers, and emitted render vertices.
  • Apply local accessibility, exploration, and low-performance profiles.
  • Import or export a validated settings copy inside the normal client config directory.
  • Include or exclude waterlogged source blocks.
  • Scan incrementally, only in client-loaded chunks, across the full loaded vertical build range.
  • Optional through-wall visibility, off by default with a fair-play warning.
  • Optional Mod Menu integration. The mod remains configurable with F10 even when Mod Menu is not installed.

Compatibility and scope

ItemTarget
Release statusPublic Beta 1, user-tested on Minecraft 26.2
Minecraft26.2
Mod loaderFabric Loader 0.19.3 or newer in the 26.2 line
APIFabric API 0.154.2+26.2 or newer compatible 26.2 build
Java25 or newer
ServerNo server-side mod required; works with Paper, vanilla, or other compatible servers
Optional menuMod Menu 20.0.1 or newer compatible 26.2 build

The core mod does not use 1MB Bridge. An optional integration may be proposed later, but it will not be required for the source/flow overlay.

Controls and settings

The defaults are intentionally conservative:

SettingDefaultPurpose
Toggle overlayF9Show or hide the overlay
Temporary showF8, opt-inShow the overlay only while the key is held
RescanShift+F9Restart the loaded-chunk scan immediately
Open settingsF10Open the built-in settings screen
Chunk radius1Scan a 3x3 chunk area around the player
Vertical rangeFull heightScan the full build height; current Y and nearby bands are available
Refresh modeAutomaticRefresh every 4 seconds; block-update and manual-only modes are available
Hard scan budget12,000 blocks/tickBound scan work even on very fast clients
Adaptive time budget3 ms/tickStop incremental work early to protect frame time
Show sourcesOnMark source water
Show flowing waterOnMark non-source water
Include waterlogged sourcesOnInclude source fluid inside waterlogged blocks
Through wallsOffDisable depth-aware rendering only when server rules allow it; tooltip includes #fairplay
LabelsOffShow the optional source/flowing legend in the HUD
PulseOnGently animate marker emphasis
Source / flowing / waterlogged shapesBox / pillar / beaconKeep the three categories visually distinct without color
Waterlogged cueTop capAdd a redundant shape cue above waterlogged markers
Flowing-water levelMarker heightRepresent the client-observed fluid level; surface gauge and combined modes are available
Nearest markerOffOptionally add HUD direction/distance, a world highlight, or both
Scan boundaryOffOptionally frame the current chunk or loaded, skipped, and pending scan chunks without requesting them
PaletteDefaultSelect presets or edit and retain a custom RGB palette
Opacity82%Slide left or right to control marker transparency
Outline thickness2Slide left or right to control marker border thickness, from 1 to 6
Render distance / fade192 blocks / 75%Bound marker rendering and fade toward the configured limit
Discovery limit4096Retain between 512 and 16,384 markers per completed scan
Visible limit4096Draw an independently bounded subset per frame
HUDTop center, 100%Configure anchor, offsets, scale, background opacity, and compact mode; compact mode includes visible/found/skipped/stale state
Narration / diagnosticsOff / OffOpt into scan-completion narration or detailed local performance counters
Local profileCustom defaultsApply accessibility, exploration, or low-performance presets

The built-in screen separates Scanning, Markers, Features, HUD, and Profiles. All visible settings include explanatory tooltips. Minecraft's Controls menu can change the key bindings. The built-in screen is available without Mod Menu; when Mod Menu is present, its config button opens the same screen.

The JSON fallback is stored in the normal client config directory as config/water-source-mod.json. JSON is intentionally simple and has no comments; the in-game tooltips and this README are the explanations for each setting. If the file is malformed, the mod logs a concise warning, moves the original alongside it as water-source-mod.json.invalid-<unique>.bak, and starts with safe defaults.

Beta 1 configuration version 1 is migrated explicitly to version 2. Its single marker shape is copied to all three category shapes and its marker limit is copied to both new limits, preserving the existing appearance. The Profiles page exports and imports config/water-source-mod-export.json; malformed imports are rejected without moving or changing that file.

Installation

  1. Install Fabric Loader for Minecraft 26.2 and Java 25.
  2. Install a compatible Fabric API build.
  3. Optionally install Mod Menu for convenient menu access.
  4. Download 1MB-WaterSource-v1.0.0-012.jar from the Beta 1 release and put it in the client mods/ folder.
  5. Do not install this JAR on the Paper server.
  6. Start the client, press F9 when needed, and use F10 to adjust options.

For the author's local client, the test copy is placed in: /Users/floris/Library/Application Support/minecraft/mods/.

Build from source

This repository targets Java 25, Minecraft 26.2, and Fabric Loom 1.17. The included Gradle wrapper is the reproducible entry point:

./gradlew build

The client JAR is written to:

build/libs/1MB-WaterSource-v1.0.0-<build>.jar

To run the pure configuration tests:

./gradlew test

If more than one JDK is installed, set JAVA25_HOME to a Java 25 home before building. The build also defaults to the standard Java 25 installation path used on the author's Mac.

Build numbering and local releases

The version has two parts in the filename:

1MB-WaterSource-v<mod_version>-<build_number>.jar

For a new build, first move the prior local JAR from releases/ into releases/archive/, increment build_number in gradle.properties, build, and copy the new JAR to the client mods/ folder after removing only the older WaterSource JAR. Build numbers start at 001 and increase to 002, 003, and so on.

Release JARs are ignored by Git intentionally and are never committed to the source tree. Source, documentation, and build metadata are public. Explicitly approved public binaries, beginning with Beta 1 build 012, are attached to GitHub Releases as downloadable assets.

Privacy and security

  • No telemetry, analytics, account identifiers, network requests, or external configuration downloads.
  • No server-side component and no custom server protocol.
  • No filesystem access outside the normal client config directory for settings and the normal renderer/client state.
  • No chunk requests, hidden resource packs, or attempts to evade anti-cheat.
  • Through-wall visibility is disabled by default. Check every server's rules before enabling it.
  • Issue reports should remove usernames, absolute private paths, tokens, world seeds, and unrelated logs.

Credits

Created and maintained by mrfloris.
Vibe coded with the help of OpenAI.

Development notes

See CONTEXT.md, the architecture decisions, and issue-tracker guidance. Bug reports and accessibility feedback are welcome through GitHub Issues.

About

Client-only Fabric accessibility overlay for distinguishing Minecraft 26.2 water source blocks from flowing water.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Repository files navigation

1MB Water Source

1MB Water Source is a client-only Fabric accessibility mod for Minecraft 26.2. It makes water source blocks easier to distinguish from flowing water when the overlay is useful, while staying completely off during ordinary play by default.

Repository: github.com/mrfdev/WaterSourceMod
Issues: github.com/mrfdev/WaterSourceMod/issues
License: MIT

Release status

Public Beta 1 is version 1.0.0, build 012. This exact build was user-tested and confirmed working on Minecraft 26.2 on August 28, 2026.

Download Beta 1 · Beta 1 release notes · Changelog

The repository currently contains unreleased Beta 2 reliability, performance, settings, visualization, and accessibility work. Beta 1 remains the latest published and user-tested JAR.

Features

  • Toggle the visualization with F9 (rebindable in Minecraft Controls).
  • Optionally show it only while holding F8, without giving up the normal toggle behavior.
  • Force a fresh scan with Shift+F9 (also rebindable through the two key mappings).
  • Choose current-chunk, nearby 3x3, nearby 5x5, or custom scan radii, plus a current-Y, nearby-height, or full-build-height vertical range.
  • Refresh automatically, after debounced client block updates, or only when manually requested. Incremental work obeys both block and millisecond budgets.
  • Use separate discovery and per-frame visible marker limits.
  • Use an RGB color picker, a saved custom palette, and default, color-blind-safe, high-contrast, or monochrome presets.
  • Distinguish muted setting labels from bright values using the same visual language as 1MB Locator HUD, including green ON and red OFF states.
  • Choose independent source, flowing, and waterlogged shapes, including box, pillar, beacon, hollow, stripe, and dot patterns, so marker meaning never depends on color alone.
  • Add a cap or cross to waterlogged markers and represent flowing-water depth through marker height, a surface gauge, both cues, or a fixed shape.
  • Optionally highlight the nearest eligible marker in the world and show its distance, compass direction, and vertical offset in the HUD.
  • Optionally draw the current chunk or the complete scan area. Loaded chunks use solid frames while skipped or pending chunks use dashed frames; this visualization never requests a chunk.
  • Configure opacity, outline thickness and color, pulse animation, maximum render distance, and distance fade.
  • Anchor, offset, scale, adjust the background, or compact the optional status HUD. It reports visible and discovered markers, skipped chunks, and whether a retained snapshot is stale during a refresh.
  • Opt into narrator scan-completion and discovery-limit messages, or a diagnostic HUD with scan timing, processed blocks, discarded markers, and emitted render vertices.
  • Apply local accessibility, exploration, and low-performance profiles.
  • Import or export a validated settings copy inside the normal client config directory.
  • Include or exclude waterlogged source blocks.
  • Scan incrementally, only in client-loaded chunks, across the full loaded vertical build range.
  • Optional through-wall visibility, off by default with a fair-play warning.
  • Optional Mod Menu integration. The mod remains configurable with F10 even when Mod Menu is not installed.

Compatibility and scope

ItemTarget
Release statusPublic Beta 1, user-tested on Minecraft 26.2
Minecraft26.2
Mod loaderFabric Loader 0.19.3 or newer in the 26.2 line
APIFabric API 0.154.2+26.2 or newer compatible 26.2 build
Java25 or newer
ServerNo server-side mod required; works with Paper, vanilla, or other compatible servers
Optional menuMod Menu 20.0.1 or newer compatible 26.2 build

The core mod does not use 1MB Bridge. An optional integration may be proposed later, but it will not be required for the source/flow overlay.

Controls and settings

The defaults are intentionally conservative:

SettingDefaultPurpose
Toggle overlayF9Show or hide the overlay
Temporary showF8, opt-inShow the overlay only while the key is held
RescanShift+F9Restart the loaded-chunk scan immediately
Open settingsF10Open the built-in settings screen
Chunk radius1Scan a 3x3 chunk area around the player
Vertical rangeFull heightScan the full build height; current Y and nearby bands are available
Refresh modeAutomaticRefresh every 4 seconds; block-update and manual-only modes are available
Hard scan budget12,000 blocks/tickBound scan work even on very fast clients
Adaptive time budget3 ms/tickStop incremental work early to protect frame time
Show sourcesOnMark source water
Show flowing waterOnMark non-source water
Include waterlogged sourcesOnInclude source fluid inside waterlogged blocks
Through wallsOffDisable depth-aware rendering only when server rules allow it; tooltip includes #fairplay
LabelsOffShow the optional source/flowing legend in the HUD
PulseOnGently animate marker emphasis
Source / flowing / waterlogged shapesBox / pillar / beaconKeep the three categories visually distinct without color
Waterlogged cueTop capAdd a redundant shape cue above waterlogged markers
Flowing-water levelMarker heightRepresent the client-observed fluid level; surface gauge and combined modes are available
Nearest markerOffOptionally add HUD direction/distance, a world highlight, or both
Scan boundaryOffOptionally frame the current chunk or loaded, skipped, and pending scan chunks without requesting them
PaletteDefaultSelect presets or edit and retain a custom RGB palette
Opacity82%Slide left or right to control marker transparency
Outline thickness2Slide left or right to control marker border thickness, from 1 to 6
Render distance / fade192 blocks / 75%Bound marker rendering and fade toward the configured limit
Discovery limit4096Retain between 512 and 16,384 markers per completed scan
Visible limit4096Draw an independently bounded subset per frame
HUDTop center, 100%Configure anchor, offsets, scale, background opacity, and compact mode; compact mode includes visible/found/skipped/stale state
Narration / diagnosticsOff / OffOpt into scan-completion narration or detailed local performance counters
Local profileCustom defaultsApply accessibility, exploration, or low-performance presets

The built-in screen separates Scanning, Markers, Features, HUD, and Profiles. All visible settings include explanatory tooltips. Minecraft's Controls menu can change the key bindings. The built-in screen is available without Mod Menu; when Mod Menu is present, its config button opens the same screen.

The JSON fallback is stored in the normal client config directory as config/water-source-mod.json. JSON is intentionally simple and has no comments; the in-game tooltips and this README are the explanations for each setting. If the file is malformed, the mod logs a concise warning, moves the original alongside it as water-source-mod.json.invalid-<unique>.bak, and starts with safe defaults.

Beta 1 configuration version 1 is migrated explicitly to version 2. Its single marker shape is copied to all three category shapes and its marker limit is copied to both new limits, preserving the existing appearance. The Profiles page exports and imports config/water-source-mod-export.json; malformed imports are rejected without moving or changing that file.

Installation

  1. Install Fabric Loader for Minecraft 26.2 and Java 25.
  2. Install a compatible Fabric API build.
  3. Optionally install Mod Menu for convenient menu access.
  4. Download 1MB-WaterSource-v1.0.0-012.jar from the Beta 1 release and put it in the client mods/ folder.
  5. Do not install this JAR on the Paper server.
  6. Start the client, press F9 when needed, and use F10 to adjust options.

For the author's local client, the test copy is placed in: /Users/floris/Library/Application Support/minecraft/mods/.

Build from source

This repository targets Java 25, Minecraft 26.2, and Fabric Loom 1.17. The included Gradle wrapper is the reproducible entry point:

./gradlew build

The client JAR is written to:

build/libs/1MB-WaterSource-v1.0.0-<build>.jar

To run the pure configuration tests:

./gradlew test

If more than one JDK is installed, set JAVA25_HOME to a Java 25 home before building. The build also defaults to the standard Java 25 installation path used on the author's Mac.

Build numbering and local releases

The version has two parts in the filename:

1MB-WaterSource-v<mod_version>-<build_number>.jar

For a new build, first move the prior local JAR from releases/ into releases/archive/, increment build_number in gradle.properties, build, and copy the new JAR to the client mods/ folder after removing only the older WaterSource JAR. Build numbers start at 001 and increase to 002, 003, and so on.

Release JARs are ignored by Git intentionally and are never committed to the source tree. Source, documentation, and build metadata are public. Explicitly approved public binaries, beginning with Beta 1 build 012, are attached to GitHub Releases as downloadable assets.

Privacy and security

  • No telemetry, analytics, account identifiers, network requests, or external configuration downloads.
  • No server-side component and no custom server protocol.
  • No filesystem access outside the normal client config directory for settings and the normal renderer/client state.
  • No chunk requests, hidden resource packs, or attempts to evade anti-cheat.
  • Through-wall visibility is disabled by default. Check every server's rules before enabling it.
  • Issue reports should remove usernames, absolute private paths, tokens, world seeds, and unrelated logs.

Credits

Created and maintained by mrfloris.
Vibe coded with the help of OpenAI.

Development notes

See CONTEXT.md, the architecture decisions, and issue-tracker guidance. Bug reports and accessibility feedback are welcome through GitHub Issues.

About

Client-only Fabric accessibility overlay for distinguishing Minecraft 26.2 water source blocks from flowing water.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages