phones_world: debug: false type: world events: ## assign new random number & handle notifications after player joins: - run phones_notify_text_messages def.player: def.delayseconds:5 # - if : - stop - define number - while ].contains[377<[number]>]>: - define number - define number 377<[number]> - flag phones:]> - flag server phones:].with[<[number]>].as[]> ## phone drop, phone unequip, player logs off etc. on player drops item: - if : - if : - determine cancelled - if : - nbs stop targets: - inject phones_inject_end_call on player scrolls their hotbar: - if ].has_flag[phones]>: - inject phones_inject_end_call on player quits: - inject phones_inject_end_call after player clicks in inventory: - if !: - inject phones_inject_end_call ## boot up/down phone on player left clicks block: - if !: - stop - if != : - stop - determine cancelled passively - if : - flag phones_chat_input:! - define state - inventory flag slot:hand phones:<[state]> - if <[state]>: - narrate format:formats_prefix "Powered <&a>on <&7>your phone." # - run phones_notify_text_messages def.player: def.delayseconds:2 - else: - narrate format:formats_prefix "Powered <&c>off <&7>your phone." - nbs stop targets: - inject phones_inject_end_call ## phone GUI on player right clicks block: - if !: - stop - determine cancelled passively - if : - narrate "<&c>You are currently in the middle of a call (stop holding the phone to end the call)." - stop - if : - flag phones_chat_input:! - if !: - narrate "<&c>Please turn on your phone (left click) to view the home screen." - stop - run phones_gui_home def.player: # used in ending a call because code repeats a lot phones_inject_end_call: debug: false type: task script: - if : - flag phones_is_maybe_called:! - nbs stop - if !: - stop - define callwho - define iswaiting - flag phones_call:! - if <[iswaiting]>: - clickable cancel: - flag phones_call_clickable:! - if <[callwho].flag[phones_call].if_null[null]> == : - narrate targets:<[callwho]> format:formats_prefix "Call was ended by the other side." - flag <[callwho]> phones_call:! - else: - nbs stop targets:<[callwho]> - narrate targets:<[callwho]> format:formats_prefix "The person on the other side hung up before you answered." - narrate format:formats_prefix "You ended the call." ## only gui handling phones_world_gui: debug: false type: world events: on player clicks in inventory: - if !: - stop - determine cancelled passively - if > : - stop - define title # Home Page - if <[title]> == <&0>邒: - if == 13: - run phones_gui_settings def.player: - if == 14: - inventory close - run phones_contacts_print def.player: def.page:0 - else if == 15: - flag phones_gui_page:0 - run phones_gui_texts def.player: def.page:0 - else if == 22: - flag phones_gui_page:0 - run phones_gui_music def.player: def.page:0 def.ringtone:false - else if <[title]> == <&1>邒: - if == ender_pearl: - define page - flag phones_gui_page:<[page]> - run phones_gui_texts def.player: def.page:<[page]> - else if == ender_eye: - define page - flag phones_gui_page:<[page]> - run phones_gui_texts def.player: def.page:<[page]> - else if == 50: - run phones_gui_home def.player: - else if == player_head: - inventory close - run phones_texts_print def.player: def.target: def.page:0 # Music - else if <[title]> == <&2>邒: - if == ender_pearl: - define page - flag phones_gui_page:<[page]> - run phones_gui_music def.player: def.page:<[page]> def.ringtone:false - else if == ender_eye: - define page - flag phones_gui_page:<[page]> - run phones_gui_music def.player: def.page:<[page]> def.ringtone:false - else if == 50: - run phones_gui_home def.player: - else if == 42: - inventory close - run phones_music_stop def.player: - else if == jukebox: - inventory close - run phones_music_play def.player: def.songfile: # Settings - else if <[title]> == <&3>邒: - if == 4: - flag phones_gui_page:0 - run phones_gui_music def.player: def.page:0 def.ringtone:true - if == 5: - flag phones_gui_page:0 - run phones_gui_settings_blocked def.player: def.page:0 - else if == 50: - run phones_gui_home def.player: # Ringtone Select - else if <[title]> == <&4>邒: - if == ender_pearl: - define page - flag phones_gui_page:<[page]> - run phones_gui_music def.player: def.page:<[page]> def.ringtone:true - else if == ender_eye: - define page - flag phones_gui_page:<[page]> - run phones_gui_music def.player: def.page:<[page]> def.ringtone:true - else if == 50: - run phones_gui_settings def.player: - else if == jukebox: - flag phones:]> - run phones_gui_settings def.player: - narrate format:formats_prefix "Changed your ringtone to <&e><&7>." # Blocked - else if <[title]> == <&5>邒: - if == ender_pearl: - define page - flag phones_gui_page:<[page]> - run phones_gui_settings_blocked def.player: def.page:<[page]> - else if == ender_eye: - define page - flag phones_gui_page:<[page]> - run phones_gui_settings_blocked def.player: def.page:<[page]> - else if == 50: - run phones_gui_settings def.player: