Allow us to configure where the border pops up
jnijland opened this issue · comments
It would be great if there is some kind of config file where we could set up where the border is shown. Currently it's at the island limits, but it makes it less fun for players who have access to an elytra because they hit a barrier wall every time they want to jump of their island to go a few layers down.
It would be great if we could somehow configure where the border is shown, let's take the protection range as a default. 0 means it's directly at the protection range, 10 means the border is 10 blocks away from the protection range...
Good idea.
WorldBorderApi
Regarding WBAPI, there is API and a command to set the warning distance for the world border, example:
/worldborder warning distance 10
though I'm not sure if these are per-player or per-world. Regardless, these are not what we are looking for.
By doing a quick search I haven't found any commands nor methods that can modify the view distance of this kind of border.
Custom border
When not using WBAPI, we can implement this feature for sure.
There is BARRIER_RADIUS
in code which controls this, but also the area of the border to show, so setting it e.g. 20 (from the current 5) makes them quite a large and adds considerable client lag:
So this variable should be split, and the view distance needs a new one, and making it configurable.
Questions:
- Do we want to have these settable per-player with a command, or globally in the config file? (of course the per-player is more complex)
- What about WBAPI?
I've played around a bit, setting distance to 20 while having border radius on 5, and I can say that I think does not give the best user experience, because from far away the 5 radius is not very well visible:
And increasing the radius to higher values may cause client lag, which is again not the best experience. (Having the radius increased to 20 caused some FPS lag for me)
What I would consider here is making the wall particles rarer, so it covers a larger area with the same amount of particles.
See an example here with drawing particles only every 2 blocks:
And another example, image of every 3 blocks.
So here the task is to find the best balance between the size of the space and the amount of particles that looks the best with no/low performance penalty.
@tastybento could you take a look, please?