WorldBorder
Further releases for Spigot 1.13+ are now being posted on the Spigot site. I do not plan to release any further updates here on BukkitDev.
- Full list of Commands and Permissions
- Changelog
- Further Miscellaneous Information
- Source available on GitHub
- Old discussion on main Bukkit forum
If you appreciate this plugin and actually want to see it developed further by me rather than only receiving compatibility updates, you are welcome to .
Thanks to the following people who have been kind enough to donate: jonDatz, xrobau, Gussi, Dizzy, R. Meijer, FoundationCraft, T. Bronner, R. Thompson, The Pokemon Server, legitplay.net, D. Senff, Vik1395, TagCraftMC, D. Strickner, M. Wilson, Rhythmatic, W. Downey, P. V. Gretener, MiniCraft Server, Cosmic Craft, ScarcityFree.com, polaris_iv (Forge port), matagin, T. Ahokas.
Also thanks to IMathe172I (Lang Lukas) for contributing code to support elliptic and rectangular border shapes, and Indiv0 for contributing code to support border wrapping.
Description
This plugin is intended to efficiently provide a border for each of your worlds, which only people granted special bypass access are allowed beyond. These borders can be round/elliptic or square/rectangular. As the plugin has been written with performance as the most important goal, it should have no performance impact on your server. Additional world trimming and filling commands are available as well.
Older plugins which originally inspired the creation of this one: rBorder and BorderGuard.
Features
- You can set up a separate border for each world, but only one border per world.
- You can have either round/elliptic or square/rectangular borders. Square/rectangular borders are slightly higher performance, round/elliptic borders make for nicer display maps. Different worlds can have different border shapes if you so choose.
- Configuration and border setup is done completely using commands in-game or through the server console. No need to ever edit the config file directly.
- Support for all permission plugins which interface with Bukkit's built-in "superperms" permission system.
- You can fully generate (fill) your world all the way to the border, filling in any missing chunks, including a configurable buffer zone just outside your border.
- You can trim off any world chunks beyond the border, getting rid of extraneous parts, with a configurable buffer zone left just outside your border.
- You can use a bypass command to allow specific players to go beyond all borders.
- Borders can be automatically displayed in DynMap if you use that plugin.
- All plugin data is automatically saved whenever any borders or settings are changed.
- If a player crosses a border while in a vehicle, the momentum of the vehicle is stopped and it is moved back inside the border with the player.
- When a player is moved back inside a border, they will be moved to a safe vertical location if needed.
- Borders for specific worlds can be set to wrap around instead of just knocking back players who cross the border, instead sending them to the opposite edge of the border.
English Tutorial:
Spanish Tutorial:
Of special interest are the Fill command and the Trim command features:
Borders are also displayed automatically by default in DynMap if you have it:
@SXRWahrheit
Maybe they actually fixed it. I have my doubts though, there is a report of the bug still being around after they closed it.
EDIT:
Apparently they did indeed fix it as of yesterday, according to one of the main Spigot devs.
The issue got marked as fixed :o
@Brettflan
I setup WorldBorder with a 2048 radius on a square section centered on 0,0
I tried to set worldborder to 2048, but it wants a diameter, so 4096 was the right setting. If set to 4096, the WorldBorder kickback didn't kick in, so in the end I settled on (2048+5)*2=4106 to show the border wall 5 blocks beyond the WorldBorder limit. This allows the kick back and still gives users the visual cue that they are nearing the border.
I didn't see it before, but worldborder also allows moving the middle. It does not handle non-square shapes though.
http://minecraft.gamepedia.com/World_border
It would be nice if there was a way to get a visual border with WorldBorder. I do like the particle effects for the knock back. :)
Still, WorldBorder for the win!
Thanks!
@BZFlag
They don't interface, sorry. The 1.8+ native border functionality doesn't have a way to change anything particularly useful through Bukkit, just standard settings the same as server commands provide access to. You've mentioned many of the reasons why that isn't very useful due to the limitations of the native border functionality.
Does this WorldBorder plugin interface with the new 1.8+ worldborder feature? Is there a preferred way to set that up? The 1.8+ built in support shows a border, which is nice but does not have a full-render option or a prune option. Perhaps best practice would be to set the worldborder to the size WorldBorder plus enough blocks to get the kick-back? That way an unprivileged user can see a border, but never actually reach it? The 1.8+ support only handles square shapes. I don't know if dynmap supports the 1.8+ worldborder either. It might be a Good Idea to list some info here as to how or why to use both features. Thanks!
@Theepwner
That is correct.
Noob question: Is the fill and trim command safe to use on a currently used world? Meaning, it just loads all chunks right, not resetting them as well?
@mistermsk
That's the vanilla border functionality added by Minecraft 1.8, which they happened to give the same name as this plugin. It's unrelated to this plugin other than having some similar functionality.
@Brettflan
http://minecraft.gamepedia.com/World_border
Not sure if it is a embed minecraft thing or another plugin. However, I seen videos on it as well.
BTW, I love this plugin. The fill is awesome when you use dynmaps.
@Kixot14
It wasn't answered because I didn't have a particularly useful answer, but since you seem to really want an answer, I've posted one.
@Brettflan
Hello. Can author answer in my ticket ?? https://dev.bukkit.org/bukkit-plugins/worldborder/tickets/124-prevent-chunk-generation-outside-the-border/
After six month left...
@dwa1275
In-game? No. If you have Dynmap, you can however see borders indicated on those maps.
is there a way for me to see the world border?
@Brettflan
I did see the bug report. That's weird. I'll bump it so it doesn't look like only you care about it. :P
Additionally, I tried Paper just now and had the same issue. It might be because I'm generating a new world so there's a little more lag than normal, so I'll try again once tha'ts done.
@SXRWahrheit
Yes, there was a pull request submitted to Spigot by the Paper dev to fix it, as I mentioned. Pull requests on the Spigot project aren't publicly visible, so I can't link to it.
As for commentary, as I also mentioned there has been no comment on the bug report by anyone working on Spigot.
@Brettflan
If Paper fixes it, is there a PR of the necessary changes for Spigot? Has there been any commentary on it? What is your recommended workaround other than running Paper?
@garouklaivier
There isn't a permission for that, sorry. If there were, it would be granted by default to all Ops, who might not want to have bypass automatically applied to them. Anyone who you want to be able to bypass, just use the command on them. The bypass list is stored between server restarts.
Is there a permissions node that I can assign to a group that would allow them to bypass the world border? I do not want to give the group members access to bypass other players.
Thanks!
@Brettflan
I can't believe they haven't pulled this fix in to Spigot yet. Wow. Thank you for the thorough response.
@c0wg0d
It's probably the same Spigot bug from several months back still unfixed since Spigot 1.9 came out, I'm guessing, which affects both Nether and End portals. You might try running the Paper fork of Spigot which has a fix for that, though I remember mention of some problems possibly remaining with End portals.
https://paper.emc.gs/
For the specifics of the bug, it happens as mentioned when traveling through a portal between worlds. Spigot updates the player's Location data to indicate the new World immediately, but for a second or two their actual coordinates in the Location are left pointing to where they were in the previous world. This mismatch (bug) causes problems with all plugins which depend on that data being correct. For WorldBorder, it sees that the indicated coordinates are outside the border in the indicated world, and moves the player back inside the border from those wrong coordinates.
The author of the Paper fork submitted a pull request with his fix way back when, but the last I saw the Spigot devs were ignoring the pull request as well as the bug report.
I just dug up the bug report, I see it's still open:
https://hub.spigotmc.org/jira/browse/SPIGOT-1903