How can I get water to fill a volume in Minecraft

Making water fill an area the way you want (flowing into openings, but staying out of enclosed areas, etc.) is very difficult and would create a lot of lag when it gets applied. From your comments I figured out that just making the water first undetectable and then later detectable would solve your issue as well, you don't actually need the water to be gone at first. How do you make water undetectable? With a combination of a resource pack and a data pack.

This solution only works in Minecraft 1.13 and above. I don't know exactly why you are in 1.7.10, you have to figure out yourself whether you can upgrade. There's not really any way to do what I'm doing here in any way before 1.13.


First I created a resource pack with this layout:

assets
 minecraft
  sounds
   ambient
    underwater
     additions
      water1.ogg*
      water2.ogg*
     underwater_ambience.ogg*
   liquid
    water.ogg*
   music
    game
     water
      axolotl.ogg*
      dragon_fish.ogg*
      shuniji.ogg*
  textures
   block
    water_flow.png (a 32×32 completely transparent image)
    water_overlay.png (a 32×32 completely transparent image)
    water_still.png (a 32×32 completely transparent image)
   misc
    underwater.png (a 32×1024 completely transparent image)
pack.png (just a nice little image of a crossed out bucket)
pack.mcmeta with the content »{"pack":{"pack_format":4,"description":"Makes water undetectable, together with the data pack."}}«

*an empty sound file, downloadable here

I don't know if all of these are necessary, but it's always better to be safe.

Enabling this resource pack already does a lot for hiding water, but it still weakens light, makes the sky blue, reduces the view angle, lets you swim and so on. So there's additionally a data pack that removed these effects. To do that, it makes water not behave like water, by just overwriting the water.json tag with an empty list. This still changes the FOV inside water (due to the bug MC-147936) but it can be balanced by giving the player a speed 1 effect whenever they are inside water. This is done with a function. This function also gives everyone night vision so that they don't see the shadow of water. Due to another bug, this speed effect doesn't actually speed up flying players, so it should be fine. If not, everyone has to set their FOV wider manually in the game settings.

Here is the layout of the data pack:

data
 minecraft
  functions
   fov.mcfunction with the contents »effect give @a night_vision 11 0 true«(new line)»execute as @a at @s anchored eyes if block ~ ~ ~ minecraft:water run effect give @s speed 1 0 true«
  tags
   fluids
    water.json with the contents »{"replace":true,"values":[]}«
   functions
    tick.json with the contents »{"values":["minecraft:fov"]}«
pack.mcmeta with the content »{"pack":{"pack_format":3,"description":"Makes water undetectable, together with the resource pack."}}«

What still happens with these two packs is that blocks like torches are flooded away by the water, but that would happen as soon as you add the water later anyway. Also, mobs can spawn and other effects of low light levels can still happen below water, but since this is a Creative building server, that hopefully shouldn't be too much of an issue.

How to apply:
The resource pack has to be linked in the server.properties file under the resource-pack option of a server, if it's running there, see here (archive). Otherwise it just goes into the usual resource pack location (archive) and has to be enabled from the resource pack menu.
The data pack goes into the usual data pack location (archive). Then enter /datapack enable "file/disable_water_data_pack" into the server console or into chat if you have command permissions. You might also have to do the same with /reload.
Here are zip files of the complete resource pack and data pack, both don't even have to be extracted, they already work as zip files.