BiomeTweaker

BiomeTweaker

13M Downloads

removeBOP() not working correctly?

HeroOfChaos opened this issue ยท 4 comments

commented

Hi,
I'm using the following script:

bamboomarshBiome = forBiomes(111)
birchautumnBiome = forBiomes(112)
blueoakBiome = forBiomes(113)
bombonaBiome = forBiomes(114)
buroakBiome = forBiomes(115)
emperorridgeBiome = forBiomes(117)
flatlandthicketBiome = forBiomes(116)
sprucemountainBiome = forBiomes(120)
spinyBiome = forBiomes(119)
silverbirchBiome = forBiomes(118)
allrwBiomes = forBiomes(111, 112, 113, 114, 115, 116, 117, 118, 119, 120)

allrwBiomes.removeBOP()
bamboomarshBiome.addToGenerationBOP("HOT_SWAMP", 5)
birchautumnBiome.addToGenerationBOP("COOL_TEMPERATE", 2)
blueoakBiome.addToGenerationBOP("WARM_TEMPERATE", 5)
bombonaBiome.addToGenerationBOP("SAVANNA", 1)
buroakBiome.addToGenerationBOP("WARM_TEMPERATE", 3)
buroakBiome.addToGenerationBOP("COOL_TEMPERATE", 3)
emperorridgeBiome.addToGenerationBOP("WARM_TEMPERATE", 1)
flatlandthicketBiome.addToGenerationBOP("COOL_TEMPERATE", 5)
silverbirchBiome.addToGenerationBOP("BOREAL", 2)
silverbirchBiome.addToGenerationBOP("COOL_TEMPERATE", 2)
spinyBiome.addToGenerationBOP("HOT_DESERT", 2)
sprucemountainBiome.addToGenerationBOP("BOREAL", 2)

The idea is that I want to replace the default BOP climate weights for biomes from RealWorld with these custom values. The weights are first deleted via allrwBiomes.removeBOP(), then each biome gets new weights individually.
The problem is that according to the Output files, sometimes this works correctly, while sometimes the values are not overwritten, but rather added on top of the existing weights. This essentially changes the world generator and thus you get those cut-off chunk biomes in existing worlds (without having actually changed anything in the files yourself which would affect the world generator).
E.g. sometimes I get this, which is correct:

"BOP Climate Weights": {
    "WARM_TEMPERATE": [
      5
    ]
  },

But most of the time I get this, which is wrong:

"BOP Climate Weights": {
    "WET_TEMPERATE": [
      2
    ],
    "DRY_TEMPERATE": [
      2
    ],
    "WARM_TEMPERATE": [
      2,
      5
    ],
    "HOT_SWAMP": [
      2
    ],
    "MEDITERANEAN": [
      2
    ]
  },

If you reload the script and regenerate the output files in the in-game Mod config, the new weights are just applied over the existing weights every time (so in this case, the "5" in "WARM_TEMPERATE" would be added again every time).
Unfortunately, I haven't found a reliable way to get the correct result, it rarely just works, but as I stated above, I usually get the wrong result. Sometimes I have to restart 3 or 4 times before getting the correct result (without doing anything inbetween restarts). And sometimes it seems like I can restart as often as I'd like, I'd always get the wrong result.
This is rather annoying since you have to check the Output files every time you start the game again and have to restart each time you get the wrong result, otherwise you pretty much screw up your whole world.

BiomeTweaker Version: 1.12.2 3.2.354
Forge Version: 1.12.2-14.23.4.2757

commented

I can't seem to find the RealWorld mod to test this for myself. Where did you find the mod?

commented

I found it on 10pak's website. https://10paksmods.net/
However, he discontinued the Real World mod and split it back into Plant Mega Pack and Decoration Mega Pack. The biomes he added are no longer present in either mod, so the problem kind of resolved itself for me.

commented

Have you checked your log file for errors or warnings?

commented

Just checked them. I found no errors/warnings related to BiomeTweaker. Neither in the normal logs, nor in the debug logs.