WorldBorder 1.9.10 (beta)

a feature-rich world size limiting plugin, which can also generate or trim a world to your border

  1. Brettflan
    Native Minecraft Version:
    1.14
    Tested Minecraft Versions:
    • 1.13
    • 1.14
    Source Code:
    https://github.com/Brettflan/WorldBorder

    Since Spigot is the continuation of Bukkit, I've finally gotten around to setting up a page for WorldBorder here.

    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 [​IMG].
    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 Tutorials:


    Spanish Tutorial:


    wb_screenshot_2.jpg


    Of special interest are the Fill command and the Trim command features:
    worldborder_fill_before_and_after.gif worldborder_trim_before_and_after.gif


    Borders are also displayed automatically by default in DynMap if you have it:
    dynmap_border.png

Recent Reviews

  1. Appa117
    Appa117
    5/5,
    Version: 1.9.10 (beta)
    Excellent plugin.

    I am using this for several years now. Does exactly what is is supposed to do. Trim/fill cmd is the nuts.

    10/10

    Keep it up!

    Cheers
  2. MothMuse
    MothMuse
    4/5,
    Version: 1.9.10 (beta)
    AMAZING plugin. been using this for YEARS since it first came out. so happy to see it on the spigot site and all that now... and even happier that its alive and doing awesome! though, i will say i've got the same issue as davidoz, nufs, and everyone else reporting the nether portal issue. hope there's a fix on the way!
  3. smeths
    smeths
    5/5,
    Version: 1.9.10 (beta)
    never actually had any issues with this plugin, idk how every seems to, been using it for year, thanks for keeping this updated :D :D
  4. Davidoz
    Davidoz
    4/5,
    Version: 1.9.10 (beta)
    I have the exact same issue as Nufs, I have my worldborder in the overworld set at 200000, and the border in the nether is set at 25000, which is 1/8th of the overworld border. Going from the overworld to the nether works fine, but from the nether to the overworld it bugs out. It would indeed be great if this is fixable.
  5. Nufs
    Nufs
    4/5,
    Version: 1.9.10 (beta)
    Hi, I have an issue with teleporting from the nether to the overworld. I have the border of the nether set 8 times smaller than the overworld border. If I try returning from the nether to an area that would be outside it's border the world border will think the border to the nether still applies and teleport the player to a random location. For example, I have 8000 nether border and 64000 overworld border. If a player goes to 2000 in the nether and creates a portal, the worldborder plugin will see that the player travels to 16000, and for some reason because that value is higher than 8000(nether border) it will teleport them to some area within 8000 in the overworld. Is there any way to fix this?
  6. GreyGOAT
    GreyGOAT
    4/5,
    Version: 1.9.10 (beta)
    loving it so far. Really helped with server performance IMO. However just ran into an issue. it seems to have affected the nether and end negatively (server been running for a month with 20 constant players). So I had to /wb clear until I can figure it out a fix.
  7. 0fficerMike
    0fficerMike
    4/5,
    Version: 1.9.10 (beta)
    While the server was doing the fill command. /wb fill 10
    While worldborder with /wb was set to 10K. My server "crashed" i don't really think crashed because everything got disabled first before the server shutted down. 23.07 23:35:17 [Server] INFO java.lang.OutOfMemoryError: GC overhead limit exceeded It just reaced the limit. But will it continue when i restart the server?
  8. LPmitSimon
    LPmitSimon
    5/5,
    Version: 1.9.10 (beta)
    Thats really cool! Thank you!
    -*-*-*-*-*-*-*-**--*-*-*-*-*-*-*-**--*-*-*-*-*-*-*-**--*-*-*-*-*-*-*-**-
  9. zMatthww
    zMatthww
    3/5,
    Version: 1.9.10 (beta)
    [ERROR] null

    org.bukkit.command.CommandException: Unhandled exception executing command 'wb' in plugin WorldBorder v1.9.10 (beta)

    at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46) ~[spigot-1.8.8.jar:git-Spigot-21fe707-e1ebe52]

    at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:141) ~[spigot-1.8.8.jar:git-Spigot-21fe707-e1ebe52]

    at org.bukkit.craftbukkit.v1_8_R3.CraftServer.dispatchCommand(CraftServer.java:641) ~[spigot-1.8.8.jar:git-Spigot-21fe707-e1ebe52]

    at net.minecraft.server.v1_8_R3.PlayerConnection.handleCommand(PlayerConnection.java:1162) [spigot-1.8.8.jar:git-Spigot-21fe707-e1ebe52]

    at net.minecraft.server.v1_8_R3.PlayerConnection.a(PlayerConnection.java:997) [spigot-1.8.8.jar:git-Spigot-21fe707-e1ebe52]

    at net.minecraft.server.v1_8_R3.PacketPlayInChat.a(PacketPlayInChat.java:45) [spigot-1.8.8.jar:git-Spigot-21fe707-e1ebe52]

    at net.minecraft.server.v1_8_R3.PacketPlayInChat.a(PacketPlayInChat.java:1) [spigot-1.8.8.jar:git-Spigot-21fe707-e1ebe52]

    at net.minecraft.server.v1_8_R3.PlayerConnectionUtils$1.run(SourceFile:13) [spigot-1.8.8.jar:git-Spigot-21fe707-e1ebe52]

    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_212]

    at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_212]

    at net.minecraft.server.v1_8_R3.SystemUtils.a(SourceFile:44) [spigot-1.8.8.jar:git-Spigot-21fe707-e1ebe52]

    at net.minecraft.server.v1_8_R3.MinecraftServer.B(MinecraftServer.java:715) [spigot-1.8.8.jar:git-Spigot-21fe707-e1ebe52]

    at net.minecraft.server.v1_8_R3.DedicatedServer.B(DedicatedServer.java:374) [spigot-1.8.8.jar:git-Spigot-21fe707-e1ebe52]

    at net.minecraft.server.v1_8_R3.MinecraftServer.A(MinecraftServer.java:654) [spigot-1.8.8.jar:git-Spigot-21fe707-e1ebe52]

    at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:557) [spigot-1.8.8.jar:git-Spigot-21fe707-e1ebe52]

    at java.lang.Thread.run(Thread.java:813) [?:1.8.0_212]

    Caused by: java.lang.NoSuchFieldError: org/bukkit/Material.CAVE_AIR

    at com.wimbli.WorldBorder.BorderData.<clinit>(BorderData.java:298) ~[?:?]

    at com.wimbli.WorldBorder.Config.setBorder(Config.java:95) ~[?:?]

    at com.wimbli.WorldBorder.cmd.CmdSet.execute(CmdSet.java:142) ~[?:?]

    at com.wimbli.WorldBorder.WBCommand.onCommand(WBCommand.java:141) ~[?:?]

    at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) ~[spigot-1.8.8.jar:git-Spigot-21fe707-e1ebe52]

    ... 15 more
  10. tyrael
    tyrael
    1/5,
    Version: 1.9.10 (beta)
    [12:57:23] [Server thread/WARN]: [WorldBorder] Task #34842 for WorldBorder v1.9.10 (beta) generated an exception
    java.util.ConcurrentModificationException: null
    at java.util.HashMap$HashIterator.nextNode(Unknown Source) ~[?:1.8.0_171]
    at java.util.HashMap$KeyIterator.next(Unknown Source) ~[?:1.8.0_171]
    at java.lang.Iterable.forEach(Unknown Source) ~[?:1.8.0_171]
    at net.minecraft.server.v1_14_R1.ChunkMapDistance.a(SourceFile:132) ~[spigot.jar:git-Spigot-df0eb25-e8c0836]
    at net.minecraft.server.v1_14_R1.ChunkProviderServer.tickDistanceManager(ChunkProviderServer.java:204) ~[spigot.jar:git-Spigot-df0eb25-e8c0836]
    at net.minecraft.server.v1_14_R1.ChunkProviderServer.getChunkFutureMainThread(ChunkProviderServer.java:144) ~[spigot.jar:git-Spigot-df0eb25-e8c0836]
    at net.minecraft.server.v1_14_R1.ChunkProviderServer.getChunkAt(ChunkProviderServer.java:91) ~[spigot.jar:git-Spigot-df0eb25-e8c0836]
    at net.minecraft.server.v1_14_R1.World.getChunkAt(World.java:212) ~[spigot.jar:git-Spigot-df0eb25-e8c0836]
    at net.minecraft.server.v1_14_R1.IWorldReader.getChunkAt(SourceFile:105) ~[spigot.jar:git-Spigot-df0eb25-e8c0836]
    at net.minecraft.server.v1_14_R1.World.getChunkAt(World.java:207) ~[spigot.jar:git-Spigot-df0eb25-e8c0836]
    at net.minecraft.server.v1_14_R1.WorldServer.setForceLoaded(WorldServer.java:1444) ~[spigot.jar:git-Spigot-df0eb25-e8c0836]
    at org.bukkit.craftbukkit.v1_14_R1.CraftWorld.setChunkForceLoaded(CraftWorld.java:485) ~[spigot.jar:git-Spigot-df0eb25-e8c0836]
    at com.wimbli.WorldBorder.WorldFillTask.run(WorldFillTask.java:318) ~[?:?]
    at org.bukkit.craftbukkit.v1_14_R1.scheduler.CraftTask.run(CraftTask.java:81) ~[spigot.jar:git-Spigot-df0eb25-e8c0836]
    at org.bukkit.craftbukkit.v1_14_R1.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:394) [spigot.jar:git-Spigot-df0eb25-e8c0836]
    at net.minecraft.server.v1_14_R1.MinecraftServer.b(MinecraftServer.java:1008) [spigot.jar:git-Spigot-df0eb25-e8c0836]
    at net.minecraft.server.v1_14_R1.DedicatedServer.b(DedicatedServer.java:396) [spigot.jar:git-Spigot-df0eb25-e8c0836]
    at net.minecraft.server.v1_14_R1.MinecraftServer.a(MinecraftServer.java:956) [spigot.jar:git-Spigot-df0eb25-e8c0836]
    at net.minecraft.server.v1_14_R1.MinecraftServer.run(MinecraftServer.java:801) [spigot.jar:git-Spigot-df0eb25-e8c0836]
    at java.lang.Thread.run(Unknown Source) [?:1.8.0_171]