Paste #38293: Hub Script

Date: 2016/12/13 18:07:39 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.has_op> {
      - give i@StaffHammer to <player.inventory> slot:9
    }
    on player leave:
      - adjust <player.location> 'location:l@-54,52,-94,0,0,MainLobby'

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] [] [Filler] [] [Filler] [] [Filler] [Filler]"
    procedural items:
      - define items li@ 
      - foreach li@Survival|Creative|Shift { 
        - ~bungeetag <server.list_online_players.size.as_int> server:<def[value].name> save:player_count 
        - define items "<def[items].include[i@quartz_ore[quantity=<entry[player_count].result>]]>" 
      } 
      - determine <def[items]> 

Shift_GUI_Menu:
    type: inventory
    title: <&3>Server List
    size: 9
    Slots:
      - "[Shift_1] [Shift_2] [Shift_3] [Shift_4] [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:
         - determined 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: blue_wool
    display name: <&2>Creative

Survival:
    type: item
    material: red_wool
    display name: <&6>Survival

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