Chunky Border (Fabric)

Chunky Border (Fabric)

415k Downloads

Feature suggestion - Ability to expand/retract an existing border by radius difference

kribjo opened this issue ยท 1 comments

commented

There are servers who would like to adjust their world border radii in a scheduled way, most commonly by making frequent small increments.

The old "WorldBorder" plugin supported this behavior in this way:
/wb [worldname] radius <radiusX> [radiusZ] - change border radius for this world. The world needs to have already had a border set, since the x and z values are not modified. If radiusZ isn't specified, the radiusX value will be used for both. A "+" or "-" can be added to the start of radiusX or radiusZ to have the current radius increased or decreased a specified amount, for example "+100" would increase the existing border radius by 100 blocks.

I suggest adding a similar feature to ChunkyBorder, and I think I can perhaps best illustrate my idea of it with how it could work from the user side in an example context.

Already present functionality, for background information about the example setting used here:

> chunkyborder list
Border List
myworld_nether: circle with center 0, 0 and radius 2500
myworld_the_end: circle with center 0, 0 and radius 5000
myworld: circle with center 0, 0 and radius 20000

[^- nothing new here]

Example use of suggested new commands "expand" and "retract" and their effects:

> chunkyborder expand myworld 100
myworld border size has been expanded by 100
new border is: circle with center 0, 0 and radius 20100
> chunkyborder retract myworld_the_end 500
myworld_the_end border size has been retracted by 500
new border is: circle with center 0, 0 and radius 4500

[^- THIS IS WHAT IS NEW]

Output according to existing functionality, to show the desired results of the suggested commands above:

> chunkyborder list
Border List
myworld_nether: circle with center 0, 0 and radius 2500
myworld_the_end: circle with center 0, 0 and radius 4500
myworld: circle with center 0, 0 and radius 20100

[^- nothing new here]

How this then could be used with Chunky's existing functionality to generate chunks for the new world area inside the expanded world border:

> chunky start myworld
[Chunky] Task started for myworld at 0, 0 with radius 20100.
[Chunky] Task running for myworld. Processed:  [...]
[...]
[Chunky] Task finished for myworld. Processed: [...]

[^- nothing new here]

If the expand/retract commands were implemented, the server administrator could set up a scheduled job to modify the world border radius without having to set up something like a custom plugin for a variable to keep track of the current/desired radii.

commented

It should now be possible to do something like this. In ChunkyBorder, the chunkyborder load command was added which will load the existing border into your selection. In Chunky, the +/- prefix can be used on the radius to expand/contract it.

Below is an example where I load the selection for the nether's border, add 1000 to the radius, and then add the new border.

chunky world world_nether
chunkyborder load
chunky radius +1000
chunkyborder add