⭕ Unlimited Ranks ✅ GUI Based ✨ PAPI Support

VanguardRanks with Placeholder API integration enables server managers to use custom placeholders to set specific requirements for rank progression. Define conditions such as balance, level, and more using placeholders, enabling dynamic and personalized ranking criteria.
VanguardRanks is the most intuitive ranking plugin. Instead of forcing your players to navigate tedious commands and chat messages, they can use the GUI to easily check available ranks and track their progress.
VanguardRanks allows you to create unlimited ranks for your players. The GUI is automatically paginated, offering an extensive and seamless progression system for your players to achieve.
VanguardRanks supports multiple languages, ensuring that players from around the world can enjoy the plugin in their native language. Easily configure the language messages to provide a personalized experience for your community.
VanguardRanks offers extensive customization options, allowing you to tailor the ranking system to fit your server's unique needs. Modify rank requirements, rewards, and permissions with ease to create the perfect progression system for your players.
Stay connected with your community through the built-in Discord hook. Automatically send rank-up notifications directly to your Discord server, keeping your players informed and engaged.
%current% - The current value of the requirement
%required% - The required value of the requirement
%status% - The status of the requirement, if true or false
%vanguardranks_prefix% - The prefix of the player's current rank%vanguardranks_next_prefix% - The prefix of the next rank%vanguardranks_previous_prefix% - The prefix of the previous rank%vanguardranks_display_name% - The display name of the player's current rank%vanguardranks_next_display_name% - The display name of the next rank%vanguardranks_previous_display_name% - The display name of the previous rank%vanguardranks_name% - The name of the player's current rank%vanguardranks_next_name% - The name of the next rank%vanguardranks_previous_name% - The name of the previous rank%vanguardranks_order% - The order of the player's current rank%vanguardranks_next_order% - The order of the next rank%vanguardranks_previous_order% - The order of the previous rank%vanguardranks_status% - The status of the player's current rankconfig.yml
rank_checker: 300 # in seconds -1 to disable
rank_on_join: true
luckperms:
enabled: true # Enable or disable LuckPerms integration
auto_setup: true # Automatically create groups and manage the track based on ranks
track: 'vanguardranks' # The LuckPerms track name to manage
storage:
adapter: yaml # yaml | mysql
prefix: vanguard_ranks
address: localhost:3306
database: minecraft
username: root
password: ''
discord:
enabled: true
avatar_url: 'https://minotar.net/helm/%player%/64.png'
username: '%player%'
webhook: 'https://discord.com/api/webhooks/1234567890/abcdefghijklmnopqrstuvwxyz'
menu:
open_on_current_rank: true
gui:
flow: SNAKE # SNAKE, HORIZONTAL, VERTICAL
structure:
- "B A B A * A B A B"
- ". . . . . . . . ."
- ". . . . . . . . ."
- "B B B < X > B B B"
recipe:
"*":
icon: PLAYER_HEAD
icon_amount: 1
icon_model_data: 3
function: PLAYER
display_name: '&7%player%'
lore:
- "Current rank %rank%"
- "..."
- "..."
# Fill the empty space with a material
".":
icon: AIR
function: RANK
# You can use as a material
"A":
icon: BLACK_STAINED_GLASS_PANE
function: DECORATIVE
# You can also not define a function, default will be DECORATIVE
"B": WHITE_STAINED_GLASS_PANE
"X":
icon: REDSTONE
function: CLOSE
# You can use as an item with model data
"<":
icon: RED_STAINED_GLASS_PANE
icon_model_data: 10
function: BACK
">":
icon: LIME_STAINED_GLASS_PANE
icon_model_data: 0
function: FORWARD
status:
completed:
display_name: '%rank% &7- &a&lCOMPLETED'
icon: AIR
icon_amount: 1
display_lore: true
prepend_lore:
- " "
append_lore:
- " "
- "&aYou have completed this rank!"
current:
display_name: '%rank% &7- &2&lCURRENT RANK'
icon: AIR
icon_amount: 1
display_lore: true
prepend_lore:
- " "
append_lore:
- " "
- "&aClick you rank up if all satisfied"
in_progress:
display_name: '%rank% &7- &e&lIN PROGRESS'
icon: AIR
icon_amount: 1
display_lore: true
prepend_lore:
- " "
append_lore:
- " "
- "&6You are currently working on this rank!"
locked:
display_name: '%rank% &7- &c&lLOCKED'
icon: AIR
icon_amount: 1
display_lore: false
prepend_lore:
- " "
append_lore:
- " "
- "&cYou need to complete the previous rank!"
ranks.yml
rookie:
prefix: "&8[&eROOKIE&8]"
display_name: '&eRookie'
icon: COBBLESTONE
icon_amount: 1
icon_model_data: 0
lore:
- '&eRewards'
- ' '
- '&7- &fAccess to %display_name% &7kit'
commands:
- 'lp user %player% permission set essentials.kits.%name% true'
- 'discord: :medal: %player% has reached %display_name%!'
# Has either of the permissions
- 'perm_rank.vip1;rank.vip2: eco give %player% 1000'
explorer:
prefix: "&8[&aEXPLORER&8]"
display_name: '&aExplorer'
icon: head:eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvOGFhNmMyZDFiZDgwZmRkNmE2MzJjYzdjYWZkMjVmMDllZjIwM2VlYzJhNjkzYjdjYmEwM2QxNzZiMmNjMDcxYiJ9fX0=
icon_amount: 2
icon_model_data: 10
requirements:
'%vault_eco_balance%':
type: NUMBER
eval: GREATER
value: 100
gui_message: '&7Money &a%formatter_number_shorten_{current}%&7/&e%formatter_number_shorten_{required}% &r%status%'
deny_message: '&7You need to have more money than &c$%formatter_number_shorten_{required}%'
'%statistic_walk_one_cm%':
type: NUMBER
eval: GREATER
value: 10000
gui_message: '&7Distance Walked &a%formatter_number_shorten_{current}%&7/&e%formatter_number_shorten_{required}% &r%status%'
deny_message: '&7You need to walk at least &c%formatter_number_shorten_{required}% &7blocks'
lore:
- '&cRequirements:'
- ' '
- '&7- %requirement_0%'
- '&7- %requirement_1%'
- ' '
- '&eRewards'
- ' '
- '&7- &f$1000'
- '&7- &fAccess to %display_name% &7kit'
commands:
- 'eco give %player% 1000'
- 'lp user %player% permission set essentials.kits.%name% true'
- 'title %player% title "&7You are now %display_name%!"'
- 'discord: :medal: %player% has reached %display_name%!'
# Has both permissions
- 'perm_rank.vip1,rank.vip2: eco give %player% 2000'
# Has either of the permissions
- 'perm_rank.vip1;rank.vip2: eco give %player% 1000'