Paste #115497: Unnamed Denizen Script Paste

Date: 2023/09/22 07:12:04 UTC-07:00
Type: Denizen Script

View Raw Paste Download This Paste
Copy Link


interface_tab_data:
  type: data
  debug: false
  header:
  - <empty>
  - <&[tab_dark]><&l>» <&l><&gradient[from=blue;to=aqua]>LOSTPIECE<&l><&r> <&l>«
  - <empty>
  footer:
  - <empty>
  - <&r>     <server.online_players.size> <&a><[players]> online    <&r>|    <&e>play.lostpiece.net    <&r>|    <&d>Cola Buff: <&a><[buff]>    <&r>
  players:
    singular: Player
    plural: Players

interface_tab_world:
  type: world
  debug: false
  events:
    after player joins:
    - inject interface_tab_updater
    after player quits:
    - inject interface_tab_updater
    after delta time secondly every:10:
    - inject interface_tab_updater
interface_tab_updater:
  type: task
  debug: true
  definition: p
  script:
  - stop if:<server.online_players.is_empty>
  - ~bungeetag server:mainserver <server.online_players> save:list
  - define maintab <entry[list].result>
  - foreach <server.online_players.include[<entry[list].result>]> as:p:
    - adjust <[p]> tab_list_info:<proc[interface_tab_maker].context[<[p]>]>
    - adjust <[p]> "player_list_name:<[p].flag[profile].get[ranks].get[nametag]> <[p].name> <&7><[p].flag[profile].get[one].get[bounty].proc[bounty_format].if_null[0]>"

  - flag server tablist_owner:!
  - flag server tablist_admin:!
  - flag server tablist_mod:!
  - flag server tablist_youtuber:!
  - flag server tablist_emperorplus:!
  - flag server tablist_emperor:!
  - flag server tablist_mvp:!
  - flag server tablist_vip:!
  - flag server tablist_player:!

  - foreach <server.online_players.include[<entry[motd].result>]> as:a:
    - if <[a].is_vanished>:
      - narrate "You are hidden" targets:<[a]>
      - team name:AAA remove:<[a]>
    - if <[a].flag[ranks].get[power]> == 9:
      - flag server tablist_owner:->:<[a]>
    - else if <[a].flag[ranks].get[power]> == 8:
      - flag server tablist_admin:->:<[a]>
    - else if <[a].flag[ranks].get[power]> == 7:
      - flag server tablist_mod:->:<[a]>
    - else if <[a].flag[ranks].get[power]> == 6:
      - flag server tablist_youtuber:->:<[a]>
    - else if <[a].flag[ranks].get[power]> == 5:
      - flag server tablist_emperorplus:->:<[a]>
    - else if <[a].flag[ranks].get[power]> == 4:
      - flag server tablist_emperor:->:<[a]>
    - else if <[a].flag[ranks].get[power]> == 3:
      - flag server tablist_mvp:->:<[a]>
    - else if <[a].flag[ranks].get[power]> == 2:
      - flag server tablist_vip:->:<[a]>
    - else:
      - flag server tablist_player:->:<[a]>
  - foreach <server.flag[tablist_owner].if_null[]> as:p:
    - team name:AAA add:<[p]>
  - foreach <server.flag[tablist_admin].if_null[]> as:p:
    - team name:BBB add:<[p]>
  - foreach <server.flag[tablist_mod].if_null[]> as:p:
    - team name:CCC add:<[p]>
  - foreach <server.flag[tablist_youtuber].if_null[]> as:p:
    - team name:DDD add:<[p]>
  - foreach <server.flag[tablist_emperorplus].if_null[]> as:p:
    - team name:EEE add:<[p]>
  - foreach <server.flag[tablist_emperor].if_null[]> as:p:
    - team name:FFF add:<[p]>
  - foreach <server.flag[tablist_mvp].if_null[]> as:p:
    - team name:GGG add:<[p]>
  - foreach <server.flag[tablist_vip].if_null[]> as:p:
    - team name:HHH add:<[p]>
  - foreach <server.flag[tablist_player].if_null[]> as:p:
    - team name:III add:<[p]>




interface_tab_maker:
  type: procedure
  debug: false
  definitions: p
  script:
  - define buff <[p].flag_expiration[cola].from_now.formatted.if_null[<&c>None]>
  - define online <server.online_players.size>
  - if <[online].is[more].than[1]>:
    - define players <script[interface_tab_data].data_key[players.plural]>
  - else:
    - define players <script[interface_tab_data].data_key[players.singular]>
  - determine <script[interface_tab_data].parsed_key[header].separated_by[<&nl>]>|<script[interface_tab_data].parsed_key[footer].separated_by[<&nl>]>