Height checks in BlockUtil and Cubic Chunks compatibility
Barteks2x opened this issue ยท 3 comments
I'm currently working on cubic chunks mod and I'm close to alpha release. I already got some reports from testers about compatibility with BuildCraft (OpenCubicChunks/CubicChunks#188 and OpenCubicChunks/CubicChunks#189).
The one with pipe connectivity is caused by height checks in BlockUtil class. I already asked about it on irc/discord abd it doesn't seem very unresonable to make it work (but doing somwitgout accessing private World methods would require exposing them in forge). I also think some of these checks could be safely skipped because vanilla methods already contain them, and BC shouldn't run into height limits too frequently on vanilla.
Another issue BuildCraft may have with cubic chunks is performance related, as it may load more cubes even when it checks if a chunk is loaded - the only real fix for that would be using world.isBlockLoaded
instead of checking if chunk is loaded.
There is also a quarry crash because boxIterator.advance() returns null when reaching y=0, but that also happens in vanilla when there is no bedrock (I will make separate issue for this). Ideal cubic chunks behavior for quarry would probably be for it to do down from the surface some predefined amount of blocks instead of to the bottom of the world (256 blocks down? going down to the bottom of the world... that seems a but too much)
In theory 9b9b10f fixed this.
I'll leave the quarry + mining well issue in the other one (as they require a config option for the maximum distance to travel).
If this is working correctly now then I'll leave this open until 7.99.4 is released.
Tested it, and it works. Unfortunately it also broke syncing landmarks with client, even in vanilla.
I'm not sure if it should be left open or closed for now, because quarry and mining well still won't go below y=0, but that may also be for another issue. And the current behavior is acceptable.