Paste #125836: Time script

Date: 2024/08/22 07:08:07 UTC-07:00
Type: Denizen Script

View Raw Paste Download This Paste
Copy Link


world_time_format:
    type: procedure
    debug: false
    definitions: world_time
    script:
        - define hours <[world_time].div[1000].add[6].round_down>
        - define meridiem:AM
        - if <[hours]> >= 12:
            - define hours:-:12
            - define meridiem:PM
        - if <[hours]> >= 12:
            - define hours:-:12
            - define meridiem:AM
        - if <[hours]> == 0:
            - define hours:12
        - define minutes <[world_time].mod[1000].div[16.6666667].round_down.pad_left[2].with[0]>
        - determine "<[hours]>:<[minutes]> <[meridiem]>"

world_time_handler:
    type: world
    debug: false
    events:
        on delta time secondly:
        - define universal_time <world[spawn_area].time>
        - foreach <server.worlds> as:world:
            - if <[world].name> != spawn_area:
                - adjust <[world]> time:<[universal_time]>
        - repeat <element[20].div[10].round_down>:
            - define online_players <server.online_players>
            - foreach <[online_players]> as:__player:
                - if !<server.has_flag[time]> || !<server.has_flag[time.month]> || !<server.has_flag[time.day]>:
                    - flag server time.month:Janusia
                    - flag server time.day:1
                - bossbar timedisp players:<player> "title:<aqua><[universal_time].proc[world_time_format]> <green>Day: <&e><server.flag[time.day]> <&a>Month: <&e><server.flag[time.month]> <&a>Location: <&e>Spawn" progress:0 color:yellow
            - wait 10t