Safe Waterfill


Create water like landfill, without destroying things on land. Unlike most waterfill mods, this will not destroy any land-based entities, like structures, resources, cliffs, trees, or yourself. Only land with nothing on it will be replaced. Offers a choice of 6 different types of water.

Content
2 years ago
1.1
33.7K
Environment

i Placement

3 years ago

I just moved over from waterfill, and one feature i would love to have is with the added ability to set the depth of the water i would like to be able to set down deeper water types on the shallow ones, without having to place ground and then replace it with the new water type.

3 years ago

I'll experiment with it a bit. There's a lot about tile placement that's hardcoded into the game engine. Safe Waterfill manages to work around one of those limitations. But trying to make water tiles placeable on water could have unwanted drawbacks. I'll try out some options to see if there is a way to do this without some side effect that's worse than the problem it's trying to solve.

3 years ago

sounds good.

3 years ago

I added an option for this in the latest update. I couldn't get it to work with shallow water types for some reason, so it only works for non-shallow water built on top of other water (shallow or otherwise). I know that's sort of consistent with what you requested anyway, but I would have been open to making it more flexible, but it's a technical limitation. It does make physical sense, since the waterfill is designed to remove land, not add more if it. If you want to make deep water into shallow water, you'll have to do it the old fashioned way, in two steps (landfill then waterfill).

3 years ago

I have the mod installed, and it's working beautifully.
I get that shallow water can be moved through.
But what's the difference between Medium Water and Deep Water? They look exactly the same when placed on the map, and both seem to stop movement completely.

3 years ago

They're different tile types that are provided as part of the vanilla game (though the vanilla game doesn't generate all of them, not sure about deep). If you just have a few deep next to a few regular water it's hard to tell the difference, but if you have a big swath of them, you can tell the deep water is a bit of a deeper blue. They also look different on the map view.

Since these are vanilla tiles, various mods will do things with them already. For example a mod might cause biters to be able to swim across medium water, but not deep, or fish to spawn differently. A watercraft mod could make it more or less efficient to travel on. Alien Biomes will cause the game to spawn shallow and deep waters automatically.

Safe Waterfill is very configurable. If you don't see a need for deep water in your game, you can choose the "no deep" setting to get only shallow and regular.

3 years ago

OK, I see, thanks for the answer!

2 years ago

In data.lua you have

if settings.startup["safefill-water-on-water"].value and (layer > 0) then

But shallow-water has layer 0 so it isn't included. If you remove the "layer > 0" part then placing shallow water works.

2 years ago

That's intentional. You can't make regular water shallower by digging it deeper. If you want to make non-shallow water shallow you can landfill it and then place shallow water.

2 years ago

Then why did you say "I couldn't get it to work with shallow water types for some reason"?

And if it is intentional then why can I make deep water shallower to medium water? And why isn't there a shallow landfill that makes deeper water shallower? That's inconsistent.

It's very inconvenient for blueprints. It's bad enough that you have to first blueprint all tiles and then later blueprint entities. Now I have to first blueprint landfill, then blueprint shallow water and third blueprint entities. I think if you enable "safefill-water-on-water" then you accept that pouring more water on water makes no sense but you accept the illogic for convenience. Please add an option to allow placing shallow water on water as well.

2 years ago

I did some testing without the layer > 0 check just to confirm, and it's buggy. It doesn't work as intended. Try making the brush size big and painting a bunch of shallow waterfill, and see how quickly you run out if it. It will consume the shallow waterfill item an unlimited number of times when you keep trying to place it on top of other shallow water. The > 0 check was intentionally added to disallow this since it was hard to get working as intended. The game engine has certain limitations when it comes to tile placement.

1 year, 17 days ago

In Space Exploration you can blueprint scaffolding in space, including over existing asteroid surfaces. But then when the bots try to place it they actually fail and return the scaffolding item to storage. I also haven't notice scaffolding getting lost when I manually place scaffolding. So they have figured something out there.

Maybe the same would apply to shallow water over water. Allow blueprinting shallow water on any water but when shallow water actually gets placed/build on shallow water it is returned without loss.

New response