Twilight Forest biomes generating in BOP overworld
Taschenmogul opened this issue ยท 9 comments
The title pretty much says it all - when using the Twilight Forest mod together with BiomesOPlenty I occasionally get TF biomes generating in the overworld (with BOP worldtype chosen).
I am quite puzzled as nobody else seems to have reported that issue, so at first I thought that I personally might have done something wrong. Having had a friend check on this and verify the bug I am now comfortable to report it to you.
I have tried several biome IDs, two times I remapped the complete TF ID range, then again I tested it with standard IDs. None of those IDs seemed to overlap or conflict and I am positive that there is no ID conflict that I could be aware of.
There was an issue though where TF auto-mapped its IDs so that some of them conflicted BOP biome IDs, but this only seemed to happen when other mods were present that brought biomes into the game and it didn't happen anymore with only TF and BOP installed.
As of now I have seen three TF biomes generating in the overworld, the "Enchanted Forest", "Thornlands" and "Dark Forest" biomes, but only occasionally.
Technical details/mod versions:
I have had this issue with several versions of Forge and several versions of BOP (at least .985, .986 and .987, but I believe I also had this issue with a version from before the fix that broke "seed-compatibility") and tested it with Java 7 versions 1.7.0_55 and 1.7.0_67 and Java 8 version 1.8.0-b132 (all 64-Bit). I have been able to consistently reproduce this with the following versions, using default configs:
Java 1.7.0_67 64-Bit, MultiMC 5 0.4.2, Minecraft 1.7.10, Forge 10.13.0.1207, Twilight Forest 2.2.3, BiomesOPlenty 2.1.0.987.
Starting a world with BOP world type and the following seed
-2845210373478548811
there is a TF Enchanted Forest biome at coordinates X = -1900, Y, Z = 2450.
I am not sure if this issue is caused by Biomes O Plenty or not, I guess I will post a link to this report at the Twilight Forest forum thread or Github page too. Please still check up on this though! =D
So since we know the behavior, is there any biome ID numbers we can use to resolve the issue? This seriously hoses several major modpacks out there.
Kind of, yes. What I did, is I put all the biomes that are not overworld biomes, into the lower range. Because vanilla will not use those, it won't mess up stuff by trying to use biomes from the upper range as sub biomes to those. So basically I had to make sure that any biomes that can generate in the overworld, either don't have a matching "sub" biome at ID + 128, or the sub biome is actually a meaningful one.
In case it's useful, here is my biome ID list for my own pack I did a while back: http://pastebin.com/Q3tm6kz9
Of course I can't guarantee this works as intended, but at least with this set of IDs I didn't encounter any mis-placed biomes in my own testing anymore.
I am also experiencing this exact issue, glad to see I'm probably not crazy.
Tested with Minecraft Launcher 1.5.3, Java 1.7.0.51, Forge 10.13.0.1208, Twilight Forest 2.2.3, and BiomesOPlenty 2.1.0.987, fresh profile with default configs, no biome ID conflicts - confirmed with id map dumps via NEI.
With BOP world type and the same seed (-2845210373478548811), the game generates an Enchanted Forest at the same coordinates.
Removing Twilight Forest and doing re-create or using the same seed generates what appears to be the same world, but with the Enchanted Forest replaced with an Ice Plains.
While writing this I decided to dig around a little more and followed a suspicion from a MinecraftForums post by Keybounce. I tried mapping the entire TF biome range in the 237-255 id block, generated the test world again, and teleported to x = -1900 z = 2450. With great delight, I encountered no Enchanted Forest. Short of any more extensive testing, this seems to fix things.
I'm still not sure what could be causing this behaivor and checking up on this would be still greatly appreciated!
Ok, I believe we are really getting closer to the cause for the bug.
And it seems to be even worse than I thought.
Motivated by the interest in the issue I have again spent some hours on testing this.
I now can say this:
- The "biome ID plus 128 is assumed to be a sub-biome" thing seems to be real. This is indeed good as this gives us a means to work around this bug.
- I could confirm it by just switching the IDs of the Enchanted Forest and another biome which will then be generated in it's stead.
- I could reproduce this with only BiomesOPlenty installed and using only BOP biomes, generating Phantasmagoric Inferno as a sub-biome of Bamboo Forest by setting it's ID to that of the Bamboo Forest +128.
- This suggests that EVERY base-biome ID can potentially cause this issue, not only those of vanilla biomes but also those of BOP biomes, which leads to a huge range of IDs not being available for other mod's biomes.
- This also explains why I had this issue with hugely differing biome IDs, even those in the range of 190+; in the example I posted the Enchanted Forest was conflicting with the sub-biome slot for a vanilla biome, in my previous tests though the biomes were conflicting with BOP sub-biome slots which, with default configs, reach up to well over 200.
- It is possible/likely that this behavior only shows with biomes that are not sub-biomes in themselves. If I am not mistaken that would mean that with standard configs the Woodland biome at ID 93 would be the last BOP biome to cause this issue, which in return would mean that using IDs of 222 and above would be ok in this case. I haven't really tested though if one can let another biome generate in a sub-biome of another biome in this way.
- I tried to reproduce this with BOP version 2.1.0.943, which is used in "Bevo's Tech Pack" 10 for the ATlauncher, but was unable to. I also tried to reproduce this with vanilla generation, using the Growthcraft Bamboo biome as the only additional biome, but also was unable to. This does not necessarily mean that the bug is not existant there, perhaps I just had bad luck finding a good seed. It would explain though why this doesn't seem to have been an issue for "Bevo's Tech Pack" players.
- This would also suggest that this behaviour is indeed caused by a bug in more recent BOP versions. I guess this really has reached the point where some dev might consider giving this the "bug" label and investigate further...
- In any way this issue does exist and loads of players are practically bound to run into it without having the slightest idea why it is happening. For example, with the update of "Bevo's Tech Pack" to 10.2 having included an update to BOP .981 this issue is now present in that pack too. I will report it over at their Github.
Looking at this now, this is not a BoP issue. Rather, it's in Vanilla, but it doesn't become apparent until biomes use the ids. I knew this wasn't us, hence why I haven't bothered looking into it, but that fact it's in Vanilla is rather irritating.
Looking at what appears to be the offending code (conveniently hidden away in GenLayerHills, a place where one wouldn't expect), Vanilla doesn't seem to have any checks at all regarding what the biome is when 128 is added to the id. So long as the biome isn't null, it'll go through with it.
I have been busy working on the early stages of BoP's rewrite, however I think overwriting the GenLayer and adding a check to ensure the biome is an instance of BiomeGenMutated should do the trick.
I still get the twilight forest gen in the overworld without BoP installed but how do I fix it
So, this shouldn't happen anymore when using the BIOMESOP world type? Or should I still somehow assign the biome IDs so that the sub biome stuff doesn't mess things up?
I can just barely get everything else but Twilight Forest biomes to fit <= 127.
I'm currently trying to finalize my mod pack configs, but I have seen a twilight forest biome and also the Mining Biome from Aroma1997's Dimensional World mod generate in the overworld, while using the BIOMESOP world type (testing in single player). I'm using BoP build 1004 and Forge 1232.
Does that mean that the bug still exists, or that I simply can't use biome IDs so that they have a pair at +/- 128?
I am getting this in chat biome id conflict detected . Fix by editing the config file . Well every time I make a pack I go in and make sure every enchant, potion ,and biome id of every mod is different , and no matter how many times I change the ids for twilight forest I get this in chat . I no for sure there are no conflicts unless its a id that can not be changed in a config file .