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 will pay for the world borders using items, blocks, or currency.
Java 17+ is required.
Starting from version 3.8, the
Piggy Bank feature has been added. By entering the command:
/borderplus collective <world_name>
players will open a menu where they can collectively contribute towards expanding the world border.
Видео обзор на русском:
Features of the BorderPlus Plugin:
- Each message can be customized.
- Create a separate GUI for each world.
- Each GUI has its own usage permissions.
- SQLite database system for saving all player expansions.
- Tracks the number of blocks acquired by players.
- Flexible placeholder system for leaderboards.
- Compatible with PlaceholderAPI.
- Notifies all players when someone expands the world border.
- Customizable title when someone expands the world border.
- Supports economy.
- Vault with compatible economies, such as EssentialsX.
- PlayerPoints.
- In one menu for a world, you can add payment options for both currency and items.
- Maximum world border value is specified for each world.
- Support for the HeadDatabase plugin.
- You can use the format hdb-<head ID>. Example: hdb-4188.
- Support for heads in Base64 format.
- Supports hex color codes.
- Example: ᱹDA &lDiamond Expansion.
- Custom sound settings for each upgrade item. The sound parameter in the GUI.
- Supports the Skulls plugin. To specify a skull, you must use the format skull-<head ID>
- Collective Contributions:
A feature that allows players to contribute towards the world border expansion. Now, every player can make their own contribution to increase the world border size.
Commands of the BorderPlus Plugin:
Commands for Players:
- /borderplus open <world_name>
Opens the plugin menu, allowing players to access various features for expanding the world border.
Example: /borderplus open world
- /borderplus collective <world_name>
Opens the Piggy Bank menu, where players can contribute collectively towards expanding the world border.
Admin Commands:
- /borderplus <Number_of_Blocks> - Quickly increases the specified number of blocks.
- /borderplus reload - Reloads the plugin configuration and GUI menu, refreshing all settings and items.
Permissions for the BorderPlus Plugin:
- borderplus.open.<world_name>
Grants the player access to the specific world menu.
- borderplus.collective.<world_name>
Grants the player access to the collective contribution (Piggy Bank) for the specified world.
Permissions for Administrators:
- borderplus.change - Allows the player to modify the world border using the command /borderplus <number>.
- borderplus.reload - Permission to reload the plugin.
Screenshots of the BorderPlus Plugin:
Configuration File Example:
Code (YAML):
# ===============================
# 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
worlds:
world:
gui
:
"gui.yml"
max_size
: 5000
collective_gui
:
"collective_gui_world.yml"
name
:
"Survival World"
#flat_world:
#gui: "gui2.yml"
#collective_gui: "collective_gui_flat_world.yml"
#max_size: 5000
#name: "Flat World"
#world3:
#gui: "gui3.yml"
#collective_gui: "collective_gui_world3.yml"
#max_size: 5000
#name: "Third World"
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:
Code (Text):
material: base64-eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZjRhMmFmMjYxMDFmNDRmMTE2YWY5MzM3NzRjMDQ3NGI3NjcxODJlNmNhM2Y4ZmRmMTc2NDFlY2YwMmI2YTE4ZCJ9fX0=
You can find the head you need on the website: https://minecraft-heads.com/
- Heads from the Skulls plugin. Example: skull-<ID>, where <ID> is the ID of the head. Ensure that the Skulls plugin is installed to use this feature.
gui.yml
Code (YAML):
menus:
border_menu:
title
: ' &
#58126b◂ ˑc8a&lBorder Expansion b▸'
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⋅  a852click &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⋅  a852click &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⋅  a852click &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⋅  a852click &7- to expand the border'
- ''
required_amount
: 1000
sound
: BLOCK_GRASS_BREAK
weight
: 1000
economy
: true
slot
: 22
display_name
: '&a&lEmerald Border Expansion'
GUI file for the piggy bank
Code (YAML):
menus:
collective_menu:
title
: ' &
#58126b◂ ˑc8a&lPiggy Bank b▸'
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⋅  a852Click 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:
Code (YAML):
# ===============================
# Plugin Messages #
# ===============================
#
# You can customize it to your liking and make it more informative and appealing.
# ===============================
messages:
border_expanded_one
: |
A0DAD&l *✧・゚ &#C4B0FBWorld border expanded A0DAD&l゚・✧*
A0DAD &#AB47BC%player% A0DADexpanded &#B388EB%borderplus_world_name% by A0DAD&#AB47BC%actual_amount% A0DADblocks!!
A0DAD
&#C4B0FB New world borders:
E57C2 Min. coordinates: ╧CD[%minX%, %minZ%]
E57C2 Max. coordinates: ╧CD[%maxX%, %maxZ%]
A0DAD&l ・✧゚======================= ゚✧・
border_expanded_piggybank
: |
A0DAD&l *✧・゚ &#C4B0FBWorld border expanded A0DAD&l゚・✧*
A0DAD &#AB47BC%player% A0DADexpanded &#B388EB%borderplus_world_name% by A0DAD&#AB47BC%actual_amount% A0DADblocks!!
A0DAD
&#C4B0FB New world borders:
E57C2 Min. coordinates: ╧CD[%minX%, %minZ%]
E57C2 Max. coordinates: ╧CD[%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ᱹDA Removed ᱹDA&l%amount_removed% ᱹDAitems from your inventory.\n "
money_removed
:
"\nᱹDA Removed ᱹDA&l%amount_removed% ᱹDAcoins 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"
# ============= End of Messages Settings ================== #
Placeholders for the BorderPlus Plugin:
To operate, PlaceholderAPI is required.
- %borderplus_player_rank%
Returns the player's current rank in the leaderboard based on the number of expanded blocks. If the player is not in the top, it returns the message "Not in the top."
- %borderplus_player_blocks%
Returns the total number of blocks the player has added to the world border. This placeholder shows the cumulative number of blocks expanded by the specific player.
- %borderplus_top_block_nick_X%
Returns the name of the player occupying a specific position (X) in the leaderboard for block expansion. X is the leaderboard position (e.g., 1 for first place).
- %borderplus_top_block_rank_X%
Returns the number of blocks expanded by the player at the specified leaderboard position (X).
- %borderplus_top_block_position_X%
Returns the leaderboard position number. X is the specific position indicated in the placeholder.
- %borderplus_world_display_name_<world_name>%
Returns the display name of the world for which the border is configured. If the world is not found, it returns the message "World not found."
- %borderplus_world_current_size<world_name>%
Returns the current radius of the world.
- %borderplus_world_max_size<world_name>%
Returns the maximum radius of the world.
- %borderplus_world_max_diameter<world_name>%
Returns the maximum diameter of the world.
These placeholders allow you to flexibly configure the display of information about world borders and leaderboards, using both physical items and virtual economy systems.
Piggy Bank Placeholders:
- %borderplus_collective_progress_world%
Displays the percentage towards filling the piggy bank.
- %borderplus_collective_top_name_<number>%
Displays the name of the player from the piggy bank leaderboard for the specified position.
- %borderplus_collective_player_contribution%
Displays the amount of items or coins contributed to the piggy bank by the player viewing the placeholder.
Configuring Leaderboard in BorderPlus:
If you want to display a leaderboard, you can use a plugin of your choice... I prefer to use:
DecentHolograms.
Code (YAML):
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
:
{
}
I hope everything is clear here...
You can call any top from the database simply by specifying the number at the end.
For example: %borderplus_top_block_nick_1% will display the nickname of the top player in terms of block count, while %borderplus_top_block_nick_100% will show the nickname of the hundredth player from the database.
The example demonstrates that there are two personal placeholders:
- %borderplus_player_rank% - will display the player's rank in the leaderboard for the player seeing this placeholder.
- %borderplus_player_blocks% - will show the number of blocks they have expanded the borders by.
Displaying the World Table in Holograms:
This is also based on placeholders, just like the leaderboard, and everything is customizable.
Here's what my hologram looks like:
Code (YAML):
pages:
- lines:
- content
: ' &
#00FFFF %borderplus_world_display_name_world%'
height
: 0.3
- content
: ' &
#00FFFFCurrent radius:  CD32%borderplus_world_current_size_world%'
height
: 0.3
- content
: ' &
#00FFFFMaximum radius: &4%borderplus_world_max_size_world%'
height
: 0.3
- content
: ' &
#00FFFFMaximum diameter: &4%borderplus_world_max_diameter_world%'
height
: 0.3
actions
:
{
}
Installation of the BorderPlus Plugin:
Required Plugins:
- Mandatory Plugins:
- Placeholders:
- Economy:
- You must install one of the economy plugins:
- Vault along with any economy plugin, such as EssentialsX or PlayerPoints.
- If Vault and PlayerPoints are both installed, the plugin will automatically choose PlayerPoints.
- Soft Dependencies (Optional):
- DecentHolograms - If you want to use holograms on the server, I recommend this plugin, but you can use any other.
- HeadDatabase - For displaying heads in place of items.
Installation Steps:
- Ensure that you have the required dependencies mentioned above on your server.
- Download the plugin.
- Shut down the server.
- Move the .jar file into the /plugins/ folder of your server.
- Start the server.
- Done!
P.S. Also, greetings to my mom, dad, grandma, grandpa, Mouse, Black, and all my friends!