Bobby

Bobby

4M Downloads

Black chunks (not Starlight)

purple512 opened this issue ยท 2 comments

commented

I get black chunks when flying around the world. Sometimes they resolve themselves after a moment, other times I can be hovering directly over the chunk for a long time and it stays black. If I press F3+A all black chunks are gone.

This is in single player mode, Minecraft 1.20.1.

I searched the issue tracker and read #60 about Starlight incompatibility, but I'm not using Starlight. It's also not the taint-fake-chunk option, which is disabled.

What is happening here? Is Bobby not suited for single player? I'm still not clear what the 'view distance override' thing means, and if it's necessary to have enabled. In the demo below, in-game render distance is 32, Bobby's view distance override is also 32. But the Bobby setting stops at 32, so what if I want to have in-game render greater than 32? Do these always need to be the same or what?

Demo:

bobby-unlit-chunks.mp4

Bobby config (comments removed for brevity):

enabled=true
max-render-distance=96
no-block-entities=true
taint-fake-chunks=false
unload-delay-secs=60
view-distance-overwrite=32

mod list:

sodium 0.4.10+build.27
bobby 5.0.0
cloth-config 11.0.99
modmenu 7.1.0
bettercontrols 1.3.0

Note: I'm using bettercontrols to speed up spectator flying speed as it makes the problem a little more apparent, but it still happens with vanilla speeds. And flying fast is how I use creative/spectator, so it's not a contrived situation.

Full game log: latest.log

Thanks.

commented

I searched the issue tracker and read 60 about Starlight incompatibility, but I'm not using Starlight.

This has long been fixed and at this point I would highly recommend using Starlight.

Is Bobby not suited for single player?

Aside from the override setting, bobby treats singleplayer pretty much like multiplayer and should work fine.

I'm still not clear what the 'view distance override' thing means, and if it's necessary to have enabled.

Think of Singleplayer like Multiplayer but with an integrated server (in fact, that's pretty much how it actually works). Except that when you're in Singleplayer, your Render Distance also determines the server view distance. And all the override setting does, is override that server view distance (which is hard-capped at 32, hence why that setting is capped at 32 too) such that the server no longer loads all 32 chunks view distance. And once it no longer provides all the chunks in your render distance, bobby can then step in and fill them in from its cache.
As such, it doesn't make much sense to use bobby in Singleplayer unless you set your render distance to be higher than the server view distance (via the override), since there would be nothing for Bobby to do.
If you want more than 32 chunks render distance, you simple pull up the render distance slider, and bobby should immediately start filling in more chunks from its cache.

No idea what's up with the black chunks though. It looks like the info is there, since they (at least in the video) seem to update after some time, and reloading via F3+A also only reloads the geometry, not the underlying block and light data which bobby loads, so all the data must have been loaded successfully, just not rendered properly for some reason (would recommend you try Starlight, maybe it happens to fix that issue).
That is definitely a bug though, not something you're doing wrong.

commented

Ah, okay. That makes more sense, thank you.

My primary motivation is to extend the render distance past 32. In that scenario, if I understand things correctly, putting the override at 32 is a no-op as it was always going to be capped at 32, and disabling the override would also be a no-op with rd>32. The viable use case would be setting it to something in the middle, like 24, to have fewer 'live' chunks and more bobby chunks. I'll have to experiment with that.

I normally use Starlight but as this is 1.20.1 with the new lighting engine, it seems as if the need is much less pressing, though as I understand it there is still a minor benefit.

Thanks.