Paste #51032: prefixer

Date: 2018/12/08 10:40:37 UTC-08:00
Type: Denizen Script

View Raw Paste Download This Paste
Copy Link


# Tablist/name group prefix helper, written by mcmonkey for BossManOnScreen

# CONFIG VALUES: Set them below to correct values
group_prefix_config:
    type: yaml data
    tablist_header:
    - "&cZypher&bMC"
    tablist_footer:
    - "&7Website &8>> &fwww.zyphermc.com"
    - "&7Server Store&8>> store.zyphermc.com"
    - ""
    - "&7You are on &6play.zyphermc.com"
    ranks:
    - Owner/&c
    - Manager/&3
    - Admin/&4
    - Develper/&a
    - Mod/&5
    - Builder/&e
    - Helper/&a
    - Trainee/&d
    - Member/&7

# -------------------------------
# End of config
# -------------------------------
# Start of logic
# -------------------------------

group_prefix_handler_world:
    type: world
    debug: false
    events:
        on player joins:
        - run s@group_prefix_apply_task instantly

major_group_for_proc:
    type: procedure
    debug: false
    script:
    - foreach <s@group_prefix_config.yaml_key[ranks]>:
        - if <player.in_group[<def[value].before[/]>]>:
            - determine <def[value]>/<def[loop_index]>
    - determine other
group_prefix_apply_all_task:
    type: task
    debug: false
    speed: 0
    script:
    - foreach <server.list_online_players>:
        - run s@group_prefix_apply_task instantly player:<def[value]>

group_prefix_apply_task:
    type: task
    debug: false
    speed: 0
    script:
    - define group <proc[major_group_for_proc]>
    - if <def[group]> == other:
        - queue clear
    - define group_name <def[group].before[/]>
    - define group_color <def[group].after[/].before[/].parse_color>
    - define group_index <def[group].after_last[/].pad_left[2].with[0]>
    - define team_name "AA<def[group]_index>_<def[group_name]>"
    - team name:<def[team_name]> add:<player.name> "prefix:<def[group_color]>[<def[group_name]>]<&f>"
    - adjust <player> "tab_list_info:<s@group_prefix_config.yaml_key[tablist_header].split_by[<n>]>|<s@group_prefix_config.yaml_key[tablist_footer].split_by[<n>]>"