XZ Chunk Flips
whichonespink44 opened this issue ยท 14 comments
In RTG's 'Realistic' world type, there is an issue where the surface of some chunks is getting 'XZ flipped' when Mariculture is installed.
Setting the "Biome Top Block Replacements > Enable" option to false seems to get around the issue, at the cost of losing an integral part of Mariculture's world gen.
I had a quick look at the source code to see if I could figure out what's going on, and I think I've traced it down to WorldEventHandler.java:
The code is a bit out of my depth, knowledge-wise, so the only thing that stood out as potentially being an issue is in genBiomeTerrain()...
Block topBlock = Blocks.grass;
Block fillerBlock = Blocks.dirt;
Would these variables be better off using the biome's top & filler blocks, rather than being hardcoded:
Block topBlock = biome.topBlock;
Block fillerBlock = biome.fillerBlock;
Even if so, that's probably not what's causing the XZ flips.
Also, apparently this isn't just affecting RTG worlds... I believe @Digitalsabre has experienced this issue when using @Zeno410's Climate Control mod:
Any ideas?
If nothing immediately comes to mind, perhaps @Digitalsabre could provide a minimal mod pack setup so that we could reproduce the issue?
The way I did that before is pretty damn weird. And a right mess, if I was working on 1.7, I'd rewrite that entirely but I'm not. So unless someone wants to PR a fix, the config is the way to go.
I'm using Climate Control, Realistic Terrain Generation, Alternate Terrain Generation, Biomes O' Plenty... and about 140 other mods. When I get off work I'll be willing to pare it down.
I worked a lot with @tesselately last night, and we determined that the issue occurs with a minimum of Realistic Terrain Generation and Mariculture with the world type set to โrealistic." It does require the configuration for ENABLE_REPLACEMENTS
to be set to true
.
@Digitalsabre @tesselately Great work! Looking forward to writing "RTG is now fully compatible with Mariculture" in the 1.0 release notes ๐
We have code that resolves this issue and will push it as soon as some other code is figured.
Things seem to be working mostly as they should now on 1.2.4.2a-4 (1.3.0-3 doesn't seem to generate Limestone at all), although beaches are now made of grass. In fact, grass and dirt are being generated instead of most surface blocks above y=60, going from what I saw on a quick test world.
Nice, I'll do some testing tonight as well, using the new 1.0 release of RTG.
I suspect the surface block issue can be fixed by changing these lines to this:
Block topBlock = biome.topBlock;
Block fillerBlock = biome.fillerBlock;
... unless they need to be hardcoded for some reason.
Tested a few worlds last night (Realistic and Default world types) using the latest 1.2.4 branch and didn't see the X/Z flipping in any of them. Surface blocks also seemed to be working fine. ๐
@joshiejack No probs - I've submitted a PR for the biome-specific top & filler blocks.
@Digitalsabre If you don't have time to PR the other changes, let me know and I can probably find some time this weekend.
I generally don't have time. I've been trying to find time to do this between being sick and working.
@joshiejack Are you going to release non-Alpha versions with the latest changes, or should I tell RTG users to download 1.2.4.2a-5 for full Mariculture wonderfulness? :)
If there's anything you need me to help test before releasing, just let me know.