Fluidic Plenisher and Lava in large areas
Discomanco opened this issue ยท 21 comments
Issue description:
The Fluidic Plenisher doesn't place lava properly. It places it likes water in lines, and "expects" it to autofill like water would do.
There was another issue, quite old (#4271), but you mentioned you couldn't reproduce it.
I did manage to reproduce it in a world with only Mekanism, JEI and WorldEdit (to easily make the testing hole), and ends up like this:
Is also an issue on 1.11.2.
In both pictures, the Fluidic Plenisher says that it is done.
I know 1.10.2 is an unsupported version now, but I hope it gets fixed there too.
Edit This is how it looks when the Fluidic Plenisher is just 1 block above ground (1.11.2):
The lighter lava blocks are still blocks, the rest are flowing
Steps to reproduce:
- Get a very large, flat area (tested with a 75r 80h cylinder)
- Place the Fluidic Plenisher in the middle, more than 3 blocks above ground. Provide it infinite power and lava
- Watch as it does around 3 big lines of lava, and "expects" it to autofill in, like water would.
Version (make sure you are on the latest version before reporting):
Forge: 12.18.3.2221 // 13.20.0.2345
Mekanism: 9.2.2.301 // 9.3.2.307
Other relevant version: WorldEdit 1.10.2-6.1.4 // 1.11-6.1.6 (I did test without WorldEdit+CUI too)
JEI
WorldEdit CUI
Previous was indeed closed as cannot reproduce, but in the mean time I could reproduce it if the area is large enough with only Mekanism installed.
The fluidic plenisher has a limited amount of blocks it can place after which it thinks it's "done". With the use of water it's normally enough, but for lava and other non spreading fluids it's not enough.
It is understandable that it has a limit for how many blocks it can place, so an unchecked Plenisher doesn't cover a 1000x1000 with lava.
I don't mind there being either a block, or range limit, as long as it properly places everything correctly within that area (say a 50x50), because then I can just move it a bit, and start it again
Exactly, my reaction wasn't supposed to defend the way it works, just explaining why it happens ;) Best would be that it could fill a (for example) 50x50x10 area completely without those weird lines happening. Thus limiting the available blocks to fill to 2500 and making it predictable for the user which range will be filled.
--Edit--
There's a config value for how much blocks it can place called "general.maxPlenisherNodes". The default value of it is 4000.
That is a good point, and a good workaround for now :)
Next step is to figure out how large of an area it can actually work with :D
I'm currently looking at the code, it hasn't a limit on which range it can work with. I'll look into adding a configurable range limit which defaults to 50 or so.
I did notice when I tried to place it higher in the air (above surface, with no nearby walls/obstructions), it would just continue placing lava in a long line, without ever stopping until it couldn't load another chunk (I assume at least). At least it just went on for a couple of hundred blocks
I'll give some technical explanation how it works:
It scans the block underneath it, if it can place there, it checks all 6 sides of it if it can place fluid there.
If it can place fluid there it's added to a list of blocks to replace.
On the next pass it looks at which blocks can be replaced (for example, the north one is the first result).
The north one gets replaced and it surrounding blocks get checked.
This goes on until the limit of 4000 is reached.
1.10.2 - we have a small modpack and server that will make the next jump to 1.12 :)
@lukas45 Which version do you mainly use? I might have a solution which is workable, would love a real life test. I can hook you up with a test version with a possible fix.
I mean, I'd say this result looks a LOT better :D
Took a quick look at the config, and looks like the range config wasn't in yet ^_^
I do wonder tho, if it possible that it would make a square shape, instead of a diamond shape - just to make it easier when re-placing the Plenisher for next round (would it even be easier? The more I think about, the more I don't know)
Zip is the same as the latest version and has a possible fix for the fluidic plenisher, let me know if this works better ;)
As always: please make a backup!
--edit-- Removed link
It was only a fix to make the shape predictable. A configurable limit is not in this version.
I think this is quite a step forward. A square shape is also possible, but I don't know what the general opinion is on that.
This is a huge step forward if you're trying to fill up a very large area with any non-replenishing liquid! This did more than making the shape predictable, since it was near impossible to fill every spot before - closest you would get is moving it 1 line at a time (in which case, why not use a bucket).
And now I just have to pray that it will get applied to 1.10, otherwise I'll have pleasure of using it once it hits 1.12 ^_^
The pull request for 1.11.2 is open with this solution, in the mean time I'm busy with backporting all old fixes to 1.10.2 which is going quite well.
If you're interested in helping testing/debugging the backport, let me know ;)
If you know how to compile a Forge mod:
https://github.com/thommy101/Mekanism/commits/1.10
Else, let me know and I'll hook you up with one
Easiest changelog: 1.10...thommy101:1.10
What to check? just make sure it doesn't crash :) Please make a backup beforehand.
What has changed? Mostly bugfixes
As the code is just online, I'll put a compiled version here.
--Edit-- Removed compiled version
Thanks for handling this @thommy101