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:


-
View User Profile
-
Send Message
Posted Dec 2, 2013Hey there. I have no interest in limiting my players, but would love to be able to pregenerate the world 1000 blocks radius before the official 1.7 start of my server, to avoid CPU torment once everybody starts exploring. Would that be possible with your set of tools?
-
View User Profile
-
Send Message
Posted Dec 2, 2013cool well it looks like you alraedy know about the world generation thing with packed ice
just figured id give you an fyi even if it is probably a bukkit issue
-
View User Profile
-
Send Message
Posted Dec 2, 2013@V0ROBEY
Hmm, I didn't have that happen in my testing but it does look like the new map generation algorithm in 1.7 caused that. It might indeed be simplest for you to use WorldEdit.
@CloudKidZ
Thanks.
@Xibalba7
As below you'll just need to wait for that to be fixed in CraftBukkit.
@DarkPingoo
Not needed. The current version of WorldBorder works in 1.7.2, as expected.
-
View User Profile
-
Send Message
Posted Dec 2, 2013Please update to 1.7.2 with the new generation
-
View User Profile
-
Send Message
Posted Dec 2, 2013@Brettflan
Sorry but it still don't work :p
I pastebin some extracts of the console here : http://pastebin.com/Q4j5N2WQ
I am using build 2930 of CraftBukkit
I can proceed to more tests if needed but the seed cannot be changed as it took me a long time to select it :/
-
View User Profile
-
Send Message
Posted Dec 2, 2013@CloudKidZ
Did you trim then fill? Or did you just fill?
-
View User Profile
-
Send Message
Posted Dec 2, 2013I have to say your fill command is a life saver. Instead of flying all over the map for hours to pre-generate terrain, I can run the single command and come back in a few hours to find it done for me.
The funny thing is I searched all over the internet for how to "pre-render" and/or "pre-generate" terrain not knowing the world border plugin I already had installed did it for me.
So, just wanted to say thank you for all the hard work it takes to write and maintain this plugin. It's awesome!
Misty
-
View User Profile
-
Send Message
Posted Dec 2, 2013Hello. Sorry, but i really don't know where to ask this question, but this problem annoys me so much... So the thing is, when world generation code change (as it changed in MC 1.7.2) and when i try to update my 1.6.4 map to 1.7.2, the "borders" of my world are like huge straight mountains all over the place.. I just don't know what to do, should i wait for some fix for it or should i start removing these annoying "walls" with worldedit? And will your plugin help me in some way? Here is a screenshot so you can see it clearer. By the way, i searched for info on this problem a lot, but couldn't find any good answer. Hopefully, you can give me some feedback
https://www.dropbox.com/s/sf3rlmx5wj5dhcf/2013-12-01_15.15.06.png
https://www.dropbox.com/s/yypa421ajl2q6cq/2013-12-01_15.28.25.png?m=
-
View User Profile
-
Send Message
Posted Dec 2, 2013@VarilianHelp
No, it is not the plugin. The plugin uses the same chunk loading methods within Bukkit which are used for any other instance of chunks being generated. Wait for a CraftBukkit update to fix it.
Please, no more reports of Fill errors using dev builds (which I'll note again are not considered stable or even beta quality for a reason) of CraftBukkit 1.7.2. It's a problem in CraftBukkit which you'll need to watch for them to fix.
-
View User Profile
-
Send Message
Posted Dec 2, 2013@Brettflan I am getting an error with the same failure on /fill, specifically on an area with packed ice. Since Bukkit is able to generate packed ice without trouble on it's own, is it possible that this plugin could be failing when attempting to fill in packed ice?
Also, will it help at all to report errors during a development build, or should we hold off until the release of a stable/recommended build?
-
View User Profile
-
Send Message
Posted Dec 2, 2013@Maximvdw
As below, look to CraftBukkit updates to fix the bugs in world generation code. The stacktrace you provided is at least clear on that being the cause.
-
View User Profile
-
Send Message
Posted Dec 2, 2013Having issues with fill command aswell: I keep getting an error
-
View User Profile
-
Send Message
Posted Dec 1, 2013@gustebeast
Terrain generated by the Fill command is the same as the terrain generated by walking around; CraftBukkit's world generation methods are used.
As below I don't think it will generate the new biomes on an old world, though I could be wrong.
-
View User Profile
-
Send Message
Posted Dec 1, 2013@Brettflan
What if I trimmed the world down to 1000, set the border back to 3000, and walked around past 1000 blocks. Would the land generated by the server be 1.7.2 terrain or something else?
-
View User Profile
-
Send Message
Posted Dec 1, 2013@Puremin0rez
@Xibalba7
Just tested filling a 2000 radius border on a newly created world in CraftBukkit 1.7.2 dev build 2930. I didn't get any errors myself. All other standard plugin functionality for WorldBorder also seemed to be working fine.
Based on the reported fill problems, though, I'd say it's a safe bet they're caused by bugs existing in CraftBukkit/Minecraft's world generation code. That's assuming you're not using a world generation plugin or a custom build of CraftBukkit like Spigot, in which case the problem might be there.
As KodekPL suggests you'll need to look to one of those for updates which should eventually fix the problem you're having.
@gustebeast
I initially would have thought so, but after very brief testing it doesn't seem to work that way. I'm guessing it preserves the biome data for the old world and doesn't generate the new biomes on an old world. So you'll probably need to start a new world for the new biomes.
Don't just take my word for it, though, I haven't really looked into it beyond a quick test while I was doing 1.7.2 compatibility testing as above.
-
View User Profile
-
Send Message
Posted Dec 1, 2013@Xibalba7 @Puremin0rez I didn't test it yet, but I assume that is a issue with generating ice spikes biome. Try using the latest Spigot build or wait for Bukkit fix.
-
View User Profile
-
Send Message
Posted Dec 1, 2013@Brettflan
Hello, I have the same issue but it only happens when filling reaches 2.9%
-
View User Profile
-
Send Message
Posted Dec 1, 2013Im running the 1.7.2 spigot build.
I have a world with radius 3000. If I stand in the center then type the following commands...
/wb set 1000
/wb trim
/wb set 3000
/wb fill
Will it create 1.7.2 terrain for everything outside of a 1000 block radius?
-
View User Profile
-
Send Message
Posted Dec 1, 2013@Puremin0rez
I'll try to set aside time to do compatibility testing in the next few days.
-
View User Profile
-
Send Message
Posted Nov 30, 2013Hey!
I know CB 1.7.2 just came out, but I thought i'd let you know.
I'm having an issue with a fill of a world on CB 1.7.2.
I keep getting "task # has encountered an exception in WorldBorder 1.7.6"
It doesn't print the exception though, so I have no idea what's wrong.
Hopefully you know better then I.