Removed problems from old Denizen code

This commit is contained in:
Rares Bozga
2025-12-10 22:36:00 +02:00
parent ee1528fe87
commit a77544467d
28 changed files with 92 additions and 81 deletions

View File

@@ -82,8 +82,7 @@ apartments_command_apartmentremoveaccess:
- aptrm
permission: apartments.command.apartmentremoveaccess
tab completions:
# TODO: use the procedural tab-complete to handle this correctly!
1: <server.online_players.parse[name]>
1: <proc[apartments_all_with_access].context[<player>].parse[name]>
script:
- if <context.source_type> != player:
- narrate "<&c>Please run this command as a player."

View File

@@ -109,3 +109,17 @@ apartments_end_edit:
- inventory set origin:<[item]> slot:<[slot]> player:<[player]>
- adjust <[player]> gamemode:survival
- flag <[player]> apartments_edit:!
apartments_all_with_access:
debug: false
type: procedure
definitions: player
script:
- define location <player.location>
- define apartment <proc[apartments_at].context[<[location]>]>
- if <[apartment]> == null:
- determine <list[]>
- define owner <proc[apartments_owner].context[<[apartment]>]>
- if <[owner]> != <[player]>:
- determine <list[]>
- determine <[owner].flag[apartments_access].get[<[apartment]>].if_null[<list[]>].keys>

View File

@@ -12,7 +12,7 @@ apartments_world:
## invalid access
on player right clicks block:
- if <player.is_op>:
- stop
- stop
- if <context.location.if_null[null]> == null:
- stop
- if !<proc[apartments_access].context[<player>|<context.location>]>:

View File

@@ -45,7 +45,7 @@ carry_command_carry:
- narrate format:formats_prefix "Sent a carry request to <&e><proc[character_get_name].context[<[target]>]>"
#
- narrate format:formats_prefix targets:<[target]> "<&e><proc[character_get_name].context[<player>]> <&7> would like to carry you."
- narrate targets:<[target]> "<element[<&a><&l>[ACCEPT]].on_click[<entry[carry].command>]>"
- narrate targets:<[target]> <element[<&a><&l>[ACCEPT]].on_click[<entry[carry].command>]>
carry_command_uncarry:
debug: false

View File

@@ -62,7 +62,7 @@ furniture_menu:
item: <[item]>
- define contents <[contents].with[<[loop_index]>].as[<[item_entry]>]>
- if <[page]> > 0:
- define contents_extra:
- definemap contents_extra:
49:
item: <item[ender_pearl[display=<&a><&lt><&lt>]]>
script: furniture_menu
@@ -71,7 +71,7 @@ furniture_menu:
page: <[page].sub[1]>
- define contents <[contents].include[<[contents_extra]>]>
- if <[page].add[1].mul[27]> < <[contents].size>:
- define contents_extra:
- definemap contents_extra:
51:
item: <item[ender_eye[display=<&a><&gt><&gt>]]>
script: furniture_menu

View File

@@ -43,7 +43,7 @@ furniture_world_custom_block:
- if !<player.has_permission[furniture.customblock.place]> && !<player.is_op>:
- stop
- if <context.item.material.advanced_matches[air]>:
- stop
- stop
- if !<proc[furniture_custom_block_any].context[<context.item.material>|<context.item.custom_model_data.if_null[0]>]>:
- stop
- ratelimit <player> 5t
@@ -80,7 +80,7 @@ furniture_world_custom_block:
- if <proc[custom_block_at].context[<context.location>]> == null:
- stop
- if !<player.has_permission[furniture.customblock.break]> && !<player.is_op>:
- determine cancelled passively
- determine cancelled passively
- stop
- run custom_block_destroy def.at:<context.location>
#
@@ -96,7 +96,7 @@ furniture_world_collision_block:
events:
on player right clicks block bukkit_priority:high:
- if <context.location.if_null[null]> == null:
- stop
- stop
- if !<player.has_permission[furniture.collisionblock.interact]> && !<player.is_op>:
- stop
- if <context.location.material.advanced_matches[air].if_null[false]>:

View File

@@ -30,7 +30,7 @@ guns_world_gun:
- playeffect effect:redstone at:<player.location.above[1].points_between[<[location]>].distance[0.1]> special_data:0.5|white visibility:16 quantity:6 offset:0,0,0
- stop
- playeffect effect:redstone at:<player.location.above[1].points_between[<[target].location.above[1]>].distance[0.1]> special_data:0.5|white visibility:16 quantity:6 offset:0,0,0
- if <[target].entity_type> != player:
- if <[target].type> != player:
- stop
- if <[target].has_flag[guns_frozen]>:
- stop
@@ -51,7 +51,7 @@ guns_world_taser:
- define target <player.precise_target[7]||null>
- if <[target]> == null:
- stop
- if <[target].entity_type> != player:
- if <[target].type> != player:
- stop
- if <[target].has_flag[guns_frozen]>:
- stop

View File

@@ -57,7 +57,7 @@ gui_restore_world:
- if <context.inventory.title.starts_with[<script[gui_restore_config].data_key[special_chars].parsed>]>:
- run gui_restore_save def.player:<player>
- if <context.inventory.inventory_type> == anvil:
- run gui_restore_save def.player:<player>
- run gui_restore_save def.player:<player>
on player closes inventory bukkit_priority:lowest:
- if <player.has_flag[gui_restore]>:
- run gui_restore_load def.player:<player>

View File

@@ -61,15 +61,15 @@ textbox_write:
- playsound sound:textbox.text <[player]> custom pitch:<util.random.decimal[0.98].to[1]>
- wait 1t
- if <[line].substring[<[value].add[1]>,<[value].add[1]>].trim.length.if_null[1]> == 0:
- if <[line].substring[<[value]>,<[value]>]> == ".":
- if <[line].substring[<[value]>,<[value]>]> == .:
- wait 2t
- if <[line].substring[<[value]>,<[value]>]> == "!":
- if <[line].substring[<[value]>,<[value]>]> == !:
- wait 2t
- if <[line].substring[<[value]>,<[value]>]> == "?":
- if <[line].substring[<[value]>,<[value]>]> == ?:
- wait 2t
- if <[line].substring[<[value]>,<[value]>]> == "-":
- if <[line].substring[<[value]>,<[value]>]> == -:
- wait 2t
- if <[line].substring[<[value]>,<[value]>]> == ",":
- if <[line].substring[<[value]>,<[value]>]> == ,:
- wait 2t
- wait <duration[1t]>
- if <[player].flag[textbox_state].if_null[null]> != writing:

View File

@@ -16,7 +16,7 @@ liteprofilesutils_command_profiles:
- stop
- define player <player>
- clickable save:accept usages:1 until:30s:
- flag <[player]> liteprofiles_legacy_menu:!
- flag <[player]> liteprofiles_legacy_menu:!
- run liteprofilesutils_show_menu def.player:<[player]>
- narrate <empty>
- narrate format:formats_prefix "Our profile system lets you own multiple 'unique accounts' by tricking the server to hand you new unique IDs, which may cause the server to incorrectly save your inventory, ranks, or other data."

View File

@@ -50,7 +50,7 @@ liteprofilesutils_show_menu:
- define slaveitem <item[emerald]>
- define slavename <proc[character_get_name].context[<player[<[slaveuuid]>]>]>
- if <[slavename]> == null:
- define slavename "Unnamed Character"
- define slavename "Unnamed Character"
- adjust def:slaveitem display:<&f><[slavename]>
- adjust def:slaveitem lore:<list[<&e>Alt Profile|<&f>|<&8>UUID:|<&8><[slaveuuid]>]>
- flag <[slaveitem]> liteprofiles:<map[].with[type].as[slave].with[value].as[<[slaveuuid]>]>

View File

@@ -12,7 +12,7 @@ compatibility_check_compare_versions:
- if <[v1splitpart]> < <[v2splitpart]>:
- determine -1
- if <[v2split].size> > <[v1split].size>:
- determine -1
- determine -1
- determine 0
compatibility_check_world:
@@ -26,13 +26,13 @@ compatibility_check_world:
- wait 5s
- if !<player.is_online>:
- stop
- narrate ""
- narrate <&f>
- narrate "<&c><&l>[<&4><&l>!<&c><&l>] <&c>You are using an outdated Minecraft version!"
- narrate "<&6>Your version: <&f><[player_version]>"
- narrate "<&6>Server version: <&f><[server_version]>"
- narrate ""
- narrate <&f>
- narrate "<&f>You can still play, however we strongly encourage you to consider <&e>updating your game<&f>."
- narrate "<&f>We will not offer bug support if you are using an outdated version!"
- narrate ""
- narrate <&f>
- narrate "<&7>(Your ViaVersion protocol: <player.viaversion_protocol>)"
- narrate ""
- narrate <&f>

View File

@@ -31,4 +31,4 @@ payto_command_payto:
- clickable usages:1 until:1m save:pay:
- execute as_player "pay <[target].name> <[amount]>"
- narrate format:formats_prefix "<&7>Would you like to pay <&6><[amount].as_money><&7> to <&6><proc[character_get_name].context[<[target]>]>"
- narrate "<element[<&a><&l>[CLICK HERE]].on_click[<entry[pay].command>]>"
- narrate <element[<&a><&l>[CLICK HERE]].on_click[<entry[pay].command>]>

View File

@@ -85,7 +85,7 @@ phones_commands_phonecall:
- if !<[target].has_flag[phones_is_maybe_called]>:
- nbs file:data/phones/songs/<[target].flag[phones].get[ringtone].if_null[Bad Apple]> play targets:<[target]>
- narrate targets:<[target]> "<&6>*** <&e>You're being called by <&e><[relative]><&7>."
- narrate targets:<[target]> "<&hover[<&a>Click to accept call from <[relative]>...]><element[<&a><&l>[ ACCEPT ]].on_click[<entry[accept].command>]><&end_hover>"
- narrate targets:<[target]> <&hover[<&a>Click to accept call from <[relative]>...]><element[<&a><&l>[ ACCEPT ]].on_click[<entry[accept].command>]><&end_hover>
# wait...
- flag <player> phones_call:<[target]>
- flag <player> phones_call_clickable:<entry[accept].id>

View File

@@ -93,18 +93,18 @@ phones_gui_home:
type: task
definitions: player
script:
- define inventory "<inventory[generic[size=54;title=<&f>邑邑邑邑鄀<&0>邒]]>"
- define inventory <inventory[generic[size=54;title=<&f>邑邑邑邑鄀<&0>邒]]>
# settings
- define settings <item[name_tag]>
- adjust def:settings "display:<&6>Settings"
- adjust def:settings display:<&6>Settings
- inventory set destination:<[inventory]> slot:13 origin:<[settings]>
# contacts
- define contacts <item[book]>
- adjust def:contacts "display:<&6>Contacts"
- adjust def:contacts display:<&6>Contacts
- inventory set destination:<[inventory]> slot:14 origin:<[contacts]>
# texts
- define texts <item[writable_book]>
- adjust def:texts "display:<&6>Messages"
- adjust def:texts display:<&6>Messages
- define notifications_textmessages <[player].flag[phones_notifications].get[textmessages].values.size.if_null[null]>
- if <[notifications_textmessages]> != null && <[notifications_textmessages]> != 0:
- if <[notifications_textmessages]> > 99:
@@ -161,11 +161,11 @@ phones_contacts_print:
- if <[page]> > 0:
- clickable usages:1 until:60s save:prev:
- execute as_player "phonecontacts <[page]>"
- define prevpage "<element[<&a><&lt>--].on_click[<entry[prev].command>]>"
- define prevpage <element[<&a><&lt>--].on_click[<entry[prev].command>]>
- if <[contacts].size> > <[page].add[1].mul[6]>:
- clickable usages:1 until:60s save:next:
- execute as_player "phonecontacts <[page].add[2]>"
- define nextpage "<element[<&a>--<&gt>].on_click[<entry[next].command>]>"
- define nextpage <element[<&a>--<&gt>].on_click[<entry[next].command>]>
- narrate targets:<[player]> "<&nl><[prevpage]> <&6>Page <[page].add[1]>/<[contacts].size.sub[1].div[6].round_down.add[1]> <[nextpage]>"
# ---
@@ -177,7 +177,7 @@ phones_texts_store:
type: task
definitions: player|target|contents
script:
- narrate targets:<[player]> format:formats_prefix "Sending..."
- narrate targets:<[player]> format:formats_prefix Sending...
#
- define playertexts phones_texts_<[player].uuid>_<[target].uuid>
- if <util.has_file[data/phones/texts/<[player].uuid>_<[target].uuid>.yml]>:
@@ -218,7 +218,7 @@ phones_texts_print:
type: task
definitions: player|target|page
script:
- narrate targets:<[player]> format:formats_prefix "Loading..."
- narrate targets:<[player]> format:formats_prefix Loading...
#
- define playertexts phones_texts_<[player].uuid>_<[target].uuid>
- ~yaml id:<[playertexts]> load:data/phones/texts/<[player].uuid>_<[target].uuid>.yml
@@ -243,11 +243,11 @@ phones_texts_print:
- if <[page]> > 0:
- clickable usages:1 until:60s save:prev:
- run phones_texts_print def.player:<[player]> def.target:<[target]> def.page:<[page].sub[1]>
- define prevpage "<element[<&a><&lt>--].on_click[<entry[prev].command>]>"
- define prevpage <element[<&a><&lt>--].on_click[<entry[prev].command>]>
- if <[messages_size]> > <[page].add[1].mul[5]>:
- clickable usages:1 until:60s save:next:
- run phones_texts_print def.player:<[player]> def.target:<[target]> def.page:<[page].add[1]>
- define nextpage "<element[<&a>--<&gt>].on_click[<entry[next].command>]>"
- define nextpage <element[<&a>--<&gt>].on_click[<entry[next].command>]>
- narrate targets:<[player]> "<&nl><[prevpage]> <&6>Page <[page].add[1]>/<[messages_size].sub[1].div[5].round_down.add[1]> <[nextpage]>"
# clear notifications?
- if <[player].flag[phones_notifications].get[textmessages].get[<[target]>].if_null[0]> > 0:
@@ -262,20 +262,20 @@ phones_gui_texts:
type: task
definitions: player|page
script:
- define inventory "<inventory[generic[size=54;title=<&f>邑邑邑邑鄀<&1>邒]]>"
- define inventory <inventory[generic[size=54;title=<&f>邑邑邑邑鄀<&1>邒]]>
- define textslist <util.list_files[data/phones/texts].filter[starts_with[<player.uuid>]].parse[split[_].get[2].split[.].get[1]].parse_tag[<player[<[parse_value]>]>].get[<[page].mul[16].add[1]>].to[<[page].add[1].mul[16]>].if_null[<list[]>]>
# show contacts/numbers
- foreach <[textslist]> as:target:
- define receiver <proc[phones_relative_name].context[<[player]>|<[target]>]>
- define textsender <item[player_head]>
- adjust def:textsender display:<&e><[receiver]>
- adjust def:textsender "lore:<list[<&7>Click to view your conversation.]>"
- adjust def:textsender lore:<list[<&7>Click to view your conversation.]>
# notifications
- define notifications_text <[player].flag[phones_notifications].get[textmessages].get[<[target]>].if_null[null]>
- if <[notifications_text]> != null:
- if <[notifications_text]> > 99:
- define notifications_text 99+
- adjust def:textsender "lore:<[textsender].lore.include[|<&7>You have <&6><[notifications_text]> <&7>unread messages.]>"
- adjust def:textsender lore:<[textsender].lore.include[|<&7>You have <&6><[notifications_text]> <&7>unread messages.]>
#
- flag <[textsender]> phones:<[target]>
- flag <[textsender]> phones_target_skull_uuid:<[target].uuid>
@@ -309,7 +309,7 @@ phones_target_skulls_update:
- if <[inventory].viewers.if_null[<list[]>].is_empty>:
- stop
- define uuid <[item].flag[phones_target_skull_uuid]>
- inventory adjust slot:<[slot]> skull_skin:<[uuid]>|<player[<[uuid]>].skin_blob.if_null[0000]>|<player[<[uuid]>].name> destination:<[inventory]>
- inventory adjust slot:<[slot]> skull_skin:<[uuid]>|<player[<[uuid]>].skin_blob.if_null[0000]>|<player[<[uuid]>].name> destination:<[inventory]>
####
## NOTIFICATIONS
@@ -363,9 +363,9 @@ phones_gui_music:
# ringtone selection mode?
- define ringtone <[ringtone].if_null[false]>
# make inventory
- define inventory "<inventory[generic[size=54;title=<&f>邑邑邑邑鄀<&2>邒]]>"
- define inventory <inventory[generic[size=54;title=<&f>邑邑邑邑鄀<&2>邒]]>
- if <[ringtone]>:
- define inventory "<inventory[generic[size=54;title=<&f>邑邑邑邑鄀<&4>邒]]>"
- define inventory <inventory[generic[size=54;title=<&f>邑邑邑邑鄀<&4>邒]]>
- define songsize <util.list_files[data/phones/songs].size>
- define songsonpage <tern[<[ringtone]>].pass[15].fail[14]>
- define songlist <util.list_files[data/phones/songs].parse[split[.].get[1]].filter[length.is_more_than[0]].get[<[page].mul[<[songsonpage]>].add[1]>].to[<[page].add[1].mul[<[songsonpage]>]>].if_null[<list[]>]>
@@ -373,7 +373,7 @@ phones_gui_music:
- foreach <[songlist]> as:songname:
- define song <item[jukebox]>
- adjust def:song display:<&e><[songname]>
- adjust def:song "lore:<list[<&7>Click to start playing.]>"
- adjust def:song lore:<list[<&7>Click to start playing.]>
- flag <[song]> phones:<[songname]>
- inventory set destination:<[inventory]> slot:<[loop_index].sub[1].div[3].round_down.mul[9].add[4].add[<[loop_index].sub[1].mod[3]>]> origin:<[song]>
# stop
@@ -405,7 +405,7 @@ phones_gui_settings:
type: task
definitions: player
script:
- define inventory "<inventory[generic[size=54;title=<&f>邑邑邑邑鄀<&3>邒]]>"
- define inventory <inventory[generic[size=54;title=<&f>邑邑邑邑鄀<&3>邒]]>
# ringtone
- define ringtone <item[note_block]>
- adjust def:ringtone display:<&6>Ringtone
@@ -427,7 +427,7 @@ phones_gui_settings_blocked:
type: task
definitions: player|page
script:
- define inventory "<inventory[generic[size=54;title=<&f>邑邑邑邑鄀<&5>邒]]>"
- define inventory <inventory[generic[size=54;title=<&f>邑邑邑邑鄀<&5>邒]]>
- define blockedlist <[player].flag[phones].get[blocked].get[<[page].mul[16].add[1]>].to[<[page].add[1].mul[16]>].if_null[<list[]>]>
# show blocked numbers
- foreach <[blockedlist]> as:target:

View File

@@ -115,11 +115,11 @@ phones_world_gui:
- run phones_gui_music def.player:<player> def.page:0 def.ringtone:false
- else if <[title]> == <&1>邒:
- if <context.item.material.name> == ender_pearl:
- define page <player.flag[phones_gui_page].sub_int[1]>
- define page <player.flag[phones_gui_page].sub[1]>
- flag <player> phones_gui_page:<[page]>
- run phones_gui_texts def.player:<player> def.page:<[page]>
- else if <context.item.material.name> == ender_eye:
- define page <player.flag[phones_gui_page].add_int[1]>
- define page <player.flag[phones_gui_page].add[1]>
- flag <player> phones_gui_page:<[page]>
- run phones_gui_texts def.player:<player> def.page:<[page]>
- else if <context.slot> == 50:
@@ -130,11 +130,11 @@ phones_world_gui:
# Music
- else if <[title]> == <&2>邒:
- if <context.item.material.name> == ender_pearl:
- define page <player.flag[phones_gui_page].sub_int[1]>
- define page <player.flag[phones_gui_page].sub[1]>
- flag <player> phones_gui_page:<[page]>
- run phones_gui_music def.player:<player> def.page:<[page]> def.ringtone:false
- else if <context.item.material.name> == ender_eye:
- define page <player.flag[phones_gui_page].add_int[1]>
- define page <player.flag[phones_gui_page].add[1]>
- flag <player> phones_gui_page:<[page]>
- run phones_gui_music def.player:<player> def.page:<[page]> def.ringtone:false
- else if <context.slot> == 50:
@@ -158,11 +158,11 @@ phones_world_gui:
# Ringtone Select
- else if <[title]> == <&4>邒:
- if <context.item.material.name> == ender_pearl:
- define page <player.flag[phones_gui_page].sub_int[1]>
- define page <player.flag[phones_gui_page].sub[1]>
- flag <player> phones_gui_page:<[page]>
- run phones_gui_music def.player:<player> def.page:<[page]> def.ringtone:true
- else if <context.item.material.name> == ender_eye:
- define page <player.flag[phones_gui_page].add_int[1]>
- define page <player.flag[phones_gui_page].add[1]>
- flag <player> phones_gui_page:<[page]>
- run phones_gui_music def.player:<player> def.page:<[page]> def.ringtone:true
- else if <context.slot> == 50:
@@ -174,11 +174,11 @@ phones_world_gui:
# Blocked
- else if <[title]> == <&5>邒:
- if <context.item.material.name> == ender_pearl:
- define page <player.flag[phones_gui_page].sub_int[1]>
- define page <player.flag[phones_gui_page].sub[1]>
- flag <player> phones_gui_page:<[page]>
- run phones_gui_settings_blocked def.player:<player> def.page:<[page]>
- else if <context.item.material.name> == ender_eye:
- define page <player.flag[phones_gui_page].add_int[1]>
- define page <player.flag[phones_gui_page].add[1]>
- flag <player> phones_gui_page:<[page]>
- run phones_gui_settings_blocked def.player:<player> def.page:<[page]>
- else if <context.slot> == 50:

View File

@@ -1,5 +1,5 @@
requestsearch_command_requestsearch:
debug: false
debug: false
type: command
name: requestsearch
description: Command to search someone's inventory.
@@ -9,7 +9,7 @@ requestsearch_command_requestsearch:
- patdown
permission: invreq.patdown
tab completions:
1: <empyy>
1: <empty>
script:
- if <context.source_type> != player:
- narrate "<&c>Please run this command as a player."

View File

@@ -8,7 +8,7 @@ sports_volleyball_world:
- define ball <context.entity>
- if !<[ball].has_flag[ball]>:
- stop
- if <[ball].entity_type> == armor_stand:
- if <[ball].type> == armor_stand:
- define ball <proc[ball_get].context[<[ball].flag[ball]>]>
- if !<[ball].flag[ball].starts_with[sports_volleyball]>:
- stop

View File

@@ -17,7 +17,6 @@ ch1_1_marie_assign:
interact scripts:
- ch1_1_marie_interact
# TODO: this seems like the wrong place
ch1_1_define_phone:
debug: false
type: task

View File

@@ -27,7 +27,7 @@ dialogue_npc_kobayashi:
- ~run textbox_choice def.player:<player> def.queue:<queue> def.choices:<[choices]> save:result
- define choice <entry[result].created_queue.determination.get[1]>
- if <[choice]> == left:
- ~run textbox_write def.player:<player> def.queue:<queue> "def.line3s:What?$$nlWhy?"
- ~run textbox_write def.player:<player> def.queue:<queue> def.line3s:What?$$nlWhy?
- ~run textbox_write def.player:<player> def.queue:<queue> "def.line3s:Well, look, I can't tell you that, luv.$$nl It's against Hospital Policy."
- definemap choices:
left:

View File

@@ -15,7 +15,7 @@ dialogue_npc_patchouli:
click trigger:
script:
- if <player.flag[textbox_state].if_null[null]> != null:
- stop
- stop
- engage player
- ~run textbox_write def.player:<player> def.queue:<queue> "def.line3s:. . ."
- ~run textbox_write def.player:<player> def.queue:<queue> "def.line3s:. . ."

View File

@@ -17,7 +17,7 @@ intro_interact_posters_task:
script:
- ~run textbox_write def.player:<player> def.queue:<queue> "def.line3s:Book-related posters are on the wall."
- ~run textbox_write def.player:<player> def.queue:<queue> "def.line3s:<&o><&dq>Screw that. I'm running away.<&dq>"
- ~run textbox_write def.player:<player> def.queue:<queue> "def.line3s:<&o><&dq>Where?<&dq>"
- ~run textbox_write def.player:<player> def.queue:<queue> def.line3s:<&o><&dq>Where?<&dq>
- ~run textbox_write def.player:<player> def.queue:<queue> "def.line3s:<&o><&dq>Dunno. Do you want to come?<&dq>"
- ~run textbox_write def.player:<player> def.queue:<queue> "def.line3s:<&o><&dq>Yes,<&dq> I said without thinking."
@@ -74,12 +74,12 @@ intro_interact_laptop_task_name_callback:
- define __player <[player]>
- define name <[input].substring[1,24]>
- execute as_player player:<[player]> "rpname <[name]>"
- ~run textbox_write def.player:<player> def.queue:<queue> "def.line3s:<[name]>"
- ~run textbox_write def.player:<player> def.queue:<queue> def.line3s:<[name]>
- ~run textbox_write def.player:<player> def.queue:<queue> "def.line3s:How nice!"
- ~run textbox_write def.player:<player> def.queue:<queue> "def.line3s:Let's give them a description.$$nlDescribe their physical attributes."
- waituntil <player.has_flag[textbox_state].not> max:5s
- ~run textbox_flush def.player:<player>
- run anvil_input def.player:<player> "def.prompt:Description" def.callback:intro_interact_laptop_task_description_callback
- run anvil_input def.player:<player> def.prompt:Description def.callback:intro_interact_laptop_task_description_callback
intro_interact_laptop_task_description_callback:
debug: false
@@ -116,7 +116,7 @@ intro_interact_laptop_task_role_menu:
definitions:
player: <[player]>
input: yes
- run menu_open def.player:<[player]> "def.title:<&f>邑邑邑邑酐<&a><&sp><&b><&sp><&c><&sp>" def.size:9 def.contents:<[contents]>
- run menu_open def.player:<[player]> def.title:<&f>邑邑邑邑酐<&a><&sp><&b><&sp><&c><&sp> def.size:9 def.contents:<[contents]>
intro_interact_laptop_task_role_callback:
debug: false
@@ -196,5 +196,4 @@ intro_interact_laptop_task_role_callback:
- adjust <player> remove_effects
- adjust <player> show_to_players
- flag <player> intro:done
- execute as_player player:<player> "spawn"
- execute as_player player:<player> spawn

View File

@@ -217,7 +217,7 @@ storyboard_npc_internal_auto_memory_management:
after player joins:
- define npcs <player.flag[storyboard_state].get[npcs].if_null[<map[]>]>
- foreach <[npcs]> key:name as:data:
- if <[data].get[allocated]> == reallocate:
- if <[data].get[allocated].if_null[null]> == reallocate:
- define name <[data].get[name]>
- define type <[data].get[type]>
- define at <[data].get[at]>

View File

@@ -102,12 +102,12 @@ templatetools_command_ttsetcursor:
- stop
- define material <player.cursor_on.material.if_null[null]>
- if <[material]> == null:
- narrate "<&c>Invalid material. Please look at a material to set first!"
- stop
- narrate "<&c>Invalid material. Please look at a material to set first!"
- stop
- define we_selection <player.we_selection.if_null[null]>
- if <[we_selection]> == null:
- narrate "<&c>You must first make a WorldEdit selection."
- stop
- narrate "<&c>You must first make a WorldEdit selection."
- stop
- ~modifyblock <[we_selection]> <[material]> no_physics
- narrate format:templatetools_formats_main "Set cursor blocks (<[we_selection].volume.if_null[?]>)."
@@ -125,6 +125,6 @@ templatetools_command_that:
- if <[material]> == null:
- narrate "<&c>Nothing to copy."
- define item <item[<[material].name>].if_null[null]>:
- narrate "<&c>Nothing to copy."
- narrate "<&c>Nothing to copy."
- inventory set slot:hand origin:<[item]>
- narrate format:templatetools_formats_main "Copied <[material].name>."
- narrate format:templatetools_formats_main "Copied <[material].name>."

View File

@@ -55,7 +55,7 @@ templatetools_schematic_set_index:
script:
- define schematics <proc[templatetools_available_schematics].context[<[player]>]>
- if <schematic.list.contains[<[player].flag[templatetools_schematic]>]>:
- ~schematic unload name:<[player].flag[templatetools_schematic]>
- ~schematic unload name:<[player].flag[templatetools_schematic]>
- schematic load name:templatetools_<[player].uuid> filename:<[player].flag[templatetools_pack]>/<[schematics].get[<[player].flag[templatetools_pack_index]>]>
- actionbar "<&e>Schematic <[player].flag[templatetools_pack_index]>: <&f><[schematics].get[<[player].flag[templatetools_pack_index]>]>" targets:<[player]>

View File

@@ -23,7 +23,7 @@ timebar_format:
- define location <script[timebar_worlds].data_key[<player.location.world.name>]>
- define regions <player.location.regions.filter_tag[<[filter_value].id.starts_with[zone_]>]>
- if <[regions].size> > 0:
- define location <[regions].get[1].id.replace[zone_].with[].split[_].parse[to_sentence_case].space_separated>
- define location <[regions].get[1].id.replace[zone_].with[].split[_].parse[to_sentence_case].space_separated>
- define result "<[result]> <&c>📌 <&f><[location]>"
# result
- determine <[result]>

View File

@@ -90,18 +90,18 @@ vehicle_world_parallel_loop:
- define forward <[vehicles_player_input].get[forward].if_null[0]>
- define sideways <[vehicles_player_input].get[sideways].if_null[0]>
- if <[forward]> != 0:
- define speed <[vehicle].flag[vehicles_speed].if_null[0]>
- define speed <[vehicle].flag[vehicles_speed].if_null[0]>
- define speed <[speed].add[<[vehicle].flag[vehicles_data].get[acceleration].mul[<[forward]>]>]>
- define max <[vehicle].flag[vehicles_data].get[max_speed]>
- if <[speed]> < <[max].mul[-1].div[3]>:
- define speed <[max].mul[-1].div[3]>
- define speed <[max].mul[-1].div[3]>
- if <[speed]> > <[max]>:
- define speed <[max]>
- define speed <[max]>
- flag <[vehicle]> vehicles_speed:<[speed]>
- if <[sideways]> != 0:
- define speed <[vehicle].flag[vehicles_speed].if_null[0]>
- define speed <[vehicle].flag[vehicles_speed].if_null[0]>
- if <[speed].abs> > 0.1:
- define max_speed <[vehicle].flag[vehicles_data].get[max_speed]>
- define max_speed <[vehicle].flag[vehicles_data].get[max_speed]>
- define speed_turn_coefficient <[speed].div[<[max_speed]>].mul[0.25].add[0.85]>
- define turn_speed <[vehicle].flag[vehicles_data].get[turn_speed_percentage].mul[360].mul[<[speed_turn_coefficient]>]>
- define turn_speed <[turn_speed].mul[<[sideways]>].mul[-1].mul[<tern[<[speed].is_less_than[0]>].pass[-1].fail[1]>]>

View File

@@ -106,7 +106,7 @@ wardrobe_menu:
- define position <[position].add[1]>
- define i <[i].add[1]>
- if <[i].mod[3]> == 0:
- define position <[position].add[6]>
- define position <[position].add[6]>
- repeat <element[<[max]>].sub[<[i]>]>:
- define unusedskin <item[wither_skeleton_skull]>
- adjust def:unusedskin "display:<&7>Unused Skin Slot"
@@ -115,7 +115,7 @@ wardrobe_menu:
- define position <[position].add[1]>
- define i <[i].add[1]>
- if <[i].mod[3]> == 0:
- define position <[position].add[6]>
- define position <[position].add[6]>
#
- define clearitem <item[warped_trapdoor]>
- adjust def:clearitem "display:<&f>Clear Skin"