Fluidlogged API - Advanced Fluid Block Filling System
This library modification for Minecraft 1.12.2 implements an advanced system for filling blocks with various fluids. The system is inspired by standard waterlogging from vanilla game but significantly expands its capabilities.

Main Features
The main advantage of Fluidlogged API is support for absolutely all fluids, including modded and non-source ones. Any block can be configured for fluid filling through the mod's configuration files. At the same time, some block categories automatically support this function by default.
The mod also automatically downloads and applies publicly available configurations from the community, which significantly simplifies setting up a complete fluid filling system for various modifications. This behavior can be disabled in the fluidlogged_api/general.cfg file if necessary.
Improvements and Fixes
Fluidlogged API significantly improves fluid collision accuracy and fixes many fluid-related errors both in vanilla game and in mods. Among the fixed issues:
- MC-2591 - Taking damage when walking over lava corner
- MC-4533 - Water graphical artifacts during diagonal connection
- MC-68129 - Improper smooth lighting operation underwater
- MC-100886 - Falling sand with water or lava ID not displaying
- MC-125771 - Missing block highlighting underwater
- MC-127030 - Flowing water attempting to connect to waterlogged blocks when it shouldn't
- MC-127108 - Waterlogged blocks turning lava into obsidian or cobblestone on physically unconnected sides
- MC-127270 - Visual water level inside filled blocks not adjusting correctly
- MC-227302 - Improper smooth lighting operation on water surface
Compatibility and Solutions
| Known Incompatibilities | Recommended Solutions |
|---|---|
| Better Water Mesh | No solutions |
| Corail Tombstone | Use version 4.6.0 or newer |
| Oceanic Expanse | Use version 1.2.0 or newer |
| Phosphor | Use Alfheim or Hesperus instead |
| The Aether II | Phosphor comes bundled with The Aether II. There exists a version The Aether II: Phosphor Not Included |
| Vintagium | Use Celeritas instead |
Frequently Asked Questions
How does this mod work?
For each block in the world, vanilla game stores two parameters in each chunk: mandatory IBlockState and optional TileEntity. Fluidlogged API adds a third parameter - optional FluidState, which stores information about the filling fluid if present. The mod uses ASM library for bytecode manipulation, allowing vanilla game and Forge to properly read and use FluidStates.
Is it safe to add the mod to existing worlds?
It's always recommended to create world backups before adding new mods. However, this mod doesn't change IBlockStates behavior, so adding to existing worlds should be safe. Removing the mod also shouldn't cause problems, but existing FluidStates will be deleted without recovery possibility.
How to use mod configurations and dependencies?
Information about configurations and using Fluidlogged API as a library will be available in the mod's wiki. For now, you can study source code of other projects using this library.
What to do when discovering errors or incompatibilities?
Reports about errors, crashes or compatibility issues can be left in the mod's issue tracker. This helps improve the mod and fix emerging problems.
Alternatives for Other Versions
For Minecraft versions newer than 1.12.2, there are alternative mods Fluidlogged and Towelette that implement similar functionality. Fluidlogged API will not be ported to other game versions.