Paste #38416: Hub Script

Date: 2016/12/20 12:23:34 UTC-08:00
Type: Denizen Script

View Raw Paste Download This Paste
Copy Link


HubScript:
  type: world
  debug: true
  events:
    on player join:
    - inventory clear
    - give i@Server_Selector to:<player.inventory> slot:1
    - give i@Player_Hider_Disabled quantity:1 to:<player.inventory> slot:2
    - if <player.is_op> {
      - give i@StaffHammer to:<player.inventory> slot:9
    }
    on player quit:
      - wait 1t
      - adjust <player> 'location:l@-54.5,52.5,-94.5,0,0,MainLobby
    on server start:
    - run Player_Count_Refresh

Player_Count_Refresh:
  type: task
  debug: true
  script:
    - while true:
      - foreach <bungee.list_servers>:
        - ~bungeetag <server.list_online_players.size.as_int> server:<def[value].name> save:player_count
        - flag server playercount.<def[value].name>:<entry[player_count].result>
      - wait 60s

HelpCommand:
  type: command
  name: help
  script:
  - narrate "<&b>Did you find a hacker or rule breaker? Report them here:"
  - narrate "<&e>http://xpcraft.com/forums/ban-reports.9/"
  - narrate "<&b>Found a bug? Report it here:"
  - narrate "<&e>http://xpcraft.com/forums/bug-reports.3/"
  - narrate "<&b>For help with games and all other server features, visit our forums:"
  - narrate "<&e>http://xpcraft.com/forums/"

Server_Selector:
  type: item
  material: i@compass
  display name: <&3>Server Selector
  bound: true

Player_Hider_Disabled:
  type: item
  material: i@347
  display name: <&b>Player Hider <&e>- <&c>Disabled
  bound: true

Player_Hider_Enabled:
  type: item
  material: i@347
  display name: <&b>Player Hider <&e>- <&a>Enabled
  bound: true

Server_Selector_Menu:
    type: world
    debug: true
    events:
      on player right clicks with Server_Selector:
      - inventory open d:in@Server_GUI_Menu
      on player right clicks with Player_Hider_Disabled:
      - run Player_Hider_Task
      - take slot:2 from:<player.inventory>
      - give i@Player_Hider_Enabled quantity:1 to:<player.inventory> slot:2   
      on player right clicks with Player_Hider_Enabled:
      - run Player_Show_Task
      - take slot:2 from:<player.inventory>
      - give i@Player_Hider_Disabled quantity:1 to:<player.inventory> slot:2   

Player_Hide_Task:
    type: task
    debug: true
    script:
      - foreach <player.world.players.exclude[<player>].filter[is_op.not]> {
          - adjust <player> hide_entity:<def[value]>
        }

Player_Show_Task:
    type: task
    debug: true
    script:
      - foreach <player.world.players.exclude[<player>].filter[is_op.not]> {
          - adjust <player> show_entity:<def[value]>
        }

Server_GUI_Menu:
    type: inventory
    title: <&3>Server List
    size: 9
    slots:
      - "[Filler] [Filler] [i@Survival[quantity=<server.flag[playercount.survival]>]] [Filler] [i@Creative[quantity=<server.flag[playercount.creative]>]] [Filler] [i@Shift[quantity=<server.flag[playercount.shift1].add[server.flag[playercount.shift2]].add[server.flag[playercount.shift3]].add[server.flag[playercount.shift4]]>]] [Filler] [Filler]" 

Shift_GUI_Menu:
    type: inventory
    title: <&3>Server List
    size: 9
    Slots:
      - "[i@Shift_1[quantity=<server.flag[playercount.shift1]>]] [i@Shift_2[quantity=<server.flag[playercount.shift2]>]] [i@Shift_3[quantity=<server.flag[playercount.shift3]>]]] [i@Shift_4[quantity=<server.flag[playercount.shift4]>]] [Filler] [Filler] [Filler] [Filler] [Filler]"


Server_GUI_Menu_handler:
    type: world
    events:
         on player clicks in Server_GUI_Menu:
         - determine cancelled
         on player drags in Server_GUI_Menu:
         - determine cancelled
         on player clicks Shift in Server_GUI_Menu:
         - inventory open d:in@Shift_GUI_Menu
         on player clicks in Shift_GUI_Menu:
         - determine cancelled
         on player drags in Shift_GUI_Menu:
         - determine cancelled
         on player clicks Creative in Server_GUI_Menu:
         - adjust <player> send_to:server@creative
         on player clicks Survival in Server_GUI_Menu:
         - adjust <player> send_to:server@survival
         on player clicks Shift_1 in Shift_GUI_Menu:
         - adjust <player> send_to:server@shift1
         on player clicks Shift_2 in Shift_GUI_Menu:
         - adjust <player> send_to:server@shift2
         on player clicks Shift_3 in Shift_GUI_Menu:
         - adjust <player> send_to:server@shift3
         on player clicks Shift_4 in Shift_GUI_Menu:
         - adjust <player> send_to:server@shift4

Creative:
    type: item
    material: 271
    display name: <&2>Creative
    enchantments:
    - infinity:1

Survival:
    type: item
    material: 267
    display name: <&6>Survival
    enchantments:
    - infinity:1

Shift:
    type: item
    material: quartz_ore
    display name: <&5>Shift

Shift_1:
    type: item
    material: quartz_ore
    display name: <&5>Shift 1

Shift_2:
    type: item
    material: quartz_ore
    display name: <&5>Shift 2

Shift_3:
    type: item
    material: quartz_ore
    display name: <&5>Shift 3

Shift_4:
    type: item
    material: quartz_ore
    display name: <&5>Shift 4

Filler:
    type: item
    material: black_stained_glass_pane

StaffHammer:
    type: item
    material: diamond_axe
    display name: <&4>Staff Hammer