-lobbyInventoryHandler:
- type: world
+lobbyInventory:
+ type: inventory
- debug: true
- events:
- on player drops serverselector:
- - determine cancelled
- on player clicks with serverselector using either_hand:
- - determine passively CANCELLED
- - foreach <bungee.list_servers.filter[starts_with[lobby]].alphanumeric> as:lobby:
- - ~bungeetag <server.list_online_players.size> server:<[lobby]> save:<[lobby]>Playercount
- - flag server <[lobby]>Playercount:<entry[<[lobby]>Playercount].result>
- - ~bungeetag <server.list_online_players.size> server:dev1 save:devPlayercount
- - if <player.groups.contains_any[admin|advbuilder|builder|dev|mod|systemdev]> && <bungee.list_servers.contains[dev1]>:
- - ~bungeetag <server.list_online_players.size> server:dev1 save:devPlayercount
- - flag server devPlayercount:<entry[devPlayercount].result>
- - inventory open d:<inventory[lobbyInventory]>
- on player enters lobbyPortal:
- - determine passively CANCELLED
- - foreach <bungee.list_servers.filter[starts_with[lobby]].alphanumeric> as:lobby:
- - ~bungeetag <server.list_online_players.size> server:<[lobby]> save:<[lobby]>Playercount
- - flag server <[lobby]>Playercount:<entry[<[lobby]>Playercount].result>
- - ~bungeetag <server.list_online_players.size> server:dev1 save:devPlayercount
- - if <player.groups.contains_any[admin|advbuilder|builder|dev|mod|systemdev]> && <bungee.list_servers.contains[dev1]>:
- - ~bungeetag <server.list_online_players.size> server:dev1 save:devPlayercount
- - flag server devPlayercount:<entry[devPlayercount].result>
- - shoot <player> destination:<player.location.sub[5,0,0]> speed:2 origin:<player.location> no_rotate
- - wait 2t
- - inventory open d:<inventory[lobbyInventory]>
- on player clicks in lobbyInventory:
- - determine cancelled
- on player drags in lobbyInventory:
- - determine cancelled
- on player clicks serverLobbyOnline in lobbyInventory:
- - bungeeexecute "send <player> <context.item.nbt[lobby]>"
- on player clicks serverDevOnline in lobbyInventory:
- - bungeeexecute "send <player> dev1"
-
-lobbyInventory:
- type: inventory
debug: false
title: Vailcraft Servers<&co> Page 1
size: 54
procedural items:
- - define serverListLobby li@
- foreach <bungee.list_servers.filter[starts_with[lobby]].alphanumeric> as:lobby:
- - define itemDName <s@serverNames.yaml_key[<[lobby]>.displayname]>
+ - define itemDName <script[serverNames].yaml_key[<[lobby]>.displayname]>
- if <[lobby]> == <bungee.server>:
- define itemLore "<server.flag[<[lobby]>Playercount]>|<&f>|<&7>You are connected|<&7>to this lobby."
- else:
- define itemLore "<server.flag[<[lobby]>Playercount]>|<&f>|<&7>Click to join..."
- - define serverItemLobby "i@serverLobbyOnline[display_name=<&b><[itemDName]>;lore=<&9>Players<&co> <&7><[itemLore]>;nbt=lobby/<[lobby]>]"
+ - define serverItemLobby "<item[serverLobbyOnline].with[display_name=<&b><[itemDName]>;lore=<&9>Players<&co> <&7><[itemLore]>;nbt=lobby/<[lobby]>]>"
- define serverListLobby <[serverListLobby].include[<[serverItemLobby]>]>
- flag server <[lobby]>Playercount:!
- define items <[serverListLobby]>
- - define whitelistLobby li@46|47|48|49|50|51|52
- - define whitelistDividers li@8|17|26|35|36|37|38|39|40|41|42|43|44|53
- - define dividers <list[].pad_right[14].with[i@black_stained_glass_pane]>
+ - define whitelistLobby:|:46|47|48|49|50|51|52
+ - define whitelistDividers:|:8|17|26|35|36|37|38|39|40|41|42|43|44|53
+ - define dividers <list[].pad_right[14].with[<item[black_stained_glass_pane]>]>
- define outputLobby <list[].pad_right[54].with[air]>
- foreach <[items]>:
- define outputLobby <[outputLobby].set[<[value]>].at[<[whitelistLobby].get[<[loop_index]>]>]>
- foreach <[dividers]>:
- define outputLobby <[outputLobby].set[<[value]>].at[<[whitelistDividers].get[<[loop_index]>]>]>
- if <player.groups.contains_any[admin|advbuilder|builder|dev|mod|systemdev]>:
- if <bungee.list_servers.contains[dev1]>:
- - define serverItemDev "i@serverDevOnline[display_name=<&c>Development;lore=<&4>Players<&co> <&7><server.flag[devPlayercount]>/50|<&f>|<&7>Click to join...;nbt=dev/dev1]"
+ - define serverItemDev "<item[serverDevOnline].with[display_name=<&c>Development;lore=<&4>Players<&co> <&7><server.flag[devPlayercount]>/50|<&f>|<&7>Click to join...;nbt=dev/dev1]>"
- define outputLobby <[outputLobby].set[<[serverItemDev]>].at[45]>
- flag server devPlayercount:!
- if !<bungee.list_servers.contains[dev1]>:
- - define serverItemDev "i@serverDevOffline[display_name=<&8>Development;lore=<&7>Offline...]"
+ - define serverItemDev "<item[serverDevOffline].with[display_name=<&8>Development;lore=<&7>Offline...]>"
- define outputLobby <[outputLobby].set[<[serverItemDev]>].at[45]>
- flag server devPlayercount:!
- determine <[outputLobby]>