liteprofilesutils_load_data: debug: false type: task script: - ~yaml load:../LiteProfiles/data.yml id:liteprofiles_data liteprofilesutils_get_master_uuid: debug: false type: procedure definitions: player script: - determine ]> liteprofilesutils_get_profile_limit: debug: false type: procedure definitions: player script: - determine ]> liteprofilesutils_get_profile_count: debug: false type: procedure definitions: player script: - determine ].sub[1]> liteprofilesutils_show_menu: debug: false type: task definitions: player script: - ~run liteprofilesutils_load_data - define masteruuid ]> - define profilelimit ]> - define profilecount ]> - define contents # master uuid - define masteritem - define mastername ]>]> - if <[mastername]> == null: - define mastername "Unnamed Character" - adjust def:masteritem display:<&f><[mastername]> - adjust def:masteritem lore:Master Profile|<&f>|<&8>UUID:|<&8><[masteruuid]>]> - flag <[masteritem]> liteprofiles:]> - define contents <[contents].include[<[masteritem]>]> # slave uuids - define sortedslaveitems - foreach ].keys.exclude[active].exclude[<[masteruuid]>]> as:slaveuuid: - define slaveitem - define slavename ]>]> - if <[slavename]> == null: - define slavename "Unnamed Character" - adjust def:slaveitem display:<&f><[slavename]> - adjust def:slaveitem lore:Alt Profile|<&f>|<&8>UUID:|<&8><[slaveuuid]>]> - flag <[slaveitem]> liteprofiles:]> - define sortedslaveitems <[sortedslaveitems].include[<[slaveitem]>]> - define sortedslaveitems <[sortedslaveitems].sort_by_value[display]> - define contents <[contents].include[<[sortedslaveitems]>]> # free slots - if <[profilecount]> < <[profilelimit].sub[1]>: - define freeitem - adjust def:freeitem "display:<&b>Free Slot" - adjust def:freeitem lore:Click here to create a new profile]> - flag <[freeitem]> liteprofiles: - define contents <[contents].include[<[freeitem]>]> - repeat <[profilelimit].sub[<[profilecount]>]>: - define unuseditem - adjust def:unuseditem "display:<&7>Free Slot" - define contents <[contents].include[<[unuseditem]>]> # show - run liteprofiles_legacy_menus_open def.player:<[player]> def.id:liteprofiles def.page:0 def.contents:<[contents]> # # # # # # # # # # # # # # # # # # # # # # # # # # LEGACY MENU LIBRARY PROVIDED IN LITEPROFILES # # # # # # # # # # # # # # # # # # # # # # # # # # # buttons liteprofiles_legacy_menus_button_previous: debug: false type: item material: ender_pearl display name: <&a><<><<> liteprofiles_legacy_menus_button_next: debug: false type: item material: ender_eye display name: <&a><>><>> # generate menu liteprofiles_legacy_menus_open: debug: false type: task definitions: player|id|page|contents script: - define inventory 邑邑邑邑鄈;size=18]]> - foreach <[contents].get[<[page].mul[9].add[1]>].to[<[page].add[1].mul[9]>].if_null[]> as:item: - inventory set origin:<[item]> destination:<[inventory]> slot:<[loop_index]> - if <[page]> > 0: - inventory set origin: destination:<[inventory]> slot:13 - if <[contents].size> > <[page].add[1].mul[9]>: - inventory set origin: destination:<[inventory]> slot:15 - flag <[player]> liteprofiles_legacy_menu:].with[page].as[<[page]>].with[contents].as[<[contents]>]> - define profilelimit ]> - inventory set origin:How to use;lore=<&7>Your master profile is your original UUID (your main account).|<&7>You will see your other profiles in the menu. Click on any button|<&7>to change to that profile.|<&f>|<&7>You may also create new profiles if you have free slots.|<&7>You currently own <&e><[profilelimit]> profiles<&7>. You may obtain more|<&7>with donation ranks or for animal characters.]]> destination:<[inventory]> slot:10 - inventory open player:<[player]> destination:<[inventory]> # menu button handler liteprofiles_legacy_menus_button_handler: debug: false type: world events: on player clicks in inventory: - if != <&f>邑邑邑邑鄈: - stop - determine cancelled passively # if air ignore, means button doesnt exist or is to be handled elsewhere # 13 prev 15 next everything else ignore - if == 13: - if : - define data - run liteprofiles_legacy_menus_open def.player: def.id:<[data].get[id]> def.page:<[data].get[page].sub[1]> def.contents:<[data].get[contents]> - if == 15: - if : - define data - run liteprofiles_legacy_menus_open def.player: def.id:<[data].get[id]> def.page:<[data].get[page].add[1]> def.contents:<[data].get[contents]>