HomeJavaModsBorderPlus
BorderPlus
BorderPlus — screenshot 1BorderPlus — screenshot 2BorderPlus — screenshot 3BorderPlus — screenshot 4BorderPlus — screenshot 5BorderPlus — screenshot 6BorderPlus — screenshot 7BorderPlus — screenshot 8

top

Other images

Description of the BorderPlus Plugin:

BorderPlus is a Minecraft plugin that allows your players to literally move the world borders. This is done through a user-friendly GUI that is fully customizable to meet your needs. Players can pay for expanding the world border using items, blocks, or currency. With the latest update, we’ve introduced a Collective Pot System, enabling players to pool their resources and expand the border together, making the experience even more interactive and engaging.

The Collective Pot System gives your server a community-focused twist, where players can contribute items or currency towards a shared goal to extend the world’s border. Once the goal is reached, the border will expand automatically, with a custom notification alerting all online players. The collective system not only tracks contributions but also displays the top contributors on a leaderboard, encouraging friendly competition. To open the pot’s GUI, players simply type /borderplus collective <worldName>.

Each world’s border can be configured with individual limits to prevent expansion beyond a specified maximum radius. This ensures balance and prevents the world from becoming too large to manage. Contributions are tracked through an SQLite database, so no player efforts are lost, even across restarts.

The plugin offers extensive customization options, including per-world GUIs, configurable permissions, support for heads via HeadDatabase and Base64, and integration with economy plugins like Vault and PlayerPoints. Your players will be notified with custom messages and sounds when the border expands, further enhancing the immersive experience.

Java 17+ is required.

Features of the BorderPlus Plugin:

Commands and Permissions for the BorderPlus Plugin

Player Commands:


Permissions for the BorderPlus Plugin

Player Permissions:

Admin Permissions:

Configuration File Example:

config.yml

# ===============================
#       Plugin Settings
# ===============================
#
# You can configure separate GUIs for each world. These GUIs will open automatically
# when a player is in the respective world or by using the command «/borderplus open world_name».
#
# Configuration examples:
#   - Specify the world name and the GUI file that will open for this world.
#   - Comment out or remove lines for unused worlds.
#
settings:
  # Language selection for plugin messages
  # Possible values:
  #   "en" for English
  #   "ru" для Русского
  #   "de" für Deutsch
  #   "fr" pour le français
  #   "es" para español
  #   "it" per l'italiano
  #   "pt" para português
  #   "zh" 表示中文
  language: "en"

  # Show a title to all players when a player expands the world border?
  #    true = show
  #    false = do not show
  show_title: true

  # Enable or disable the use of economy
  economy_enabled: true

  # The economic system to be used
  # Possible values: "playerpoints", "vault", "default"
  # "default" means that the old logic will be used: if both plugins are found, PlayerPoints will be used.
  preferred_economy: "default"

  # The total amount of resources or currency required to reach the goal
  # and trigger the world border expansion.
  # Once the collective goal is reached, the border will expand.
  collective_goal: 1000

  # The number of blocks by which the world border will expand
  # after the goal is achieved.
  # For example, if set to 1000, the world border will expand by 1000 blocks in every direction.
  collective_expansion_amount: 1000

  # The duration (in seconds) it takes for the world border to expand to its new size.
  # For example, if set to 10, the border will take 10 seconds to fully expand after the goal is achieved.
  world_border_expand_duration: 10

  worlds:
    world:
      gui: "gui.yml"
      max_size: 5000
      collective_gui: "collective_gui_world.yml"
      name: "Survival World"
      automatically_expand_worlds:
        # Worlds that expand automatically when this world expands.
        # Key = exact world name on server (check your world/ folder for folder names).
        # Any world works: Nether, End, void, custom, skyblock, etc. Just use its folder name.
        #
        # Value = expansion ratio in format 1.X (means 1:X).
        # The number after the dot is the denominator. Formula: dependent_expansion = source_expansion / X
        #
        # Examples:
        #   1.1 = 1:1  -> multiplier 1.0   -> overworld +1000 = dependent +1000 (same)
        #   1.2 = 1:2  -> multiplier 0.5    -> overworld +1000 = dependent +500  (half)
        #   1.3 = 1:3  -> multiplier 0.333  -> overworld +1000 = dependent +333
        #   1.8 = 1:8  -> multiplier 0.125  -> overworld +1000 = dependent +125 (Minecraft Nether formula)
        #
        # Values outside 1.0-2.0 range are used as raw multiplier (e.g. 0.5 = half, 2.0 = double).
        #
        # Don't want automatic expansion? Remove automatically_expand_worlds block entirely. Old configs without it work fine.
        # Want only Nether to expand? Remove world_the_end line below. Want only End? Remove world_nether.
        world_nether: 1.8   # Nether. 1:8 = overworld +1000 blocks = nether +125 blocks
        world_the_end: 1.1  # End. 1:1 = expands same amount as overworld
      expand_worlds_names:   # display names for automatically_expand_worlds (shown in messages instead of world_nether etc.). Optional.
        world_nether: "Nether"
        world_the_end: "The End"
    #world_nether:
    #  gui: "gui_nether.yml"                     # expansion menu file for Nether
    #  max_size: 625                             # max border diameter (625 = 1/8 of 5000)
    #  collective_gui: "collective_gui_nether.yml"  # collective contribution menu
    #  name: "Nether"                            # display name in messages
    #  depends_on: "world"                       # expands together with world
    #  depends_ratio: 1.8                        # 1.8 = 1:8 Minecraft formula
    #world_the_end:
    #  gui: "gui_end.yml"                        # menu file for End
    #  max_size: 5000                            # max border diameter
    #  collective_gui: "collective_gui_end.yml"  # collective contribution menu
    #  name: "The End"                           # display name
    #  depends_on: "world"                       # expands together with world
    #flat_world:
    #  gui: "gui2.yml"                           # menu for flat world
    #  collective_gui: "collective_gui_flat_world.yml"  # collective menu
    #  max_size: 5000                            # max border diameter
    #  name: "Flat World"                        # display name
    #world3:
    #  gui: "gui3.yml"                           # menu for third world
    #  collective_gui: "collective_gui_world3.yml"
    #  max_size: 5000
    #  name: "Third World"

# ===============================
#    GUI Rotation Settings
# ===============================
#
# Settings for automatic resource rotation in GUI files
#
gui_rotation:
  # Enable automatic resource rotation in GUI
  enabled: true

  # Rotation interval in seconds (for testing)
  # For production, it's recommended to use days: 259200 (3 days)
  interval_seconds: 300

  # Notification settings
  notifications:
    # Show messages about automatic resource rotation
    auto_rotation: true

    # Show messages about manual updates
    #   Message output for command: /borderplus rotategui world_name file_name
    #     example: /borderplus rotategui world collective_gui_world.yml
    manual_rotation: false

    # Show notifications only for collective GUIs
    collective_only: true

    # Show notifications only for regular GUIs
    world_only: false

How the GUI for the world "world" looks:

In the material field, you can use three types of items: Item names. Example: DIAMOND, which will display a diamond. Heads from the HeadDatabase plugin. Example: hdb-4188, where 4188 is the ID of the head from the plugin.

Heads in Base64 format. Example:

material: base64-eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZjRhMmFmMjYxMDFmNDRmMTE2YWY5MzM3NzRjMDQ3NGI3NjcxODJlNmNhM2Y4ZmRmMTc2NDFlY2YwMmI2YTE4ZCJ9fX0=

You can find the head you need on the website: https://minecraft-heads.com/

Heads from the Skulls plugin. Example: skull-, where is the ID of the head. Ensure that the Skulls plugin is installed to use this feature.

gui.yml

menus:
  border_menu:
    title: '   &#58126b◂ &#721c8a&lBorder Expansion &#58126b▸'
    size: 27
    items:
      increase_diamond_20:
        required_material: DIAMOND
        cost: 0.0
        material: DIAMOND
        lore:
        - ''
        - '   &7Spend &b&l100 diamonds&7 to'
        - '   &7increase the world border'
        - '   &7by &b&l500 blocks'
        - ''
        - ' &#168032⋅ &#32a852click &7- to expand the border'
        - ''
        required_amount: 100
        sound: BLOCK_ANVIL_LAND
        weight: 500
        economy: false
        slot: 10
        display_name: '&#7289DA &lDiamond Expansion'
      increase_gold_50:
        required_material: GOLD_INGOT
        cost: 0.0
        material: GOLD_INGOT
        lore:
        - ''
        - '   &7Spend &6&l50 gold ingots&7 to'
        - '   &7increase the world border'
        - '   &7by &6&l500 blocks'
        - ''
        - ' &#168032⋅ &#32a852click &7- to expand the border'
        - ''
        required_amount: 50
        sound: ENTITY_PLAYER_LEVELUP
        weight: 500
        economy: false
        slot: 13
        display_name: '&#7289DA &lGold Expansion'
      increase_iron_100:
        required_material: IRON_INGOT
        cost: 0.0
        material: IRON_INGOT
        lore:
        - ''
        - '   &7Spend &f&l100 iron ingots&7 to'
        - '   &7increase the world border'
        - '   &7by &f&l100 blocks'
        - ''
        - ' &#168032⋅ &#32a852click &7- to expand the border'
        - ''
        required_amount: 100
        sound: ENTITY_EXPERIENCE_ORB_PICKUP
        weight: 500
        economy: false
        slot: 16
        display_name: '&f&lIron Expansion'
      increase_economy_1000:
        required_material: EMERALD
        cost: 1000.0
        material: EMERALD
        lore:
        - ''
        - '   &7Spend &61000 coins&7 to'
        - '   &7increase the world border'
        - '   &7by &a&l1000 blocks'
        - ''
        - ' &#168032⋅ &#32a852click &7- to expand the border'
        - ''
        required_amount: 1000
        sound: BLOCK_GRASS_BREAK
        weight: 1000
        economy: true
        slot: 22
        display_name: '&a&lEmerald Border Expansion'

collective_gui_world.yml

menus:
  collective_menu:
    title: '   &#58126b◂ &#721c8a&lPiggy Bank &#58126b▸'
    size: 27
    items:
      center_item:
        material: GOLD_INGOT
        lore:
        - ''
        - ''
        - '   &7Contributed: &a%borderplus_collective_progress_world%&7%'
        - '   %progress_bar_world%'
        - ''
        - '    &9&lLeaders'
        - '  &e1st place: &b%borderplus_collective_top_name_1%'
        - '  &e2nd place: &b%borderplus_collective_top_name_2%'
        - '  &e3rd place: &b%borderplus_collective_top_name_3%'
        - ''
        - '   &aYour contribution: &7%borderplus_collective_player_contribution%'
        - ''
        - ' &#168032⋅ &#32a852Click the buttons below'
        - ' &#168032  below to contribute'
        - ''
        slot: 13
        display_name: '&eWorld Expansion Progress'
      contribute_1:
        material: IRON_INGOT
        lore:
        - ''
        - '   &7Click to contribute'
        - '   &a1 &7resource to the piggy bank.'
        - ''
        slot: 21
        economy: false
        display_name: '&aContribute 1 resource'
        contribution_amount: 1
      contribute_100:
        cost: 100.0
        material: EMERALD
        lore:
        - ''
        - '   &7Click to contribute'
        - '   &a100 coins &7to the piggy bank.'
        - ''
        slot: 23
        economy: true
        display_name: '&aContribute 100 coins'
        contribution_amount: 100

Message File:

# ===============================
#        Plugin Messages          #
# ===============================
#
# You can customize it to your liking and make it more informative and appealing.
# ===============================
messages:
  border_expanded_one: |
    &#6A0DAD&l    *✧・゚ &#C4B0FBWorld border expanded &#6A0DAD&l゚・✧*
    &#6A0DAD  &#AB47BC%player% &#6A0DADexpanded &#B388EB%borderplus_world_name% by &#6A0DAD&#AB47BC%actual_amount% &#6A0DADblocks!!
    &#6A0DAD               
    &#C4B0FB         New world borders:
    &#7E57C2       Min. coordinates: &#9575CD[%minX%, %minZ%]
    &#7E57C2       Max. coordinates: &#9575CD[%maxX%, %maxZ%]
    %expanded_worlds_info%
    &#6A0DAD&l   ・✧゚======================= ゚✧・
  border_expanded_piggybank: |
    &#6A0DAD&l    *✧・゚ &#C4B0FBWorld border expanded &#6A0DAD&l゚・✧*
    &#6A0DAD  &#AB47BC%player% &#6A0DADexpanded &#B388EB%borderplus_world_name% by &#6A0DAD&#AB47BC%actual_amount% &#6A0DADblocks!!
    &#6A0DAD               
    &#C4B0FB         New world borders:
    &#7E57C2       Min. coordinates: &#9575CD[%minX%, %minZ%]
    &#7E57C2       Max. coordinates: &#9575CD[%maxX%, %maxZ%]
    %expanded_worlds_info%
    &#6A0DAD&l   ・✧゚======================= ゚✧・
  expanded_worlds_header: "&#C4B0FB         Also expanded:"
  expanded_worlds_line: "&#7E57C2       &#B388EB%world_name%&#7E57C2: Min &#9575CD[%minX%, %minZ%] &#7E57C2- Max &#9575CD[%maxX%, %maxZ%]"
  insufficient_items: "&cYou don't have enough %material% (%needed% pcs.)!"
  insufficient_funds: " &cNo money, but you're holding on. Required: %cost%."
  items_removed: "\n&#7289DA Removed &#7289DA&l%amount_removed% &#7289DAitems from your inventory.\n "
  money_removed: "\n&#7289DA Removed &#7289DA&l%amount_removed% &#7289DAcoins from your account.\n "
  invalid_number: "&cInvalid number."
  gui_item_not_found: "&cItem not found in the menu."
  reload_complete: "&aConfiguration reloaded."
  title_message: "&eWorld border expansion"
  title_next: "&e%player% expanded the world border by %actual_amount% blocks"
  usage: "&cNot enough arguments"
  usage_open: "&cInvalid command usage! &7Use: &f/borderplus open &e<world name>"
  no_permission: " &cNo permission, better luck next time."
  loaded_guis: "§aLoaded GUIs for worlds:"
  world_gui_info: "§aWorld: §e{world} §a| GUI: §e{gui}"
  gui_not_found: "§cGUI for this world not found."
  gui_title_size: "Title: %title% | Size: %size%"
  max_radius_reached: "§cWorld border has already reached its maximum size. Further expansion is not possible."
  no_data: "No data"
  not_in_top: "Not in top"
  not_found: "Not found"
  world_not_found: "World not found"
  invalid_position_number: "Invalid position number"
  usage_change: |
    &#ff6b6b✧ &cUsage:
    &#ff6b6b  &f/borderplus change &8[&e<world>&8] &e<amount>
    &#ff6b6b  &7Examples:
    &#ff6b6b   &f/borderplus change 1000
    &#ff6b6b   &f/borderplus change world 500
  invalid_world: |
    &#ff5252✖ &cWorld &cnot found. Please check the name and try again.
  border_changed: |
    &#6A0DAD
    &#6A0DAD&l    *✧・゚ &#C4B0FBWorld border &#AB47BC%world% &#C4B0FBchanged by &#AB47BC%amount% &#C4B0FBblocks! &#6A0DAD&l゚・✧*
    &#6A0DAD
  gui_rotation_changed: |
    &#6A0DAD&l    *✧・゚ &#C4B0FB🔄 Items Update &#6A0DAD&l゚・✧*
    &#6A0DAD  &#AB47BC%world% &#6A0DAD- required items changed
    &#6A0DAD&l   ・✧゚======================= ゚✧・
  gui_rotated_manually: |
    &#6A0DAD&l    *✧・゚ &#C4B0FB⚡ Force Update &#6A0DAD&l゚・✧*
    &#6A0DAD  &#AB47BC%world% &#6A0DAD- items updated by admin
    &#6A0DAD&l   ・✧゚======================= ゚✧・

  # Log messages
  log_gui_rotation_enabled: "GUI rotation enabled: %enabled%"
  log_rotation_interval: "Rotation interval: %seconds% seconds"
  log_auto_notifications: "Auto notifications: %enabled%"
  log_manual_notifications: "Manual notifications: %enabled%"
  log_rotation_task_started: "GUI rotation task started (checking every 30 seconds)"
  log_gui_rotated: "GUI rotated for world %world% file: %gui% (interval: %seconds%s)"

  # Command messages
  command_rotategui_usage: "Usage: /borderplus rotategui <worldName> [guiFile]"
  command_world_settings_not_found: "§cSettings for world %world% not found"
  command_gui_status_header: "§6=== GUI Status for world %world% ==="
  command_gui_status_main: "§eMain GUI: §f%gui%"
  command_gui_status_collective: "§eCollective GUI: §f%gui%"
  command_gui_status_rotations: "§6Active rotations:"
  command_gui_status_no_rotations: "§7No active rotations"
  command_gui_status_rotation_item: "§7- %key%: %value%"
  command_gui_status_next_rotation: "§eTime until next rotation: §f%minutes%m %seconds%s"
  command_gui_status_next_rotation_soon: "§eNext rotation: §fsoon"
# ============= End of Messages Settings ================== #

BorderPlus Plugin Placeholders:

Requires PlaceholderAPI to function correctly.

General Placeholders:

These placeholders allow flexible display of information related to world borders and leaderboards, enabling easy integration of both physical items and virtual economy in your server.

Collective Pot Placeholders:

Configuring Leaderboard in BorderPlus:

If you want to display a leaderboard, you can use a plugin of your choice... I prefer to use: DecentHolograms.

pages:
- lines:
  - content: " &6&lTop 1: &b%borderplus_top_block_nick_1% &7- &4⌀ &a%borderplus_top_block_rank_1% &4⟘ &a%borderplus_top_block_radius_1% blocks"
    height: 0.3
  - content: " &6&lTop 2: &b%borderplus_top_block_nick_2% &7- &4⌀ &a%borderplus_top_block_rank_2% &4⟘ &a%borderplus_top_block_radius_2% blocks"
    height: 0.3
  - content: " &6&lTop 3: &b%borderplus_top_block_nick_3% &7- &4⌀ &a%borderplus_top_block_rank_3% &4⟘ &a%borderplus_top_block_radius_3% blocks"
    height: 0.3
  - content: ""
    height: 0.3
  - content: "&f&lYour stats:"
    height: 0.3
  - content: "&8#&b%borderplus_player_rank%&7 &7- &4⌀ &a%borderplus_player_blocks% &4⟘ &a%borderplus_player_radius% blocks"
    height: 0.3
  actions: {}

Installation Guide for the BorderPlus Plugin:

Required Dependencies:

To use the BorderPlus plugin, the following dependencies are necessary:

Mandatory Plugins:

Optional Plugins (Soft Dependencies):


Installation Steps:

  1. Ensure all required dependencies listed above are installed on your server.
  2. Download the BorderPlus plugin from the official source.
  3. Stop your server.
  4. Move the .jar file to the /plugins/ folder in your server directory.
  5. Start your server again.
  6. All set! The plugin is now installed and ready to use.

By following these steps, you’ll have BorderPlus running smoothly on your server with all its features unlocked. Enjoy!

bstats

Quick facts

Install steps are the general flow for this file type — How to install Minecraft Java mods & modpacks walks through it step by step.

Verified by MCModsHub

These come from our own check of the pack file, not from the source page.

Explore more