Minecraft sponge and water clearing strategies

Many times, I have wondered what the most efficient way to clear a body of water with sponges is. It's hard to find a good answer, though: there's a lot of AI-generated filler material out there, and the rest is either noob mode stuff, or hidden and inaccessible in Discord servers or unfindable Reddit posts. Hence, this page: human-written, tested, calculated. (All the sponge behavior below functions as it did in Minecraft Java Edition 1.20.2.)

Skip past the text and jump right to the strategies

What is "efficient"?

This is actually a very important question, because the answer to "what is the most efficient" changes depending on what our definition of "efficient" is. We need to choose what to optimize, and there are various aspects to what can be optimized – and some of them are mutually incompatible, so we have to decide.

I came up with these possible variables to optimize. There may be more, but I could only think of these, so they're what I'm focusing on:

  1. Minimizing the number of sponge blocks needed overall to drain a body of water.
  2. Minimizing the number of sponge blocks placed to drain a body of wateer.
  3. Minimizing the number of sponge blocks that need to be dried to drain a body of water.
  4. Minimizing the number of auxiliary, non-sponge blocks placed.
  5. Minimizing the number of auxiliary, non-sponge blocks that need to be mined after draining.
  6. Minimizing the time taken to drain water.

Variable 6, minimizing time, is the hardest of all of these to calculate, since it depends so much on your own working speed and situation. I'll be ignoring it.

Variables 1, 2, and 3 are similar, but subtly different. Of course, there's the trivial answer of "zero": you don't need any sponge blocks to drain water. You can just replace all the water with other blocks, or pour flowing lava on top of it and turn it into stone, but then you'll need to mine out all those blocks once you're done – I assume that by "draining" we want the volume to be empty afterwards. Variables 2 and 3 are identical for the purposes of my analysis, though: we're analyzing the situation where you have a small amount of sponges, and you want to keep using the same sponges over and over again to drain water, so you'll in any case want each sponge to absorb the most water possible.

Variables 4 and 5 are also similar, but slightly different: by "placing" I mean blocks you place from your inventory. If you pour lava on water it'll turn into stone, but you don't need to place that stone yourself: you need only a few other blocks to provide the initial surface to place your lava, and after that, all the stone appears for free. You will need to mine that stone, afterwards, though.

So, for my analysis on this page, I will be combining variables 3 and 5: I want to drain a body of water with a small number of sponges, and I want to minimize the number of times I need to dry those sponges, and I want to minimize the amount of blocks I need to remove afterwards. I prioritize minimizing drying over minimizing mining.

In essence, "efficient" for us means that we want each sponge to absorb as much water as it can, as usefully as it can. Once a sponge has absorbed water, we want that water to stay gone, and not regenerate. Therefore, we want to build the most building-block-efficient partitioning scheme for our body of water, to split it up into individual chunks that each sponge can absorb.

Properties of sponges

The wiki article on sponges tells us that (1) a sponge can absorb at most 65 blocks of water, and (2) a sponge can absorb water from 7 blocks, taxicab distance, away. I take these numbers as given; I haven't verified them myself. My assumption is that the 65 block figure does not include the water block that the sponge replaces itself: I base this assumption on the fact that placing a dry sponge in a 1x1x1 puddle keeps the puddle dry. The dry sponge replaces a water block, then absorbs any water blocks that touch it, and only then does it become a wet sponge.

What does a taxicab distance of 7 look like?

In two dimensions, like a diamond, pretty much just like the lighting pattern of torches and other light sources in Minecraft:

.......7.......
......767......
.....76567.....
....7654567....
...765434567...
..76543234567..
.7654321234567.
7654321s1234567
.7654321234567.
..76543234567..
...765434567...
....7654567....
.....76567.....
......767......
.......7.......

This pattern extends to 3 dimensions, and it's shaped like an octahedron (a d8 die, or a double pyramid).

Sponges drain from the middle outward: first, every block a distance of 1 away is drained, then every block a distance of 2 away, and so on.

And what does 65 blocks look like?

Depends on its shape, and especially its depth. It's not very big, though.

As a cube, it's just a 4x4x4 cube plus one extra cube. As a flat 1-deep plane, it can be an 8x8 square plus one extra, but remember that water is drained in a diamond-shaped pattern. How wide this pattern is depends on the depth of the water and the layer the sponge is placed in.

65 blocks in a diagonal shape in an unrestricted plane

One-deep water

The OEIS integer sequence A001844 tells us how many blocks there are in an diagonal square, counting the one in the middle. The sixth element is 61, so in the diagram of the previous section, all squares marked "6" and under would fit in that 65-block limit, but only five of the 7s would. (Remember that the center one isn't counted: the sponge replaces it, it doesn't drain it.) This only applies if the water is 1 deep, of course.

.......7.......
.......67......
......6567.....
.....654567....
....65434567...
...654323456...
..65432123456..
.654321s123456.
..65432123456..
...654323456...
....6543456....
.....65456.....
......656......
.......6.......
...............

Two-deep water

In a two-deep pool, 65 blocks looks like the following diagram. Here, the left side is the layer that the sponge block is placed on, and the right side is the other layer. Once all the 1-blocks have been drained, the sponge has absorbed 5 water blocks; after all the 2-blocks, it has absorbed 17; after all the 3-blocks, 37; after all the 4-blocks, 65. In a two-deep pool, one sponge will drain exactly all those blocks that are a distance of 4 away from it.

.....4..... | ...........
....434.... | .....4.....
...43234... | ....434....
..4321234.. | ...43234...
.4321s1234. | ..4321234..
..4321234.. | ...43234...
...43234... | ....434....
....434.... | .....4.....
.....4..... | ...........

Three-deep water

In a three-deep pool, there are two separate cases: the sponge can either be at the bottom or top, or it can be in the middle. If it is in the middle, then there's also the case of whether or not there's a solid block supporting it.

Three-deep water, sponge is on the top or bottom layer

Once all the water blocks marked 1 have been drained, the sponge has absorbed 5 water blocks. After draining all the 2 blocks, the sponge has absorbed 18 water. After draining all the 3 blocks, the sponge has absorbed 42 water, and it can absorb only 23 more.

....a.... | ......... | .........
...a3a... | ....b.... | .........
..a323a.. | ...b3b... | ....c....
.a32123a. | ..b323b.. | ...c3c...
A321s123A | .B32123B. | ..C323C..
.A32123A. | ..b323b.. | ...c3c...
..A323A.. | ...b3b... | ....c....
...A3A... | ....b.... | .........
....A.... | ......... | .........

There are 16 blocks marked "a/A", 12 marked "b/B", and 8 marked "c/C"; it could drain all those marked "b" and "c" and leave most of the "a" blocks, or it could drain all of the "a" blocks and half of the "b" blocks, or any number of other situations; it all depends on the exact draining mechanics. When I tried this and put the sponge on the topmost layer, it appeared to clear out all the "c" blocks except for the two east/westmost ones (marked "C"), all the "b" blocks except for the two east/westmost ones (marked "B"), and the southern half of "a" blocks, leaving those marked "A". The same pattern was observed when placing on the bottom-most layer, but it's harder to observe, since all the A blocks, which were still water source blocks, caused the water to fill in the bottom layer of the pool.

Screenshot
This screenshot from Minecraft shows the drainage pattern in a 3-deep pool with the sponge in the middle row without a supporting pillar.
This screenshot was taken the exact tick that the water is drained by the sponge, before it starts filling in again.
Three-deep water, sponge is on the middle layer, no supporting pillar

This is only achieveable if the sponge block is teleported in, placed in the middle magically with a command. After all the 1-blocks, 6 water has been drained. After all the 2-blocks, 22 water has been drained. After all the 3-blocks, 50 water has been drained.

......... | ......... | .........
....4.... | ....3.... | ....4....
...434... | ...323... | ...434...
...323... | ..32123.. | ..43234..
..32123.. | .321s123. | .4321234.
...323... | ..32123.. | ..43234..
....3.... | ...323... | ...434...
......... | ....3.... | ....4....
......... | ......... | .........

My experiments show that after all these 50 blocks have been drained, the blocks marked "4" are drained next. (The rightmost slice is the top layer, and north is to the top.) No more blocks from the middle layer are drained.

Three-deep water, sponge is on the middle layer, with supporting pillar

This has the same story with the inner diamonds: all 49 water blocks that are a distance of 3 or closer are drained. The remaining blocks are drained in a very very different pattern, however: in the case without the supporting pillar the top layer was completely drained, but in this configuration none of the layers was completely drained, having five blocks from the north side drained each.

......... | ....4.... | .........
....4.... | ...434... | ....4....
...434... | ..43234.. | ...434...
..43234.. | .432123.. | ..43234..
..32#23.. | .321s123. | ..32123..
...323... | ..32123.. | ...323...
....3.... | ...323... | ....3....
......... | ....3.... | .........
......... | ......... | .........
Screenshot
This screenshot from Minecraft shows the drainage pattern in a 3-deep pool with the sponge in the middle row, and this time there is a supporting pillar.
This screenshot was taken the exact tick that the water is drained by the sponge, before it starts filling in again.

Strategies

These strategies use a cheap and easy-to-break block (like dirt or sand – sand is especially good with deeper water because you can use the torch trick to break columns of it) to divide the pool up into zones. You then use one sponge block, placed on a specific portion of each zone. It's probable that you won't end up removing every water block in the zone, but with these strategies, all that's left are a couple of water source blocks, that are right up against a wall, that cannot form other source blocks because they're floating in mid-air, and all you need to do is place a torch (or other block) on them to destroy them.

One-deep water, diagonal method

Divide the pool with diagonal walls, with five columns between each intersection. If you place the sponge in the very middle, it'll absorb all but the single water block in the northern corner (I don't know why, it's both close enough and there's enough capacity (the cells have a volume of 61). If you place the sponge one block north of the center, it'll absorb all water blocks, including the northmost one.

.#....s....#.#....s....#.#....s....#.#.
O...........O...........O...........O..
.#.........#.#.........#.#.........#.#.
..#.......#...#.......#...#.......#...#
...#.....#.....#.....#.....#.....#.....
....#...#.......#...#.......#...#......
s....#.#....s....#.#....s....#.#....s..
......O...........O...........O........
.....#.#.........#.#.........#.#.......
....#...#.......#...#.......#...#......
...#.....#.....#.....#.....#.....#.....
..#.......#...#.......#...#.......#...#
.#....s....#.#....s....#.#....s....#.#.
O...........O...........O...........O..
.#.........#.#.........#.#.........#.#.
..#.......#...#.......#...#.......#...#
...#.....#.....#.....#.....#.....#.....
....#...#.......#...#.......#...#......
s....#.#....s....#.#....s....#.#....s..
......O...........O...........O........
.....#.#.........#.#.........#.#.......

This method absorbs 60 water blocks per sponge, for an efficiency of 92 %. You'll also need to mine out 24 wall blocks per cell, but there are no further torches or water sources to eliminate.

Two-deep water, torch-heavy diagonal method

Divide the pool with diagonal walls, such that there are four columns between each intersection, and that the enclosed areas will be nine blocks wide at the widest. Place the sponge block on the bottom in the middle of this area; it must be on the bottom to avoid forming new water source blocks.

..#...#.....#...#.....#...#...
...#.#.......#.#.......#.#....
....#....s....#....s....#....s
...#.#.......#.#.......#.#....
..#...#.....#...#.....#...#...
.#.....#...#.....#...#.....#..
#.......#.#.......#.#.......#.
....s....#....s....#....s....#
#.......#.#.......#.#.......#.
.#.....#...#.....#...#.....#..
..#...#.....#...#.....#...#...
...#.#.......#.#.......#.#....
....#....s....#....s....#....s
...#.#.......#.#.......#.#....
..#...#.....#...#.....#...#...
.#.....#...#.....#...#.....#..
#.......#.#.......#.#.......#.
....s....#....s....#....s....#
#.......#.#.......#.#.......#.
.#.....#...#.....#...#.....#..

This method removes the entirety of the bottom layer, plus all but the outer ring of the top layer. You will need 16 torches to remove that final ring of water. However, no further source blocks should be created.

The sponges work at 100% efficiency, draining 65 water blocks. Extra work required: 16 manual torch drainings. Wall blocks requiring mining: 40 per cell.

Two-deep water, askew diagonal method

This is almost the same as the previous method, except the diagonal walls are spaced one block more frequently in one direction than another. Along one set of diagonals, there are 3 blocks between interesections, and along the other, there are 4. Place the sponge block on any of eight blocks in the middle; any of the four in the very center are fine, but any that's adjacent to a wall won't work. It doesn't matter whether the sponge is on the top or the bottom layer.

#.......O.......#.#.....#...#.
.#.....#.#.......O.......#.#..
..#...#...#.....#.#.......O...
...#.#...s.#...#...#.....#.#..
....O...sss.#.#...s.#...#...#.
...#.#.sss...O...sss.#.#.....#
..#...#.s...#.#.sss...O.......
.#.....#...#...#.s...#.#......
O.......#.#.....#...#...#.....
.#.......O.......#.#.....#...#
..#.....#.#.......O.......#.#.
...#...#...#.....#.#.......O..
....#.#.....#...#...#.....#.#.
.....O.......#.#.....#...#...#
....#.#.......O.......#.#.....
...#...#.....#.#.......O......
#.#.....#...#...#.....#.#.....
.O.......#.#.....#...#...#....
#.#.......O.......#.#.....#...

This method is almost as sponge-efficient: each sponge absorbs 63 water blocks, and displaces one more (each cell has a volume of 64 blocks). This is an efficiency of 97 %. There are 33 wall blocks to mine out per cell.


Page created 2023-12-03, and last edited 2023-12-03. Index. © oatcookies.neocities.org. I forbid the use of this material for training artificial intelligences.