Mariculture

Mariculture

2M Downloads

XZ Chunk Flips

whichonespink44 opened this issue ยท 14 comments

commented

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:

https://github.com/joshiejack/Mariculture/blob/1.7.10-1.2.4/src/main/java/mariculture/core/handlers/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:

http://www.minecraftforum.net/forums/mapping-and-modding/minecraft-mods/1294659-climate-control-change-climate-zones-sizes-ocean?comment=1234

Any ideas?

If nothing immediately comes to mind, perhaps @Digitalsabre could provide a minimal mod pack setup so that we could reproduce the issue?

commented

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.

commented

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.

commented

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.

commented

@Digitalsabre @tesselately Great work! Looking forward to writing "RTG is now fully compatible with Mariculture" in the 1.0 release notes ๐Ÿ˜„

commented

We have code that resolves this issue and will push it as soon as some other code is figured.

commented

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.

commented

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.

commented

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. ๐Ÿ‘

commented

Would anyone who has the time care to put the fixes in the 1.3 branch too?

commented

@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.

commented

I generally don't have time. I've been trying to find time to do this between being sick and working.

commented

No worries - I'll sort it out this weekend. Get well soon mate!

commented

@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.

commented

Will probably stay listed as alpha, since i think if I marked it as release, people might think I'm working on it :P.