(Posted here because you Gregtech types seem to like things harder)
Want to make water a bit more of a challenge than vanilla, but don't QUITE like how codechickencore disables it completely? Use this mod.
You can add biomes/dimensions/height levels via the generated config file using a whitelist or blacklist function.
BY DEFAULT, infinite water only works if the conditions are as follows:
• Biome = OCEAN, RIVER, BEACH (It uses the biomedictionary, so any mod biomes that are ocean, river, or beach work as well. Tested with ATG's GravelBeach)
• Dim = 0 (No end, no nether. You can add more dimensions by adding to this array in the config file. I like setting Europa to have infinite water when using GalaxySpace)
• Height = 0 - 255 (Any height)
You can change the settings using 'reverse' in the config file to make infinite water spawn everywhere except in banned places using the config file.
THIS IS A VERY EARLY RELEASE, SO I NEED BUG REPORTS AND INCOMPATIBILITIES. WORLD SAFETY NOT A GUARANTEE.
This mod uses ASM to edit the method 'updateTick' in BlockDynamicLiquid.class by adding in another check method around line 70 which sets the variable 'field_149815_a' (basically how many source block neighbors this water block has) to 0 if the block is in incorrect surroundings, making the next check impossible to complete (which would create another source block).
This mod should be compatible with every mod unless they affect the same thing I do (even if CodeChickenCore has finiteWater on, which would win precedence). For comparison, CodeChickenCore edits the 'field_149815_a' check to be 5 adjacent blocks instead of the vanilla 2, which is impossible since a block can only have 4 horizontal neighbors.
Since updateTick is only ran when a random block update is called, this mod should do fine performance wise in normal gameplay, unless thousands of water blocks are updating at the same time..but even then, the added strain might not be noticeable since water is pretty inefficient anyway.