################################################ # File containing the core scripts for dTitles # ################################################ # Written by PanteLegacy and Fortifier42 # ########################################## ########################################################### # World script for managing the I/O of the dTitles plugin # ########################################################### dTitles_Manager: type: world events: on server start: - if { - queue clear } else { - if { - yaml create id:titles - yaml savefile:../dTitles/titles.yml id:titles } else { - yaml load:../dTitles/titles.yml id:titles } - if { - yaml create id:players - yaml savefile:../dTitles/players.yml id:players } else { - yaml load: ../dTitles/players.yml id:players } } on world save: - if { - queue clear } else { - if { - yaml savefile:../dTitles/titles.yml id:titles } else { - flag server dTitlesDisable:"Error: dTitles/titles.yml was not registered." } - if { - yaml savefile:../dTitles/players.yml id:players } else { - flag server dTitlesDisable:"Error: dTitles/players.yml was not registered." } } on player joins: - if ].not> { - yaml id:players set Players.: - yaml savefile:../dTitles/players.yml id:players - yaml load:../dTitles/players.yml id:players } else { - queue clear } #################################################################### # World script for handling players clicking items in an inventory # #################################################################### dTitles_Inventory_Manager: type: world events: on player clicks in inventory: - if { - queue clear } else if "" { - determine passively cancelled - define selectedCategory - run Open_Owned_Titles_Menu def:| } else if "" { - determine passively cancelled } else if "" && "" && "" { - determine passively cancelled - define Category - define TitleID - run Set_Title def:|| } on player drags in inventory: - if { - queue clear } else { - determine cancelled } ############################################## # Generates the items in the categories menu # ############################################## Generate_Category_Item: type: procedure definitions: Category script: - define Path Categories. - adjust .Item].as_item||i@Stone> display_name:<&r>.Display].parse_color> save:GeneratedItem - adjust "Lore:Category<&co> " save:CategoryItem - determine ##################################################### # Opens the categories menu and fills it with items # ##################################################### Open_Category_Menu: type: task script: - define Items li@ - foreach { - define Item ]> - define Items ]> } - inventory open "d:in@generic[size=;contents=;title=Titles - Categories]" ########################################### # Generates the items in the titles owned # ########################################### Generate_Title_Item: type: procedure definitions: Category|ID script: - define Path Categories..Titles. - if ].not> { - determine "i@stone[display_name=Invalid Title]" } - define Item .Item].as_item||i@stone> - adjust display_name:.Display].parse_color> save:item - adjust "lore:<&r>Category: ].parse_color>|<&0>ID<&co> %id%" save:generatedItem - determine ####################################################### # Opens the owned titles menu and fills it with items # ####################################################### Open_Owned_Titles_Menu: type: task definitions: Category|targetedPlayer script: - define Items li@ - foreach .titles.]> { - define Item |]> - define Items ]> } - inventory open "d:in@generic[size=;contents=;title=Titles - ]" ############################### # Sets the prefix of a player # ############################### Set_Title: type: task definitions: Category|titleID|targetedPlayer script: - define Title .titles..display]> - team add: prefix: ############################################## # Task script for adding a title to a player # ############################################## Titles_Player_Add: type: task definitions: category|titleID|targetedPlayer script: - define path Players..Categories.titles.. - if { - yaml id:players set Players..Categories.titles.:->: - yaml savefile:../dTitles/players.yml id:players - yaml load:../dTitles/players.yml id:players } else { - determine passively cancelled - flag error:Player bought a title that he already owns... Idiot. } ################################################## # Task script for removing a title from a player # ################################################## Titles_Player_Remove: type: task definitions: category|titleID|targetedPlayer script: - define path Players..Categories.titles.. - if { - yaml id:players set Players..Categories.titles.:<-: - yaml savefile:../dTitles/players.yml id:players - yaml load:../dTitles/players.yml id:players } else { - determine cancelled }