ServerCore

ServerCore

384k Downloads

Dynamic view-distance Farsight support

El13B opened this issue ยท 7 comments

commented

Describe the feature
Farsight is a mod that enables the client to not refresh chunks every time the render distance changes. The dynamic view mod changes render distance without triggering the accursed chunk reset thanks to the farsight mod, could this mod also support farsight?

If not a boolean setting to toggle off only the dynamic render distance would be awesome, it seems setting the view_distance_update_rate to 0 resets it back to it's original value.

commented

Another way to do that would be by setting the min_view_distance at the same value as max_view_distance or higher.

Sadly since 1.18 we can no longer modify the viewdistance (properly) on the client without the client deciding to reload all chunks. The only solution is to not send viewdistance update packets but then fog distance and some other things won't change on the client.

I'm not entirely sure what farsight does and how I could support it (dynview's viewdistance changing works about the same as here), but it doesn't really help that its closed source.

Are you running this on a dedicated server or singleplayer?

commented

currently trying it out on a singleplayer environment

nevertheless it'd be nice to be able to toggle certain parts of this feature

commented

That would make sense. If used on the client servercore will also update the viewdistance and simulation distance sliders accordingly. I imagine changing that might trigger a chunk reload, similar to changing the slider ingame?

About disabling it, refer to the first line on the message above.

commented

I've just tried this and can confirm it still triggers a chunk reload
probably for the reason you just stated
I'll try it on a dedicated server later

commented

Another way to do that would be by setting the min_view_distance at the same value as max_view_distance or higher.

Nevermind that actually, if the viewdistance isn't at that specific value it will still try to increase it until that point (and then stop, unless changed again).

Maybe? a workaround would be to set the max_view_distance to 2, and min_view_distance to some really high value it'll never reach, as it most likely shouldn't be able to modify anything within that range.

Thats not very intuitive for the user though... but I also don't want to increase the config too much if not necessary.

The way that the dynamic stuff is setup also doesn't easily allow me to disable one part of it sadly, so that'd require more changes to do. This is because for example, viewdistance won't be modified until simulation distance is at or below its "minimum" value - and so on (this also counts for increasing values, just the other way around). Reason for this is that it otherwise changes all the values at the same time, which is a bit problematic.

I'm probably gonna look at taking out the option slider modifications first, to check if viewdistances still properly change on singleplayer despite the option not being modified.

commented

I'm probably gonna look at taking out the option slider modifications first, to check if viewdistances still properly change on singleplayer despite the option not being modified.

Sadly, it doesn't. If the distance slider isn't modified, then the viewdistance won't change in singleplayer either.

commented

With commit f729f3a or later you will be able to easily disable specific dynamic settings (such as viewdistance in this case), by removing it from the setting_order config entry.