Tested Minecraft Versions: 1.8, 1.9, 1.10, 1.11
UltraMenu:
MAIN CONFIG:
PROFESSIONAL MENU CONFIG:
NORMAL MENU CONFIG:
Setup professional menu:
Setup normal menu:
Addition for no-ping item:
You can always set the config to view pinging the server set to false.
Then set offline section as needed.
Special placeholder characters for Lore, DisplayName, Commands and Title:
Thanks @abukk
TODO:
UltraMenu:
- When updating on version 7.2 + is necessary to remove the directory 'UltraMenu'!
- Ping professional game menu!
- Ping normal menu!
- Multiple Menu!
- PlaceholderAPI support! (download: link)
- Animation lore!
- Animation name!
- Animation title!
- PvP Stats support! (download: link)
- Auto-Update menu!
- TNTRun support! - New! (download: link)
- BedWarsRel support! - New (download: link)
- Fully configurable!
- /ultramenu - Show help
- /ultramenu reload - Reload config and all menus
- /ultramenu open professional file_name.yml - Show professional menu
- /ultramenu open normal file_name.yml - Show normal menu
- ultramenu.cmd.admin - For /ultramenu and /ultramenu reload command!
- ultramenu.cmd.open.professional - For /ultramenu open professional file_name.yml command!
- ultramenu.cmd.open.normal - For /ultramenu open normal file_name.yml command!
MAIN CONFIG:
Code:
join_message: '&7You joined to &e{SERVER}'
update_menu: 15
update_ping: 3
no_permissions: '&cYou dont have permissions!'
no_exist: '&cThis menu is not exist!'
groups:
enabled: false
update_ping_time: 3
list:
example:
arena_1: your_ip.com:25565
arena_2: your_ip.com:25566
debug: false
Code:
menu_name:
- "&eSelect"
- "&bGame"
run_command: games
menu_size: 27
run_permission: none
BedWars-1:
slot: 1
ip: 'your_ip.com'
port: 25565
join_msg_enabled: true
pinging: true
item_amout: '{ONLINE}'
commands:
- "close_inventory: true"
- "send_server: BedWars-1"
loading:
id: 35
data: 5
name:
- '&aBedWars-1'
- '&bBedWars-1'
- '&dBedWars-1'
lore:
Lore_1:
- '&r '
- '&aLoading...'
- '&r '
Lore_2:
- '&r '
- '&eLoading...'
- '&r '
Lore_3:
- '&r '
- '&bLoading...'
- '&r '
offline:
id: 35
data: 14
name:
- '&cBedWars-1'
- '&eBedWars-1'
- '&6BedWars-1'
lore:
Lore_1:
- '&r '
- '&cRestarting...'
- '&r '
Lore_2:
- '&r '
- '&eRestarting...'
- '&r '
Lore_3:
- '&r '
- '&6Restarting...'
- '&r '
No-Ping-Item-Example:
slot: 2
ip: 'your_ip.com'
port: 25565
join_msg_enabled: false
pinging: false
item_amout: '0'
commands:
- "none"
loading:
id: 35
data: 5
name:
- '&r'
lore: none
offline:
id: 160
data: 15
name:
- '&cNo-Ping-Example'
- '&aNo-Ping-Example'
lore:
Lore_1:
- '&r '
- '&cThis is example no ping item...'
- '&r '
Lore_2:
- '&r '
- '&eThis is example no ping item...'
- '&r '
Code:
menu_name:
- "&aSelect"
- "&cServer"
menu_size: 9
run_command: servers
run_permission: none
Server-1:
slot: 1
ip: you_ip.com
port: 25565
pinging: true
join_msg_enabled: true
item_amout: '{ONLINE}'
commands:
- "close_inventory: true"
- "send_server: Server-1"
online:
name:
- '&aS'
- '&aSe'
- '&aSer'
- '&aServ'
- '&aServe'
- '&aServer'
- '&aServer-'
- '&aServer-1'
id: 35
data: 5
lore:
lore_1:
- '&r '
- '&7Online: &e{ONLINE}&7/&c{MAX_PLAYERS}'
- '&7Motd: &c{MOTD}'
- '&r'
- '&aServer is online!'
lore_2:
- '&r '
- '&7Online: &e{ONLINE}&7/&c{MAX_PLAYERS}'
- '&7Motd: &c{MOTD}'
- '&r'
- '&bServer is online!'
lore_3:
- '&r '
- '&7Online: &e{ONLINE}&7/&c{MAX_PLAYERS}'
- '&7Motd: &c{MOTD}'
- '&r'
- '&dServer is online!'
full:
name:
- '&eS'
- '&eSe'
- '&eSer'
- '&eServ'
- '&eServe'
- '&eServer'
- '&eServer-'
- '&eServer-1'
id: 35
data: 1
lore:
lore_1:
- '&r '
- '&7Online: &e{ONLINE}&7/&c{MAX_PLAYERS}'
- '&7Motd: &c{MOTD}'
- '&r'
- '&eServer is full!'
lore_2:
- '&r '
- '&7Online: &e{ONLINE}&7/&c{MAX_PLAYERS}'
- '&7Motd: &c{MOTD}'
- '&r'
- '&6Server is full!'
lore_3:
- '&r '
- '&7Online: &e{ONLINE}&7/&c{MAX_PLAYERS}'
- '&7Motd: &c{MOTD}'
- '&r'
- '&cServer is full!'
offline:
name:
- '&cS'
- '&cSe'
- '&cSer'
- '&cServ'
- '&cServe'
- '&cServer'
- '&cServer-'
- '&cServer-1'
id: 35
data: 14
lore:
lore_1:
- '&r '
- '&7Online: &e{ONLINE}&7/&c{MAX_PLAYERS}'
- '&7Motd: &c{MOTD}'
- '&r'
- '&cServer is offline!'
lore_2:
- '&r '
- '&7Online: &e{ONLINE}&7/&c{MAX_PLAYERS}'
- '&7Motd: &c{MOTD}'
- '&r'
- '&6Server is offline!'
lore_3:
- '&r '
- '&7Online: &e{ONLINE}&7/&c{MAX_PLAYERS}'
- '&7Motd: &c{MOTD}'
- '&r'
- '&4Server is offline!'
No-Ping-Item-Example:
slot: 2
ip: 'your_ip.com'
port: 25565
join_msg_enabled: false
pinging: false
item_amout: '0'
commands:
- "none"
online:
id: 1
data: 0
name:
- '&r'
lore: none
full:
id: 1
data: 0
name:
- '&r'
lore: none
offline:
id: 160
data: 15
name:
- '&cNo-Ping-Example'
- '&aNo-Ping-Example'
lore:
Lore_1:
- '&r '
- '&cThis is example no ping item...'
- '&r '
Lore_2:
- '&7Test example characters:'
- '&r '
- '&7Yes: &a[YES]'
- '&7No: &c[NO]'
- '&7Block: &9[X]'
- '&7Hearth: &c[<3]'
- '&7Arrow Up: &b[ARROW_UP]'
- '&7Arrow Down: &b[ARROW_DOWN]'
- '&7Arrow Left: &b[ARROW_LEFT]'
- '&7Arrow Right: &b[ARROW_RIGHT]'
- '&7Note: &6[NOTE]'
- '&7Star: &f[STAR]'
Lore_3:
- '&7Your name: &a{PLAYER}'
- '&7Your display name: &a{PLAYER_DISPLAY_NAME}'
- '&7Your level: &a{PLAYER_LEVEL}'
- '&7Your health: &a{PLAYER_HEALTH}'
- '&7Your food level: &a{PLAYER_FOOD_LEVEL}'
- '&7Your fly speed: &a{PLAYER_FLY_SPEED}'
- '&7Your walk speed: &a{PLAYER_WALK_SPEED}'
- '&7Your exp: &a{PLAYER_EXP}'
- '&7Your location: X: &a{PLAYER_LOC_X}&7 Y: &a{PLAYER_LOC_Y}&7 Z: &a{PLAYER_LOC_Z}&7 PITCH: &a{PLAYER_LOC_PITCH}&7 YAW: &a{PLAYER_LOC_YAW}'
- '&7Your world: &a{PLAYER_LOC_WORLD}'
- '&7Your ip address: &a{PLAYER_IP_ADDRESS}'
- '&7Your gamemode: &a{PLAYER_GAMEMODE}'
- '&7Your uuid: &a{PLAYER_UUID}'
- '&7Your ping: &a{PLAYER_PING}ms'
Setup professional menu:
- Set on the second server motd: "ITEM_ID#ITEM_DATA#LORE"
- Example: "35#1#&aLobby%newline%&7Players: &e%online%&8/&c%max%"
- Screenshots:
- Motd properties/config:
- Motd:
- Result:
- Motd properties/config:
- Variables:
- %online% - Online players
- %max% - Max players
- %newline% - Add new lore
- Set on the second server motd: "ITEM_ID#ITEM_DATA#LORE"
- You create in folder "/plugins/UltraMenu/ProfessionalMenu/" <name_menu>.yml file!
- Open file <name_menu>.yml!
- Paste fromto <name_menu>.yml!
- Config <name_menu>.yml, adjust according to the requirements!
- Commands for 'commands' in config:
- send_server: example_bungee_server - Send to bungee target server
- console_command: example_cmd - Send to console example command
- player_command: spawn - Send command to player
- send_message: &aThis is test! - Send message to player
- close_inventory: true - Close inventory
- open_menu_professional: file_name.yml - Show target professional menu
- open_menu_normal: file_name.yml - Show target normal menu
- send_server: example_bungee_server - Send to bungee target server
- Ping Variables for lore and display name:
- Group variables:
- {GROUP_ONLINE_PLAYERS_Group_Name} - Show online players of the group
- {GROUP_MAX_PLAYERS_Group_Name} - Show max players of the group
- {GROUP_Group_Name_ARENA_ONLINE_PLAYERS_Arena_Name} - Show arena players of group
- {GROUP_Group_Name_ARENA_MAX_PLAYERS_Arena_Name} - Show arena max players of group
- Groups settings are in config.yml!
- Groups example screenshot:
- Group variables:
- PlaceholderAPI:
- Download: PlaceholderAPI
- All variables on website: variables
- If placeholders don't work, You need to download 'expansion' command /papi ecloud download <expansion name> and reload the server!
- Example for Vault: /papi ecloud download Vault
- Ping Variables for 'commands' in config:
- {ONLINE} - Online players in clicked item
- {MAX_PLAYERS} - Max players in clicked item
- {MOTD} - Motd server in clicked item
- PlaceholderAPI:
- Download: PlaceholderAPI
- All variables on website: variables
- If placeholders don't work, You need to download 'expansion' command /papi ecloud download <expansion name> and reload the server!
- Example for Vault: /papi ecloud download Vault
- Ping Variables for 'item_amout' in config:
- {ONLINE} - Show online players
- {MAX_PLAYERS} Show max players
- Group variables:
- {GROUP_ONLINE_PLAYERS_Group_Name} - Show online players of the group
- {GROUP_MAX_PLAYERS_Group_Name} - Show max players of the group
- {GROUP_Group_Name_ARENA_ONLINE_PLAYERS_Arena_Name} - Show arena players of group
- {GROUP_Group_Name_ARENA_MAX_PLAYERS_Arena_Name} - Show arena max players of group
- Groups settings are in config.yml!
- PlaceholderAPI integer variables:
- Download: PlaceholderAPI
- All variables on website: variables
- If placeholders don't work, You need to download 'expansion' command /papi ecloud download <expansion name> and reload the server!
- Example for Vault: /papi ecloud download Vault
- INFO:
- If you don't want to set the 'item lore':
- 'lore: none' and delete configuration sections of 'lore:'!
- 'run_permission: none' - no permission
- 'run_command: none' - no command
- If you don't want to set the 'item lore':
- Commands for 'commands' in config:
- Save config!
- Reload config with command /ultramenu reload!
- Open menu with command set in <name_menu>.yml!
- The results:
Setup normal menu:
- You create in folder "/plugins/UltraMenu/NormalMenu/" <name_menu>.yml file!
- Open file <name_menu>.yml!
- Paste from
to <name_menu>.yml!
- Config <name_menu>.yml, adjust according to the requirements!
- Commands for 'commands' in config:
- send_server: example_bungee_server - Send to bungee target server
- console_command: example_cmd - Send to console example command
- player_command: spawn - Send command to player
- send_message: &aThis is test! - Send message to player
- close_inventory: true - Close inventory
- open_menu_professional: file_name.yml - Show target professional menu
- open_menu_normal: file_name.yml - Show target normal menu
- send_server: example_bungee_server - Send to bungee target server
- Ping Variables for lore and display name:
- {ONLINE} - Online players on second server
- {MAX_PLAYERS} - Max players on second server
- {MOTD} - Motd server on second server
- Group variables:
- {GROUP_ONLINE_PLAYERS_Group_Name} - Show online players of the group
- {GROUP_MAX_PLAYERS_Group_Name} - Show max players of the group
- {GROUP_Group_Name_ARENA_ONLINE_PLAYERS_Arena_Name} - Show arena players of group
- {GROUP_Group_Name_ARENA_MAX_PLAYERS_Arena_Name} - Show arena max players of group
- Groups settings are in config.yml!
- Groups example screenshot:
- PlaceholderAPI:
- Download: PlaceholderAPI
- All variables on website: variables
- If placeholders don't work, You need to download 'expansion' command /papi ecloud download <expansion name> and reload the server!
- Example for Vault: /papi ecloud download Vault
- Ping Variables for 'commands' in config:
- {ONLINE} - Online players in clicked item
- {MAX_PLAYERS} - Max players in clicked item
- {MOTD} - Motd server in clicked item
- PlaceholderAPI:
- Download: PlaceholderAPI
- All variables on website: variables
- If placeholders don't work, You need to download 'expansion' command /papi ecloud download <expansion name> and reload the server!
- Example for Vault: /papi ecloud download Vault
- Ping Variables for 'item_amout' in config:
- {ONLINE} - Show online players
- {MAX_PLAYERS} Show max players
- Group variables
- {GROUP_ONLINE_PLAYERS_Group_Name} - Show online players of the group
- {GROUP_MAX_PLAYERS_Group_Name} - Show max players of the group
- {GROUP_Group_Name_ARENA_ONLINE_PLAYERS_Arena_Name} - Show arena players of group
- {GROUP_Group_Name_ARENA_MAX_PLAYERS_Arena_Name} - Show arena max players of group
- Groups settings are in config.yml!
- PlaceholderAPI integer variables:
- Download: PlaceholderAPI
- All variables on website: variables
- If placeholders don't work, You need to download 'expansion' command /papi ecloud download <expansion name> and reload the server!
- Example for Vault: /papi ecloud download Vault
- INFO:
- If you don't want to set the 'item lore':
- 'lore: none' and delete configuration sections of 'lore:'!
- 'run_permission: none' - no permission
- 'run_command: none' - no command
- If you don't want to set the 'item lore':
- Commands for 'commands' in config:
- Save config!
- Reload config with command /ultramenu reload!
- Open menu with command set in <name_menu>.yml!
- The results:
- Config <name_menu>.yml, adjust according to the requirements!
Addition for no-ping item:
You can always set the config to view pinging the server set to false.
Then set offline section as needed.
Special placeholder characters for Lore, DisplayName, Commands and Title:
- Yes: [YES] (✔)
- No: [NO] (✘)
- Block: [X] (█)
- Hearth: [<3] (❤)
- Arrow Up: [ARROW_UP] (⇧)
- Arrow Down: [ARROW_DOWN] (⇩)
- Arrow Left: [ARROW_LEFT] (⇨)
- Arrow Right: [ARROW_RIGHT] (⇦)
- Note: [NOTE] (♫)
- Star: [STAR] (✪)
- Show Your name: {PLAYER}
- Show Your display name: {PLAYER_DISPLAY_NAME}
- Show Your level: {PLAYER_LEVEL}
- Show Your health: {PLAYER_HEALTH}
- Show Your food level: {PLAYER_FOOD_LEVEL}
- Show Your fly speed: {PLAYER_FLY_SPEED}
- Show Your walk speed: {PLAYER_WALK_SPEED}
- Show Your exp: {PLAYER_EXP}
- Show Your X location: {PLAYER_LOC_X}
- Show Your Y location: {PLAYER_LOC_Y}
- Show Your Z location: {PLAYER_LOC_Z}
- Show Your Pitch location: {PLAYER_LOC_PITCH}
- Show Your Yaw location: {PLAYER_LOC_YAW}
- Show Your world location: {PLAYER_LOC_WORLD}
- Show Your ip address: {PLAYER_IP_ADDRESS}
- Show Your gamemode: {PLAYER_GAMEMODE}
- Show Your uuid: {PLAYER_UUID}
- Show Your ping: {PLAYER_PING}
- PvP Stats holders:
- Show Your kills: {PVP_STATS_KILLS}
- Show Your deaths: {PVP_STATS_DEATHS}
- TNTRun Stats holders: New!
- Show Your destroyed blocks: {TNTRUN_DESTROYED_BLOCKS}
- Show Your wins: {TNTRUN_WINS}
- Show Your losses: {TNTRUN_LOSSES}
- TNTRun Arena holders: New!
- Show arena name: {TNTRUN_ARENA_ArenaName_NAME}
- Show arena max players: {TNTRUN_ARENA_ArenaName_MAX_PLAYERS}
- Show arena minimal players: {TNTRUN_ARENA_ArenaName_MIN_PLAYERS}
- Show arena players: {TNTRUN_ARENA_ArenaName_PLAYERS}
- Show arena spectators: {TNTRUN_ARENA_ArenaName_SPECTATORS}
- Show arena status: {TNTRUN_ARENA_ArenaName_STATUS}
- Show arena starting time: {TNTRUN_ARENA_ArenaName_STARTING_TIME}
- BedWarsRel Arena holders: New!
- Show arena name: {BW_GAME_ArenaName_NAME}
- Show arena starting time:{BW_GAME_ArenaName_STARTING}
- Show arena status: {BW_GAME_ArenaName_STATUS}
- Show arena spectators: {BW_GAME_ArenaName_SPECTATORS}
- Show arena players: {BW_GAME_ArenaName_PLAYERS}
- Show arena minimal players: {BW_GAME_ArenaName_MIN_PLAYERS}
- Show arena max players: {BW_GAME_ArenaName_MAX_PLAYERS}
- Show arena region name: {BW_GAME_ArenaName_REGION_NAME}
- Show arena time left: {BW_GAME_ArenaName_TIME_LEFT}
- Show arena playing teams size: {BW_GAME_ArenaName_PLAYING_TEAMS_SIZE}
- Show arena all teams size: {BW_GAME_ArenaName_ALL_TEAMS_SIZE}
- Show arena of team size: {BW_GAME_ArenaName_TEAM_TeamName_PLAYERS}
- Show arena of team max players: {BW_GAME_ArenaName_TEAM_TeamName_MAX_PLAYERS}
- BedWarsRel Stats holders: New!
- Show Your kills: {BW_KILLS}
- Show Your deaths: {BW_DEATHS}
- Show Your wins: {BW_WINS}
- Show Your losses: {BW_LOSSES}
- Show Your played games: {BW_PLAYED_GAMES}
- Show Your score: {BW_SCORE}
- Show Your K/D: {BW_KD}
- Show Your destroyed beds: {BW_DESTROYED_BEDS}
Code:
UltraMenuAPI.openNormalMenu(Player p, String configName); //Open Normal menu
UltraMenuAPI.openProfessionalMenu(Player p, String configName); //Open professional menu
String name = "test_group"; //Group name
HashMap<String, String> arenas = new HashMap<String, String>(); //Create new HashMap
arenas.put("arena_1", "mc.your_ip.com:25565"); //Put arena to hash map
UltraMenuAPI.addGroup(String name, HashMap<String, String> arenas); //Add group
@EventHandler
public void onOpen(PlayerOpenNormalMenuEvent e) {
if (e.getFirstTitle().equals("Select Server")) {
e.getPlayer().sendMessage("§aMenu opened!");
}
}
@EventHandler
public void onOpen(PlayerOpenProfMenuEvent e) {
if (e.getFirstTitle().equals("Select Game")) {
e.setCancelled(true);
e.getPlayer().sendMessage("§cEvent cancelled!");
}
}
public void broadcastGroupInfo() {
Group group = UltraMenuAPI.getGroupByName("example_group");
if (group == null) {
return;
}
Bukkit.broadcastMessage("Group: " + ChatColor.GREEN + group.getName());
Bukkit.broadcastMessage(ChatColor.DARK_GRAY + " - " + ChatColor.GRAY + "Online players: " + ChatColor.YELLOW + group.getOnlinePlayers());
Bukkit.broadcastMessage(ChatColor.DARK_GRAY + " - " + ChatColor.GRAY + "Max online players: " + ChatColor.RED + group.getMaxPlayers());
group.addArena(ip, port, arenaName);
server_list arena = group.getArena("example_arena");
if (arena == null) {
return;
}
}
Thanks @abukk
TODO:
- 1. New section "Mineplex Menu"
- Do not decompile this plugin and upload source code!
- Do not post this resource as free!
- Do not receive any refunds!
- Do not upload this resource to other forums!
- Do not sell/give this resource!
- Do not ask for features or report bugs in the reviews/discussion. I will not reply on them!