Nature's Compass

Nature's Compass

116M Downloads

Does not support any overworld biomes when OTG and BiomeBundle present

WeaselOnaStick opened this issue · 13 comments

commented

mods present in a pack:

  • Biome_Bundle-1.12.2-v6.1
  • jei_1.12.2-4.8.5.138
  • NaturesCompass-1.12.2-1.5.1
  • OpenTerrainGenerator-1.12.2 - v4
  • OTG-Core
commented

also having this issue if anyone knows a fix would be great

commented

I know this is old. But we are having this problem atm. It just stays stuck on "Searching" forever.

commented

IIUC, the search works by starting at the player's position and spiraling outwards. Perhaps you could add an acceleration term to the walk + lower the sample space at the same time? Not entirely sure this will work, but in theory it'll skip past sample points in the same biome.

commented
commented

@moofins Not sure what you mean, do you mean something like a new config option to "accelerate" the search as it gets further along by spacing out samples?

@Macleykun A time-based ETA isn't feasible as it's somewhat hardware-dependent, but I'll look into adding some sort of HUD info that indicates how far a search has progressed as a function of distance.

commented

Yep pretty much; maybe a multiplier here as function of the distance since a different biome was seen.

It runs into the danger of skipping small biomes if they occur next to large ones, but maybe this can be mitigated with more search workers.

I'll see if I can write something up after work.

commented

So, I finally had time to try to recreate this issue. I used OTG 1.12.2-v9.3, Biome Bundle 1.12.2-v6.1, and Nature's Compass 1.12.2-1.8.5. I later tried it with Biome Bundle o' Plenty 1.12.2-v1.0 and Biomes o' Plenty 1.12.2-7.0.1.2444. Everything seemed to work as intended. I was able to locate both vanilla biomes and OTG/Biome Bundle/Biome Bundle o' Plenty biomes. For example, here's a screenshot of me locating the uplands biome from Biome Bundle, which you can see in the distance with the tall trees:

2021-05-26_16 43 24

Here's me locating the vanilla savanna biome, which you can also see in the distance:

2021-05-26_16 46 49

Here's me locating the steppe biome from Biome Bundle, which is far away (teleporting there confirmed that it was correct):

2021-05-26_16 47 34

Given this, I have to assume that this issue is due to there simply not being a close enough instance of the chosen biome to be located given your config options. This is especially likely when using Bundle o' Plenty, which adds a staggering amount of biomes that could potentially be spread out over a huge area. I also noticed that Bundle o' Plenty generates a lot of very small biomes which are difficult to detect for the search algorithm to find, especially with the default sample space modifier of 16 (multiplied by the biome size, default of 4, so the actual sample space is 48).

To fix this issue, I recommend raising the maxSamples and radiusModifier values in the config until you're able to locate biomes at your desired distance. Obviously this will make searching for a far-away biome take longer, but major performance improvements were made in newer versions of Nature's Compass for 1.12.2, so performance shouldn't be impacted. When specifically using Bundle o' Plenty, I also found it beneficial to slightly lower the sampleSpaceModifier value. This will again make searching for biomes take longer, but it will be more accurate in locating small biomes, as samples will be taken more frequently. Keep in mind that when lowering sampleSpaceModifier you'll also need to raise maxSamples even higher to accommodate.

In short, everything that you need to locate OTG biomes is already in the toolbox that Nature's Compass provides, there's just some tuning that needs to be done to the config to make it all work. If you aren't able to locate a biome, there's just not one close enough to be located with your current config values. I'll leave this issue open for a bit so I can offer more specific advice to anyone who still has questions, then I'll close it.

commented

Alright I have a test jar here. My testing config is:

    I:naturescompass.distanceModifier=3000
    I:naturescompass.maxSamples=200000
    D:naturescompass.sampleMomentumModifier=0.99
    I:naturescompass.sampleSpaceModifier=3

Lemme know what you think.

commented

So i did a bit of checking/testing. Got the following:

Modpack used (with the jar from mooofins) Mac Mega Modpack

Seed: -8641226922721226059

What biome did i look for? Xeric Shrubland (NC can find this see following pic)
image

Where did i stand to find it/test it?
About 3000meters/blocks away!
image

Config used:

I:naturescompass.distanceModifier=30000
I:naturescompass.maxSamples=200000
D:naturescompass.sampleMomentumModifier=0.99
I:naturescompass.sampleSpaceModifier=10

Logs:
[12:01:07] [Netty Server IO #1/INFO]: Starting search: 40 sample space, 120000 max distance
[12:02:11] [Server thread/INFO]: Search failed: 82985 radius, 200000 samples

I do wanna say this performance is on point and is what i'm looking for! 120000 max distance/82k is what i consider to be alot and enough for people to find a biome. Took about a minute which is also very reasonable in my eyes!
It's sad it couldn't find the biome, but i'm sure this is because i have to adjust the precision i believe. Would love to hear feedback on this point.

Personally i would love to hear matt's conclusions about the performance improvements :).

commented

I'll take a look at mooofin's PRs soon and see what the performance improvement is like. If it's significant enough I'll include it with the next update. Just released 1.16.5-1.9.0 which completely changes the way biomes are located (a different registry is used now in order to support datapack biomes), so I'd like to ensure there are no major issues with it before releasing mooofin's changes.

I'll be closing this and related issues now, as it does not seem to be a compatibility issue but rather an accuracy issue. Feel free to continue the conversation though.

commented

@MattCzyr may i ask, given the config i use:

I:naturescompass.distanceModifier=30000
I:naturescompass.maxSamples=200000
D:naturescompass.sampleMomentumModifier=0.99
I:naturescompass.sampleSpaceModifier=10

Any clue why i couldn't find that biome? Is it perhaps better to try a value of 8 instead of 10? or lower?

commented

Tried this config

    I:naturescompass.distanceModifier=200000
    I:naturescompass.maxSamples=450000
    D:naturescompass.sampleMomentumModifier=0.99
    I:naturescompass.sampleSpaceModifier=4

Still can't seem to find a semi large biome about 3000 blocks away.

commented

Same issue, also with Bundle O Plenty.
@MattCzyr could you perhaps shine some light on this issue?