Brettflan / WorldBorder

Bukkit plugin for maintaining borders for your worlds to limit their sizes, as well as generating missing chunks or trimming excess chunks.
https://www.spigotmc.org/resources/worldborder.60905/
BSD 2-Clause "Simplified" License
139 stars 210 forks source link

2 New Ideas #91

Open zippoking opened 6 years ago

zippoking commented 6 years ago

Hi,

i have 2 new ideas for your plugin. First let me tell you a bit of a background story. On my server i want the players to start in a small area. (e.g. worldborder radius from spawn point is 200 blocks). By doing a certain amount of quests with some other plugins, the worldborder is set to 400 blocks. (e.g. in total 250 quests on the server have to be done). They have access to a new area and to more quests. After a certain amount of quests the worldborder again is increased and so on.

The question is now: How can i implement the process of increasing the world border etc. and how can avoid that only 1 player is doing 250 quests and all other players benefit from it. Because the worldborder is set for all at the moment. And i thought of 2 ideas:

  1. Each player can have his own world border (1 one world border for 1 player, which i would increase): With this option every player has to do a certain amount of quests to get his own world border increased. That also means that i have players which are able to explore more of the world as other players, depending on how much quests they did and on what value the world border is on. Of course we would need more permissions.

  2. i can set multiple world borders (multiple world borders for all players): With this options i could set multiple rings (if i use a round shape) of worldborders. Each border has a criterium respectively a permission. Look at my screenshot to get a better understanding of this.

Multiple WordBorders

As you can see each WorldBorder has a specific criterium (in my story user need to do a certain amount of quests). Each border has its own permission. Worldborder.Red.bypass Worldborder.Green.bypass Worldborder.Orange.bypass

And as the final quest reward i can give permissions. In this case the user would get the permission to bypass the next Worldborder. Maybe there is a better way to implement this, but i think you get the idea of it.

So yeah, thats basically it. I prefer the 2nd way with setting up multiple borders. What do you think?

Best regards Zippoking

Brettflan commented 6 years ago

Multiple borders per world has been requested before, but I have no plans to implement such a feature. It would add processing overhead having to check multiple borders per world, and more importantly, it would require a huge code rewrite to support more than one border per world. Much of the code is structured on the assumption that there a simple one border to one world association. It would also further complicate many commands like Fill and Trim which would have to either ask which border to use or just use all of them in that world. Among other things.

Further, I am no longer actively developing this plugin, at most just handling potential compatibility issues if/when they show up with newer Minecraft and CraftBukkit/Spigot releases. My source code is of course available here, though, and anyone is welcome to fork it or adapt it as they like.

zippoking commented 6 years ago

Hey Brettflan,

thanks for your reply. First of all that is bad news, that you are not actively developing this plugin. Its always bad to loose a good plugin developer. I hope you keep it active for potential compatibility issues as you said. =)

Any idea how i could implement my idea though? I really like the border-style :-D

Thanks again to you :+1:

Best regards Zippoking

Brettflan commented 6 years ago

Any idea how i could implement my idea though?

No idea, sorry. Good luck.

ghost commented 6 years ago

Any idea how i could implement my idea though?

You can use World Guard to create regions that are either walls, or that are stacking on top of one another... then use entry or exit flags... then add user groups to the member list of the region g: to allow passage into them.

https://worldguard.enginehub.org/en/latest/regions/flags/

https://worldguard.enginehub.org/en/latest/regions/commands/ -- see Add Member

Tsoccerguy3 commented 5 years ago

This could be done with varying the "knock-back-dist: " per player . Nothing else would need to change .