From 83b8887cb625b3845e4486bd04212e8997bbe327 Mon Sep 17 00:00:00 2001 From: Kesuaheli Date: Sun, 22 Jun 2025 06:28:50 +0200 Subject: [PATCH 1/7] feat(smartphone)!: complete rewrite --- .spyglassrc.json | 2 +- data/bored-face.pose/dialog/pose.json | 42 +++ data/bored-face.pose/function/cape.mcfunction | 7 - .../engine/registry/entry/load.mcfunction | 18 ++ .../registry/entry/load_macro.mcfunction | 2 + .../function/engine/registry/load.mcfunction | 7 + .../engine/registry/load_macro.mcfunction | 26 ++ .../engine/registry/remove.mcfunction | 7 + .../engine/registry/remove_macro.mcfunction | 16 ++ .../function/engine/registry/tick.mcfunction | 7 + .../engine/registry/tick_macro.mcfunction | 10 + .../engine/reload_smartphone.mcfunction | 13 + .../function/engine/run.mcfunction | 1 + .../function/engine/show_entries.mcfunction | 1 + .../function/engine/show_prompt.mcfunction | 1 + data/bored-face.pose/function/load.mcfunction | 14 +- .../function/load/capes.mcfunction | 266 ------------------ .../function/load/players.mcfunction | 58 ---- .../function/load/skins.mcfunction | 34 --- .../function/misc/update_cape.mcfunction | 2 - .../misc/update_cape/macro.mcfunction | 3 - .../function/player.mcfunction | 3 - .../function/players/cardboard.mcfunction | 152 ---------- .../function/players/handstand.mcfunction | 120 -------- .../function/players/happy.mcfunction | 113 -------- .../function/players/high_five.mcfunction | 241 ---------------- .../function/players/normal.mcfunction | 120 -------- .../function/players/run.mcfunction | 120 -------- .../function/players/sneak.mcfunction | 121 -------- .../function/reload_smartphone.mcfunction | 74 ----- .../reload_smartphone/add_page.mcfunction | 76 ----- .../reload_smartphone/get_id.mcfunction | 1 - .../reload_smartphone/iterate.mcfunction | 28 -- .../reload_smartphone/loop.mcfunction | 24 -- .../reload_smartphone/set_footer.mcfunction | 29 -- data/bored-face.pose/function/skin.mcfunction | 4 - data/bored-face.pose/function/tick.mcfunction | 5 + .../function/tool/migrate_from_1.x.mcfunction | 7 + data/bored-face.pose/mcdoc/data.mcdoc | 42 ++- data/bored-face.pose/mcdoc/smartphone.mcdoc | 108 ++----- data/bored-face.pose/tags/function/load.json | 3 + data/minecraft/tags/dialog/quick_actions.json | 5 + pack.mcmeta | 2 +- 43 files changed, 239 insertions(+), 1696 deletions(-) create mode 100644 data/bored-face.pose/dialog/pose.json delete mode 100644 data/bored-face.pose/function/cape.mcfunction create mode 100644 data/bored-face.pose/function/engine/registry/entry/load.mcfunction create mode 100644 data/bored-face.pose/function/engine/registry/entry/load_macro.mcfunction create mode 100644 data/bored-face.pose/function/engine/registry/load.mcfunction create mode 100644 data/bored-face.pose/function/engine/registry/load_macro.mcfunction create mode 100644 data/bored-face.pose/function/engine/registry/remove.mcfunction create mode 100644 data/bored-face.pose/function/engine/registry/remove_macro.mcfunction create mode 100644 data/bored-face.pose/function/engine/registry/tick.mcfunction create mode 100644 data/bored-face.pose/function/engine/registry/tick_macro.mcfunction create mode 100644 data/bored-face.pose/function/engine/reload_smartphone.mcfunction create mode 100644 data/bored-face.pose/function/engine/run.mcfunction create mode 100644 data/bored-face.pose/function/engine/show_entries.mcfunction create mode 100644 data/bored-face.pose/function/engine/show_prompt.mcfunction delete mode 100644 data/bored-face.pose/function/load/capes.mcfunction delete mode 100644 data/bored-face.pose/function/load/players.mcfunction delete mode 100644 data/bored-face.pose/function/load/skins.mcfunction delete mode 100644 data/bored-face.pose/function/misc/update_cape.mcfunction delete mode 100644 data/bored-face.pose/function/misc/update_cape/macro.mcfunction delete mode 100644 data/bored-face.pose/function/player.mcfunction delete mode 100644 data/bored-face.pose/function/players/cardboard.mcfunction delete mode 100644 data/bored-face.pose/function/players/handstand.mcfunction delete mode 100644 data/bored-face.pose/function/players/happy.mcfunction delete mode 100644 data/bored-face.pose/function/players/high_five.mcfunction delete mode 100644 data/bored-face.pose/function/players/normal.mcfunction delete mode 100644 data/bored-face.pose/function/players/run.mcfunction delete mode 100644 data/bored-face.pose/function/players/sneak.mcfunction delete mode 100644 data/bored-face.pose/function/reload_smartphone.mcfunction delete mode 100644 data/bored-face.pose/function/reload_smartphone/add_page.mcfunction delete mode 100644 data/bored-face.pose/function/reload_smartphone/get_id.mcfunction delete mode 100644 data/bored-face.pose/function/reload_smartphone/iterate.mcfunction delete mode 100644 data/bored-face.pose/function/reload_smartphone/loop.mcfunction delete mode 100644 data/bored-face.pose/function/reload_smartphone/set_footer.mcfunction delete mode 100644 data/bored-face.pose/function/skin.mcfunction create mode 100644 data/bored-face.pose/function/tool/migrate_from_1.x.mcfunction create mode 100644 data/bored-face.pose/tags/function/load.json create mode 100644 data/minecraft/tags/dialog/quick_actions.json diff --git a/.spyglassrc.json b/.spyglassrc.json index 2db32a5..04281a8 100644 --- a/.spyglassrc.json +++ b/.spyglassrc.json @@ -1,6 +1,6 @@ { "env": { - "gameVersion": "1.21.5" + "gameVersion": "1.21.6" }, "lint": { "idOmitDefaultNamespace": false, diff --git a/data/bored-face.pose/dialog/pose.json b/data/bored-face.pose/dialog/pose.json new file mode 100644 index 0000000..39ff590 --- /dev/null +++ b/data/bored-face.pose/dialog/pose.json @@ -0,0 +1,42 @@ +{ + "title": "P.O.S.E.", + "type": "minecraft:multi_action", + "body": { + "type": "minecraft:plain_message", + "contents": { + "text": "Hello world!" + } + }, + "actions": [ + { + "label": "Smartphone", + "action": { + "type": "run_command", + "command": "trigger bored-face.pose.smartphone" + }, + "tooltip": { + "text": "Give yourself a smartphone" + } + }, + { + "label": "GitHub", + "action": { + "type": "open_url", + "url": "https://github.com/Bored-Face" + }, + "tooltip": { + "text": "Open our GitHub page in your browser" + } + }, + { + "label": "Modrinth", + "action": { + "type": "open_url", + "url": "https://modrinth.com/organization/boredface" + }, + "tooltip": { + "text": "Open our Modrinth page in your browser" + } + } + ] +} diff --git a/data/bored-face.pose/function/cape.mcfunction b/data/bored-face.pose/function/cape.mcfunction deleted file mode 100644 index ff1df6b..0000000 --- a/data/bored-face.pose/function/cape.mcfunction +++ /dev/null @@ -1,7 +0,0 @@ -# called when clicked in the smartphone - -# Update all loaded capes from versions prior to 2.0 -execute as @n[type=minecraft:item_display, distance=..3, nbt={item:{components: {"minecraft:item_model": "bored-face.pose:cape"}}}] run function bored-face.pose:misc/update_cape - -$execute as @n[type=minecraft:item_display, distance=..3, nbt={item:{components: {"minecraft:custom_data": {"cape": {}}}}}] run \ - data modify entity @s item.components.minecraft:item_model set value "bored-face.pose:cape/$(id)" diff --git a/data/bored-face.pose/function/engine/registry/entry/load.mcfunction b/data/bored-face.pose/function/engine/registry/entry/load.mcfunction new file mode 100644 index 0000000..f29a4f3 --- /dev/null +++ b/data/bored-face.pose/function/engine/registry/entry/load.mcfunction @@ -0,0 +1,18 @@ +# Copy the index back to the data storage to not have to write it later when using it. +execute store result storage bored-face.pose:data loaded_registries[0].entries[0].index int 1 run scoreboard players get $loop_inner bored-face.pose.loop + +# Build the button in tmp.button +data modify storage bored-face.pose:smartphone tmp.button.label set from storage bored-face.pose:data loaded_registries[0].entries[0].name +data modify storage bored-face.pose:smartphone tmp.button.action.type set value "run_command" +# Build the button with macros +data modify storage bored-face.pose:smartphone tmp.id set from storage bored-face.pose:data loaded_registries[0].id +data modify storage bored-face.pose:smartphone tmp.index set from storage bored-face.pose:data loaded_registries[0].entries[0].index +function bored-face.pose:engine/registry/entry/load_macro with storage bored-face.pose:smartphone tmp + +data modify storage bored-face.pose:smartphone registries[0].actions append from storage bored-face.pose:smartphone tmp.button + +# continue loop +data modify storage bored-face.pose:data loaded_registries[0].entries append from storage bored-face.pose:data loaded_registries[0].entries[0] +data remove storage bored-face.pose:data loaded_registries[0].entries[0] +scoreboard players add $loop_inner bored-face.pose.loop 1 +execute if score $loop_inner bored-face.pose.loop <= $loop_inner_max bored-face.pose.loop run return run function bored-face.pose:engine/registry/entry/load diff --git a/data/bored-face.pose/function/engine/registry/entry/load_macro.mcfunction b/data/bored-face.pose/function/engine/registry/entry/load_macro.mcfunction new file mode 100644 index 0000000..be01e72 --- /dev/null +++ b/data/bored-face.pose/function/engine/registry/entry/load_macro.mcfunction @@ -0,0 +1,2 @@ +# Build the button in tmp.button +$data modify storage bored-face.pose:smartphone tmp.button.action.command set value "trigger bored-face.pose.$(id)_prompt set $(index)" diff --git a/data/bored-face.pose/function/engine/registry/load.mcfunction b/data/bored-face.pose/function/engine/registry/load.mcfunction new file mode 100644 index 0000000..7047e87 --- /dev/null +++ b/data/bored-face.pose/function/engine/registry/load.mcfunction @@ -0,0 +1,7 @@ +function bored-face.pose:engine/registry/load_macro with storage bored-face.pose:data registries[0] + +# continue loop +data modify storage bored-face.pose:data registries append from storage bored-face.pose:data registries[0] +data remove storage bored-face.pose:data registries[0] +scoreboard players add $loop bored-face.pose.loop 1 +execute if score $loop bored-face.pose.loop <= $loop_max bored-face.pose.loop run return run function bored-face.pose:engine/registry/load diff --git a/data/bored-face.pose/function/engine/registry/load_macro.mcfunction b/data/bored-face.pose/function/engine/registry/load_macro.mcfunction new file mode 100644 index 0000000..fe07638 --- /dev/null +++ b/data/bored-face.pose/function/engine/registry/load_macro.mcfunction @@ -0,0 +1,26 @@ +# do nothing if already loaded +$execute if data storage bored-face.pose:data {loaded_registries: [{id: "$(id)"}]} run return 1 + +data modify storage bored-face.pose:data loaded_registries prepend from storage bored-face.pose:data registries[0] + +$scoreboard objectives add bored-face.pose.$(id)_prompt trigger {text: "P.O.S.E. Registry: ", extra: [$(name), {text: " (prompt)"}], color: "gray", italic: true} +$scoreboard objectives add bored-face.pose.$(id) trigger {text: "P.O.S.E. Registry: ", extra: [$(name)]} + +data modify storage bored-face.pose:smartphone registries prepend from storage bored-face.pose:data registries[0] + +$function #bored-face.pose:$(id)/add_entries + +# load entries in registry +execute store result score $loop_inner_max bored-face.pose.loop run data get storage bored-face.pose:data loaded_registries[0].entries +scoreboard players remove $loop_inner_max bored-face.pose.loop 1 +scoreboard players set $loop_inner bored-face.pose.loop 0 +execute if score $loop_inner_max bored-face.pose.loop matches 0.. run function bored-face.pose:engine/registry/entry/load + + +$tellraw @a { \ + translate: "chat.type.announcement", \ + with: [ \ + {text: "P.O.S.E.", color: "white", shadow_color: -13223871}, \ + {translate: "Registry %s loaded!", with: [$(name)], color: "green"}, \ + ], \ +} diff --git a/data/bored-face.pose/function/engine/registry/remove.mcfunction b/data/bored-face.pose/function/engine/registry/remove.mcfunction new file mode 100644 index 0000000..81579dc --- /dev/null +++ b/data/bored-face.pose/function/engine/registry/remove.mcfunction @@ -0,0 +1,7 @@ +function bored-face.pose:engine/registry/remove_macro with storage bored-face.pose:data loaded_registries[0] + +# continue loop +data modify storage bored-face.pose:data loaded_registries append from storage bored-face.pose:data loaded_registries[0] +data remove storage bored-face.pose:data loaded_registries[0] +scoreboard players add $loop bored-face.pose.loop 1 +execute if score $loop bored-face.pose.loop <= $loop_max bored-face.pose.loop run return run function bored-face.pose:engine/registry/remove diff --git a/data/bored-face.pose/function/engine/registry/remove_macro.mcfunction b/data/bored-face.pose/function/engine/registry/remove_macro.mcfunction new file mode 100644 index 0000000..a58ff60 --- /dev/null +++ b/data/bored-face.pose/function/engine/registry/remove_macro.mcfunction @@ -0,0 +1,16 @@ +# do nothing if registered +$execute if data storage bored-face.pose:data {registries: [{id: $(id)}]} run return 1 + +$scoreboard objectives remove bored-face.pose.$(id)_prompt +$scoreboard objectives remove bored-face.pose.$(id) + +$data remove storage bored-face.pose:data loaded_registries[{id: "$(id)"}] +$data remove storage bored-face.pose:smartphone registries[{id:"$(id)"}] + +$tellraw @a { \ + translate: "chat.type.announcement", \ + with: [ \ + {text: "P.O.S.E.", color: "white", shadow_color: -13223871}, \ + {translate: "Registry '%s' removed!", with: [$(name)], color: "red"}, \ + ], \ +} diff --git a/data/bored-face.pose/function/engine/registry/tick.mcfunction b/data/bored-face.pose/function/engine/registry/tick.mcfunction new file mode 100644 index 0000000..c81d461 --- /dev/null +++ b/data/bored-face.pose/function/engine/registry/tick.mcfunction @@ -0,0 +1,7 @@ +function bored-face.pose:engine/registry/tick_macro with storage bored-face.pose:data registries[0] + +# continue loop +data modify storage bored-face.pose:data registries append from storage bored-face.pose:data registries[0] +data remove storage bored-face.pose:data registries[0] +scoreboard players add $loop bored-face.pose.loop 1 +execute if score $loop bored-face.pose.loop <= $loop_max bored-face.pose.loop run return run function bored-face.pose:engine/registry/tick diff --git a/data/bored-face.pose/function/engine/registry/tick_macro.mcfunction b/data/bored-face.pose/function/engine/registry/tick_macro.mcfunction new file mode 100644 index 0000000..b1a6db0 --- /dev/null +++ b/data/bored-face.pose/function/engine/registry/tick_macro.mcfunction @@ -0,0 +1,10 @@ +$execute as @a if score @s bored-face.pose.$(id)_prompt matches 0.. store result storage bored-face.pose:data loaded_registries[{id:"$(id)"}].index int 1 run scoreboard players get @s bored-face.pose.$(id)_prompt +$execute as @a if score @s bored-face.pose.$(id)_prompt matches 0.. at @s run function bored-face.pose:engine/show_prompt with storage bored-face.pose:data loaded_registries[{id:"$(id)"}] +$execute as @a if score @s bored-face.pose.$(id) matches 0.. store result storage bored-face.pose:data loaded_registries[{id:"$(id)"}].index int 1 run scoreboard players get @s bored-face.pose.$(id) +$execute as @a if score @s bored-face.pose.$(id) matches 0.. at @s run function bored-face.pose:engine/run with storage bored-face.pose:data loaded_registries[{id:"$(id)"}] + +$scoreboard players enable @a bored-face.pose.$(id)_prompt +$scoreboard players enable @a bored-face.pose.$(id) +# set to -1 because we need to differentiate between 0 and no input (no input therefore being -1) +$scoreboard players set @a bored-face.pose.$(id)_prompt -1 +$scoreboard players set @a bored-face.pose.$(id) -1 diff --git a/data/bored-face.pose/function/engine/reload_smartphone.mcfunction b/data/bored-face.pose/function/engine/reload_smartphone.mcfunction new file mode 100644 index 0000000..a116901 --- /dev/null +++ b/data/bored-face.pose/function/engine/reload_smartphone.mcfunction @@ -0,0 +1,13 @@ +data remove storage bored-face.pose:data registries + +function #bored-face.pose:load + +execute store result score $loop_max bored-face.pose.loop run data get storage bored-face.pose:data loaded_registries +scoreboard players remove $loop_max bored-face.pose.loop 1 +scoreboard players set $loop bored-face.pose.loop 0 +execute if score $loop_max bored-face.pose.loop matches 0.. run function bored-face.pose:engine/registry/remove + +execute store result score $loop_max bored-face.pose.loop run data get storage bored-face.pose:data registries +scoreboard players remove $loop_max bored-face.pose.loop 1 +scoreboard players set $loop bored-face.pose.loop 0 +execute if score $loop_max bored-face.pose.loop matches 0.. run function bored-face.pose:engine/registry/load diff --git a/data/bored-face.pose/function/engine/run.mcfunction b/data/bored-face.pose/function/engine/run.mcfunction new file mode 100644 index 0000000..9b8f9d1 --- /dev/null +++ b/data/bored-face.pose/function/engine/run.mcfunction @@ -0,0 +1 @@ +$function #bored-face.pose:$(id)/run with storage bored-face.pose:data loaded_registries[{id: "$(id)"}].entries[$(index)] diff --git a/data/bored-face.pose/function/engine/show_entries.mcfunction b/data/bored-face.pose/function/engine/show_entries.mcfunction new file mode 100644 index 0000000..6e161bf --- /dev/null +++ b/data/bored-face.pose/function/engine/show_entries.mcfunction @@ -0,0 +1 @@ +$function #bored-face.pose:$(id)/show_entries with storage bored-face.pose:smartphone registries[{id:"$(id)"}] diff --git a/data/bored-face.pose/function/engine/show_prompt.mcfunction b/data/bored-face.pose/function/engine/show_prompt.mcfunction new file mode 100644 index 0000000..de20ceb --- /dev/null +++ b/data/bored-face.pose/function/engine/show_prompt.mcfunction @@ -0,0 +1 @@ +$function #bored-face.pose:$(id)/show_prompt with storage bored-face.pose:data loaded_registries[{id:"$(id)"}].entries[$(index)] diff --git a/data/bored-face.pose/function/load.mcfunction b/data/bored-face.pose/function/load.mcfunction index 6ba10dd..e71184f 100644 --- a/data/bored-face.pose/function/load.mcfunction +++ b/data/bored-face.pose/function/load.mcfunction @@ -1,16 +1,10 @@ scoreboard objectives add bored-face.pose.smartphone trigger scoreboard objectives add bored-face.pose.loop dummy -execute unless data storage bored-face.pose:data title run function bored-face.pose:load/title -execute unless data storage bored-face.pose:data {title:[{name:{text:" v2.0"}}]} run \ - data modify storage bored-face.pose:data title[3].name.text set value " v2.0" -execute unless data storage bored-face.pose:data players run function bored-face.pose:load/players -execute unless data storage bored-face.pose:data capes run function bored-face.pose:load/capes -execute unless data storage bored-face.pose:data skins run function bored-face.pose:load/skins - -function bored-face.pose:load/footer - -function bored-face.pose:reload_smartphone +function bored-face.pose:engine/reload_smartphone # Update all loaded capes from versions prior to 2.0 function bored-face.pose:tool/update_capes + +# Clear tmp storage +data remove storage bored-face.pose:smartphone tmp diff --git a/data/bored-face.pose/function/load/capes.mcfunction b/data/bored-face.pose/function/load/capes.mcfunction deleted file mode 100644 index c6034e8..0000000 --- a/data/bored-face.pose/function/load/capes.mcfunction +++ /dev/null @@ -1,266 +0,0 @@ -data modify storage bored-face.pose:data capes set value [ \ - { \ - id: "none", \ - name: { \ - translate: "resource.bored-face.pose.cape.none.name", \ - color: "#000000", \ - hover_event: {action: "show_text", value: {translate: "resource.bored-face.pose.cape.none.description"}} \ - }, \ - }, \ - { \ - id: "bored", \ - name: { \ - translate: "resource.bored-face.pose.cape.bored.name", \ - color: "#000000", \ - hover_event: {action: "show_text", value: {translate: "resource.bored-face.pose.cape.bored.description"}} \ - }, \ - }, \ - { \ - id: "15th_anniversary", \ - name: { \ - translate: "resource.bored-face.pose.cape.15th_anniversary.name", \ - color: "#000000", \ - hover_event: {action: "show_text", value: {translate: "resource.bored-face.pose.cape.15th_anniversary.description"}} \ - }, \ - }, \ - { \ - id: "birthday", \ - name: { \ - translate: "resource.bored-face.pose.cape.birthday.name", \ - color: "#000000", \ - hover_event: {action: "show_text", value: {translate: "resource.bored-face.pose.cape.birthday.description"}} \ - }, \ - }, \ - { \ - id: "cherry_blossom", \ - name: { \ - translate: "resource.bored-face.pose.cape.cherry_blossom.name", \ - color: "#000000", \ - hover_event: {action: "show_text", value: {translate: "resource.bored-face.pose.cape.cherry_blossom.description"}} \ - }, \ - }, \ - { \ - id: "cobalt", \ - name: { \ - translate: "resource.bored-face.pose.cape.cobalt.name", \ - color: "#000000", \ - hover_event: {action: "show_text", value: {translate: "resource.bored-face.pose.cape.cobalt.description"}} \ - }, \ - }, \ - { \ - id: "db", \ - name: { \ - translate: "resource.bored-face.pose.cape.db.name", \ - color: "#000000", \ - hover_event: {action: "show_text", value: {translate: "resource.bored-face.pose.cape.db.description"}} \ - }, \ - }, \ - { \ - id: "followers", \ - name: { \ - translate: "resource.bored-face.pose.cape.followers.name", \ - color: "#000000", \ - hover_event: {action: "show_text", value: {translate: "resource.bored-face.pose.cape.followers.description"}} \ - }, \ - }, \ - { \ - id: "mcc_15th_year", \ - name: { \ - translate: "resource.bored-face.pose.cape.mcc_15th_year.name", \ - color: "#000000", \ - hover_event: {action: "show_text", value: {translate: "resource.bored-face.pose.cape.mcc_15th_year.description"}} \ - }, \ - }, \ - { \ - id: "migrator", \ - name: { \ - translate: "resource.bored-face.pose.cape.migrator.name", \ - color: "#000000", \ - hover_event: {action: "show_text", value: {translate: "resource.bored-face.pose.cape.migrator.description"}} \ - }, \ - }, \ - { \ - id: "millionth_customer", \ - name: { \ - translate: "resource.bored-face.pose.cape.millionth_customer.name", \ - color: "#000000", \ - hover_event: {action: "show_text", value: {translate: "resource.bored-face.pose.cape.millionth_customer.description"}} \ - }, \ - }, \ - { \ - id: "minecon_2011", \ - name: { \ - translate: "resource.bored-face.pose.cape.minecon_2011.name", \ - color: "#000000", \ - hover_event: {action: "show_text", value: {translate: "resource.bored-face.pose.cape.minecon_2011.description"}} \ - }, \ - }, \ - { \ - name: { \ - translate: "resource.bored-face.pose.cape.minecon_2012.name", \ - color: "#000000", \ - hover_event: {action: "show_text", value: {translate: "resource.bored-face.pose.cape.minecon_2012.description"}} \ - }, \ - id: "minecon_2012", \ - }, \ - { \ - id: "minecon_2013", \ - name: { \ - translate: "resource.bored-face.pose.cape.minecon_2013.name", \ - color: "#000000", \ - hover_event: {action: "show_text", value: {translate: "resource.bored-face.pose.cape.minecon_2013.description"}} \ - }, \ - }, \ - { \ - id: "minecon_2015", \ - name: { \ - translate: "resource.bored-face.pose.cape.minecon_2015.name", \ - color: "#000000", \ - hover_event: {action: "show_text", value: {translate: "resource.bored-face.pose.cape.minecon_2015.description"}} \ - }, \ - }, \ - { \ - id: "minecon_2016", \ - name: { \ - translate: "resource.bored-face.pose.cape.minecon_2016.name", \ - color: "#000000", \ - hover_event: {action: "show_text", value: {translate: "resource.bored-face.pose.cape.minecon_2016.description"}} \ - }, \ - }, \ - { \ - id: "minecraft_experience", \ - name: { \ - translate: "resource.bored-face.pose.cape.minecraft_experience.name", \ - color: "#000000", \ - hover_event: {action: "show_text", value: {translate: "resource.bored-face.pose.cape.minecraft_experience.description"}} \ - }, \ - }, \ - { \ - id: "mojang_classic", \ - name: { \ - translate: "resource.bored-face.pose.cape.mojang_classic.name", \ - color: "#000000", \ - hover_event: {action: "show_text", value: {translate: "resource.bored-face.pose.cape.mojang_classic.description"}} \ - }, \ - }, \ - { \ - id: "mojang_office", \ - name: { \ - translate: "resource.bored-face.pose.cape.mojang_office.name", \ - color: "#000000", \ - hover_event: {action: "show_text", value: {translate: "resource.bored-face.pose.cape.mojang_office.description"}} \ - }, \ - }, \ - { \ - id: "mojang_studios", \ - name: { \ - translate: "resource.bored-face.pose.cape.mojang_studios.name", \ - color: "#000000", \ - hover_event: {action: "show_text", value: {translate: "resource.bored-face.pose.cape.mojang_studios.description"}} \ - }, \ - }, \ - { \ - id: "mojang", \ - name: { \ - translate: "resource.bored-face.pose.cape.mojang.name", \ - color: "#000000", \ - hover_event: {action: "show_text", value: {translate: "resource.bored-face.pose.cape.mojang.description"}} \ - }, \ - }, \ - { \ - id: "mojira_moderator", \ - name: { \ - translate: "resource.bored-face.pose.cape.mojira_moderator.name", \ - color: "#000000", \ - hover_event: {action: "show_text", value: {translate: "resource.bored-face.pose.cape.mojira_moderator.description"}} \ - }, \ - }, \ - { \ - id: "prismarine", \ - name: { \ - translate: "resource.bored-face.pose.cape.prismarine.name", \ - color: "#000000", \ - hover_event: {action: "show_text", value: {translate: "resource.bored-face.pose.cape.prismarine.description"}} \ - }, \ - }, \ - { \ - id: "purple_heart", \ - name: { \ - translate: "resource.bored-face.pose.cape.purple_heart.name", \ - color: "#000000", \ - hover_event: {action: "show_text", value: {translate: "resource.bored-face.pose.cape.purple_heart.description"}} \ - }, \ - }, \ - { \ - id: "realms_mapmaker", \ - name: { \ - translate: "resource.bored-face.pose.cape.realms_mapmaker.name", \ - color: "#000000", \ - hover_event: {action: "show_text", value: {translate: "resource.bored-face.pose.cape.realms_mapmaker.description"}} \ - }, \ - }, \ - { \ - id: "scrolls", \ - name: { \ - translate: "resource.bored-face.pose.cape.scrolls.name", \ - color: "#000000", \ - hover_event: {action: "show_text", value: {translate: "resource.bored-face.pose.cape.scrolls.description"}} \ - }, \ - }, \ - { \ - id: "snowman", \ - name: { \ - translate: "resource.bored-face.pose.cape.snowman.name", \ - color: "#000000", \ - hover_event: {action: "show_text", value: {translate: "resource.bored-face.pose.cape.snowman.description"}} \ - }, \ - }, \ - { \ - id: "spade", \ - name: { \ - translate: "resource.bored-face.pose.cape.spade.name", \ - color: "#000000", \ - hover_event: {action: "show_text", value: {translate: "resource.bored-face.pose.cape.spade.description"}} \ - }, \ - }, \ - { \ - id: "test", \ - name: { \ - translate: "resource.bored-face.pose.cape.test.name", \ - color: "#000000", \ - hover_event: {action: "show_text", value: {translate: "resource.bored-face.pose.cape.test.description"}} \ - }, \ - }, \ - { \ - id: "translator", \ - name: { \ - translate: "resource.bored-face.pose.cape.translator.name", \ - color: "#000000", \ - hover_event: {action: "show_text", value: {translate: "resource.bored-face.pose.cape.translator.description"}} \ - }, \ - }, \ - { \ - id: "turtle", \ - name: { \ - translate: "resource.bored-face.pose.cape.turtle.name", \ - color: "#000000", \ - hover_event: {action: "show_text", value: {translate: "resource.bored-face.pose.cape.turtle.description"}} \ - }, \ - }, \ - { \ - id: "valentine", \ - name: { \ - translate: "resource.bored-face.pose.cape.valentine.name", \ - color: "#000000", \ - hover_event: {action: "show_text", value: {translate: "resource.bored-face.pose.cape.valentine.description"}} \ - }, \ - }, \ - { \ - id: "vanilla", \ - name: { \ - translate: "resource.bored-face.pose.cape.vanilla.name", \ - color: "#000000", \ - hover_event: {action: "show_text", value: {translate: "resource.bored-face.pose.cape.vanilla.description"}} \ - }, \ - }, \ -] diff --git a/data/bored-face.pose/function/load/players.mcfunction b/data/bored-face.pose/function/load/players.mcfunction deleted file mode 100644 index 0fb02a3..0000000 --- a/data/bored-face.pose/function/load/players.mcfunction +++ /dev/null @@ -1,58 +0,0 @@ -data modify storage bored-face.pose:data players set value [ \ - { \ - id: "normal", \ - name: { \ - translate: "resource.bored-face.pose.player.normal.name", \ - color: "#000000", \ - hover_event: {action: "show_text", value: {translate: "resource.bored-face.pose.player.normal.description"}} \ - }, \ - }, \ - { \ - id: "cardboard", \ - name: { \ - translate: "resource.bored-face.pose.player.cardboard.name", \ - color: "#000000", \ - hover_event: {action: "show_text", value: {translate: "resource.bored-face.pose.player.cardboard.description"}} \ - }, \ - }, \ - { \ - id: "handstand", \ - name: { \ - translate: "resource.bored-face.pose.player.handstand.name", \ - color: "#000000", \ - hover_event: {action: "show_text", value: {translate: "resource.bored-face.pose.player.handstand.description"}} \ - }, \ - }, \ - { \ - id: "happy", \ - name: { \ - translate: "resource.bored-face.pose.player.happy.name", \ - color: "#000000", \ - hover_event: {action: "show_text", value: {translate: "resource.bored-face.pose.player.happy.description"}} \ - }, \ - }, \ - { \ - id: "high_five", \ - name: { \ - translate: "resource.bored-face.pose.player.high_five.name", \ - color: "#000000", \ - hover_event: {action: "show_text", value: {translate: "resource.bored-face.pose.player.high_five.description"}} \ - }, \ - }, \ - { \ - id: "run", \ - name: { \ - translate: "resource.bored-face.pose.player.run.name", \ - color: "#000000", \ - hover_event: {action: "show_text", value: {translate: "resource.bored-face.pose.player.run.description"}} \ - }, \ - }, \ - { \ - id: "sneak", \ - name: { \ - translate: "resource.bored-face.pose.player.sneak.name", \ - color: "#000000", \ - hover_event: {action: "show_text", value: {translate: "resource.bored-face.pose.player.sneak.description"}} \ - }, \ - }, \ -] diff --git a/data/bored-face.pose/function/load/skins.mcfunction b/data/bored-face.pose/function/load/skins.mcfunction deleted file mode 100644 index 8391c49..0000000 --- a/data/bored-face.pose/function/load/skins.mcfunction +++ /dev/null @@ -1,34 +0,0 @@ -data modify storage bored-face.pose:data skins set value [ \ - { \ - id: "default_wide", \ - name: { \ - translate: "resource.bored-face.pose.skin.default_wide.name", \ - color: "#000000", \ - hover_event: {action: "show_text", value: {translate: "resource.bored-face.pose.skin.default_wide.description"}} \ - }, \ - }, \ - { \ - id: "default_slim", \ - name: { \ - translate: "resource.bored-face.pose.skin.default_slim.name", \ - color: "#000000", \ - hover_event: {action: "show_text", value: {translate: "resource.bored-face.pose.skin.default_slim.description"}} \ - }, \ - }, \ - { \ - id: "steve", \ - name: { \ - translate: "resource.bored-face.pose.skin.steve.name", \ - color: "#000000", \ - hover_event: {action: "show_text", value: {translate: "resource.bored-face.pose.skin.steve.description"}} \ - }, \ - }, \ - { \ - id: "alex", \ - name: { \ - translate: "resource.bored-face.pose.skin.alex.name", \ - color: "#000000", \ - hover_event: {action: "show_text", value: {translate: "resource.bored-face.pose.skin.alex.description"}} \ - }, \ - }, \ -] diff --git a/data/bored-face.pose/function/misc/update_cape.mcfunction b/data/bored-face.pose/function/misc/update_cape.mcfunction deleted file mode 100644 index 7425acf..0000000 --- a/data/bored-face.pose/function/misc/update_cape.mcfunction +++ /dev/null @@ -1,2 +0,0 @@ -data modify storage bored-face.pose:smartphone tmp.id set from entity @s item.components.minecraft:custom_model_data.strings[0] -function bored-face.pose:misc/update_cape/macro with storage bored-face.pose:smartphone tmp diff --git a/data/bored-face.pose/function/misc/update_cape/macro.mcfunction b/data/bored-face.pose/function/misc/update_cape/macro.mcfunction deleted file mode 100644 index e2e12ca..0000000 --- a/data/bored-face.pose/function/misc/update_cape/macro.mcfunction +++ /dev/null @@ -1,3 +0,0 @@ -data remove entity @s item.components.minecraft:custom_model_data -$data modify entity @s item.components.minecraft:item_model set value "bored-face.pose:cape/$(id)" -data modify entity @s item.components.minecraft:custom_data.cape set value {} diff --git a/data/bored-face.pose/function/player.mcfunction b/data/bored-face.pose/function/player.mcfunction deleted file mode 100644 index 123d0db..0000000 --- a/data/bored-face.pose/function/player.mcfunction +++ /dev/null @@ -1,3 +0,0 @@ -#called when clicked in the smartphone - -$function bored-face.pose:players/$(id) diff --git a/data/bored-face.pose/function/players/cardboard.mcfunction b/data/bored-face.pose/function/players/cardboard.mcfunction deleted file mode 100644 index bc104dd..0000000 --- a/data/bored-face.pose/function/players/cardboard.mcfunction +++ /dev/null @@ -1,152 +0,0 @@ -summon minecraft:item_display ~ ~1.133 ~ { \ - Passengers: [ \ - { \ - id: "minecraft:item_display", \ - item: { \ - components: { \ - "minecraft:custom_data": {cape: {}}, \ - "minecraft:item_model": "bored-face.pose:cape/bored", \ - }, \ - count: 1, \ - id: "minecraft:barrier" \ - }, \ - transformation: { \ - left_rotation: [ 2.7852272E-7f, 0.0f, 0.0f, 1.0f ], \ - right_rotation: [ 0.069755964f, 0.0f, 0.0f, 0.9975641f ], \ - scale: [ 1.0000023f, 1.0000033f, 0.012958315f ], \ - translation: [ 0.0f, 0.375f, -0.0016197839f ] \ - } \ - }, \ - { \ - id: "minecraft:item_display", \ - item: { \ - components: { \ - "minecraft:custom_data": {players: {}}, \ - "minecraft:custom_model_data": {strings: [ "leftleg" ]}, \ - "minecraft:item_model": "bored-face.pose:players/default_wide", \ - }, \ - count: 1, \ - id: "minecraft:barrier" \ - }, \ - transformation: { \ - left_rotation: [ 0.0f, 0.0f, 0.0f, 1.0f ], \ - right_rotation: [ 0.0f, 0.0f, 0.0f, 1.0f ], \ - scale: [ 1.0f, 1.0f, 0.012958271f ], \ - translation: [ 0.0f, -0.3737793f, 0.0f ] \ - } \ - }, \ - { \ - id: "minecraft:item_display", \ - item: { \ - components: { \ - "minecraft:custom_data": {players: {}}, \ - "minecraft:custom_model_data": {strings: ["rightarm"]}, \ - "minecraft:item_model": "bored-face.pose:players/default_wide", \ - }, \ - count: 1, \ - id: "minecraft:barrier" \ - }, \ - transformation: { \ - left_rotation: [ 0.0f, 0.0f, -0.046234716f, 0.9989307f ], \ - right_rotation: [ 0.0f, 0.0f, 0.0f, 1.0f ], \ - scale: [ 1.0000064f, 1.0000064f, 0.012958312f ], \ - translation: [ -0.25f, 0.25f, -1.1235367E-6f ] \ - } \ - }, \ - { \ - id: "minecraft:item_display", \ - item: { \ - components: { \ - "minecraft:custom_data": {players: {}}, \ - "minecraft:custom_model_data": {strings: ["head"]}, \ - "minecraft:item_model": "bored-face.pose:players/default_wide", \ - }, \ - count: 1, \ - id: "minecraft:barrier" \ - }, \ - transformation: { \ - left_rotation: [ 0.0f, 0.0f, 0.0f, 1.0f ], \ - right_rotation: [ 0.0f, 0.0f, 0.0f, 1.0f ], \ - scale: [ 1.0f, 1.0f, 0.012958271f ], \ - translation: [ 0.0f, 0.375f, 0.0f ] \ - } \ - }, \ - { \ - id: "minecraft:item_display", \ - item: { \ - components: { \ - "minecraft:custom_data": {players: {}}, \ - "minecraft:custom_model_data": {strings: ["leftarm"]}, \ - "minecraft:item_model": "bored-face.pose:players/default_wide", \ - }, \ - count: 64, \ - id: "minecraft:barrier" \ - }, \ - transformation: { \ - left_rotation: [ 0.0f, 0.0f, 0.043619353f, 0.9990483f ], \ - right_rotation: [ 0.0f, 0.0f, 0.0f, 1.0f ], \ - scale: [ 1.0000067f, 1.0000067f, 0.012958306f ], \ - translation: [ 0.24912633f, 0.25f, -1.1235367E-6f ] \ - } \ - }, \ - { \ - id: "minecraft:item_display", \ - item: { \ - components: { \ - "minecraft:custom_data": {players: {}}, \ - "minecraft:custom_model_data": {strings: ["rightleg"]}, \ - "minecraft:item_model": "bored-face.pose:players/default_wide", \ - }, \ - count: 1, \ - id: "minecraft:barrier" \ - }, \ - transformation: { \ - left_rotation: [ 0.0f, 0.0f, 0.0f, 1.0f ], \ - right_rotation: [ 0.0f, 0.0f, 0.0f, 1.0f ], \ - scale: [ 1.0f, 1.0f, 0.012958271f ], \ - translation: [ 0.0f, -0.37385643f, 0.0f ] \ - } \ - }, \ - { \ - id: "minecraft:item_display", \ - item: { \ - count: 1, \ - id: "minecraft:stick" \ - }, \ - transformation: { \ - left_rotation: [ 0.0f, 0.7071068f, 0.0f, 0.7071068f ], \ - right_rotation: [ 0.0f, 0.0f, 0.0f, 1.0f ], \ - scale: [ 0.99999994f, 1.0000004f, 0.99999994f ], \ - translation: [ 0.0f, -0.6772461f, -0.4375f ] \ - } \ - }, \ - { \ - id: "minecraft:item_display", \ - item: { \ - count: 1, \ - id: "minecraft:oak_pressure_plate" \ - }, \ - transformation: { \ - left_rotation: [ 0.0f, 0.0f, 0.0f, 1.0f ], \ - right_rotation: [ 0.0f, 0.0f, 0.0f, 1.0f ], \ - scale: [ 1.0f, 0.3125f, 1.0f ], \ - translation: [ 0.0f, -0.97680664f, -0.375f ] \ - } \ - } \ - ], \ - item: { \ - components: { \ - "minecraft:custom_data": {players: {}}, \ - "minecraft:custom_model_data": {strings: ["body"]}, \ - "minecraft:item_model": "bored-face.pose:players/default_wide", \ - }, \ - count: 1, \ - id: "minecraft:barrier" \ - }, \ - transformation: { \ - left_rotation: [ 0.0f, 0.0f, 0.0f, 1.0f ], \ - right_rotation: [ 0.0f, 0.0f, 0.0f, 1.0f ], \ - scale: [ 1.0f, 1.0f, 0.012958271f ], \ - translation: [ 0.0f, 0.0f, 0.0f ] \ - }, \ -} diff --git a/data/bored-face.pose/function/players/handstand.mcfunction b/data/bored-face.pose/function/players/handstand.mcfunction deleted file mode 100644 index 044f9eb..0000000 --- a/data/bored-face.pose/function/players/handstand.mcfunction +++ /dev/null @@ -1,120 +0,0 @@ -summon minecraft:item_display ~ ~0.9187 ~ { \ - Passengers: [ \ - { \ - id: "minecraft:item_display", item: { \ - components: { \ - "minecraft:custom_data": {cape: {}}, \ - "minecraft:item_model": "bored-face.pose:cape/bored", \ - }, \ - count: 1, \ - id: "minecraft:barrier", \ - }, \ - transformation: { \ - left_rotation: [0.0f, 0.89260215f, 0.4508453f, 0.0f], \ - right_rotation: [0.0f, 0.0f, 0.0f, 1.0f], \ - scale: [1.0000021f, 1.0000021f, 1.0000021f], \ - translation: [0.0f, -0.24145508f, -0.16381836f] \ - } \ - }, \ - { \ - id: "minecraft:item_display", item: { \ - components: { \ - "minecraft:custom_data": {players: {}}, \ - "minecraft:custom_model_data": {strings: ["rightarm"]}, \ - "minecraft:item_model": "bored-face.pose:players/default_wide", \ - }, \ - count: 1, \ - id: "minecraft:barrier", \ - }, \ - transformation: { \ - left_rotation: [-0.07180265f, 0.9943187f, -0.078567766f, -0.0013354454f], \ - right_rotation: [0.0f, 0.0f, 0.0f, 1.0f], \ - scale: [1.0000048f, 1.0000039f, 1.0000026f], \ - translation: [0.27887827f, -0.3125f, -8.670421E-5f] \ - } \ - }, \ - { \ - id: "minecraft:item_display", item: { \ - components: { \ - "minecraft:custom_data": {players: {}}, \ - "minecraft:custom_model_data": {strings: ["head"]}, \ - "minecraft:item_model": "bored-face.pose:players/default_wide", \ - }, \ - count: 1, \ - id: "minecraft:barrier", \ - }, \ - transformation: { \ - left_rotation: [0.0f, 0.0f, 1.0f, 0.0f], \ - right_rotation: [0.0f, 0.0f, 0.0f, 1.0f], \ - scale: [1.0f, 1.0f, 1.0f], \ - translation: [0.0f, -0.375f, 0.0f] \ - } \ - }, \ - { \ - id: "minecraft:item_display", item: { \ - components: { \ - "minecraft:custom_data": {players: {}}, \ - "minecraft:custom_model_data": {strings: ["rightleg"]}, \ - "minecraft:item_model": "bored-face.pose:players/default_wide", \ - }, \ - count: 1, \ - id: "minecraft:barrier", \ - }, \ - transformation: { \ - left_rotation: [0.0033925506f, -0.05608004f, 0.9965986f, 0.060289055f], \ - right_rotation: [0.0f, 0.0f, 0.0f, 1.0f], \ - scale: [1.0000013f, 1.0000002f, 1.0000011f], \ - translation: [0.0f, 0.37385643f, 0.0f] \ - } \ - }, \ - { \ - id: "minecraft:item_display", item: { \ - components: { \ - "minecraft:custom_data": {players: {}}, \ - "minecraft:custom_model_data": {strings: ["leftarm"]}, \ - "minecraft:item_model": "bored-face.pose:players/default_wide", \ - }, \ - count: 64, \ - id: "minecraft:barrier", \ - }, \ - transformation: { \ - left_rotation: [0.079350814f, 0.99302936f, -0.08715336f, 6.5608224E-4f], \ - right_rotation: [0.0f, 0.0f, 0.0f, 1.0f], \ - scale: [1.0000029f, 1.0000019f, 1.000002f], \ - translation: [-0.26635742f, -0.3347168f, -8.670421E-5f] \ - } \ - }, \ - { \ - id: "minecraft:item_display", item: { \ - components: { \ - "minecraft:custom_data": {players: {}}, \ - "minecraft:custom_model_data": {strings: ["leftleg"]}, \ - "minecraft:item_model": "bored-face.pose:players/default_wide", \ - }, \ - count: 1, \ - id: "minecraft:barrier", \ - }, \ - transformation: { \ - left_rotation: [0.0028799984f, 0.042515256f, 0.9968073f, -0.06752415f], \ - right_rotation: [0.0f, 0.0f, 0.0f, 1.0f], \ - scale: [1.0000007f, 1.0f, 1.000001f], \ - translation: [0.0f, 0.34887695f, 0.0f] \ - } \ - }, \ - ], \ - item: { \ - components: { \ - "minecraft:custom_data": {players: {}}, \ - "minecraft:custom_model_data": {strings: ["body"]}, \ - "minecraft:item_model": "bored-face.pose:players/default_wide", \ - }, \ - count: 1, \ - id: "minecraft:barrier", \ - }, \ - transformation: { \ - left_rotation: [0.0f, 0.0f, 1.0f, 0.0f], \ - right_rotation: [0.0f, 0.0f, 0.0f, 1.0f], \ - scale: [1.0f, 1.0f, 1.0f], \ - translation: [0.0f, 0.0f, 0.0f] \ - }, \ -} diff --git a/data/bored-face.pose/function/players/happy.mcfunction b/data/bored-face.pose/function/players/happy.mcfunction deleted file mode 100644 index 17d1a21..0000000 --- a/data/bored-face.pose/function/players/happy.mcfunction +++ /dev/null @@ -1,113 +0,0 @@ -summon minecraft:item_display ~ ~1.1185 ~ { \ - Passengers: [ \ - { \ - id: "minecraft:item_display", item: { \ - components: { \ - "minecraft:custom_data": {players: {}}, \ - "minecraft:custom_model_data": {strings: ["rightarm"]}, \ - "minecraft:item_model": "bored-face.pose:players/default_wide", \ - }, \ - count: 1, \ - id: "minecraft:barrier", \ - }, \ - transformation: { \ - left_rotation: [0.9715815f, 0.21237491f, -0.012793286f, -0.10374268f], \ - right_rotation: [0.0f, 0.0f, 0.0f, 1.0f], \ - scale: [1.0000039f, 1.0000036f, 1.0000018f], \ - translation: [-0.31638208f, 0.3474121f, -8.670421E-5f] \ - } \ - }, \ - { \ - id: "minecraft:item_display", item: { \ - components: { \ - "minecraft:custom_data": {cape: {}}, \ - "minecraft:item_model": "bored-face.pose:cape/bored", \ - }, \ - count: 1, \ - id: "minecraft:barrier", \ - }, \ - transformation: { \ - left_rotation: [0.06975644f, 0.0f, 0.0f, 0.997564f], \ - right_rotation: [0.0f, 0.0f, 0.0f, 1.0f], \ - scale: [1.0000006f, 1.0000008f, 1.0000008f], \ - translation: [0.0f, 0.375f, -0.125f] \ - } \ - }, \ - { \ - id: "minecraft:item_display", item: { \ - components: { \ - "minecraft:custom_data": {players: {}}, \ - "minecraft:custom_model_data": {strings: ["leftarm"]}, \ - "minecraft:item_model": "bored-face.pose:players/default_wide", \ - }, \ - count: 64, \ - id: "minecraft:barrier", \ - }, \ - transformation: { \ - left_rotation: [0.97319657f, -0.18948054f, 0.013829803f, -0.12959354f], \ - right_rotation: [0.0f, 0.0f, 0.0f, 1.0f], \ - scale: [1.0000021f, 1.0000012f, 1.0000005f], \ - translation: [0.3125f, 0.37003475f, -8.670421E-5f] \ - } \ - }, \ - { \ - id: "minecraft:item_display", item: { \ - components: { \ - "minecraft:custom_data": {players: {}}, \ - "minecraft:custom_model_data": {strings: ["leftleg"]}, \ - "minecraft:item_model": "bored-face.pose:players/default_wide", \ - }, \ - count: 1, \ - id: "minecraft:barrier", \ - }, \ - transformation: { \ - left_rotation: [0.0f, 0.0f, 0.0f, 1.0f], \ - right_rotation: [0.0f, 0.0f, 0.0f, 1.0f], \ - scale: [1.0f, 1.0f, 1.0f], \ - translation: [0.0f, -0.3737793f, 0.0f] \ - } \ - }, \ - { \ - id: "minecraft:item_display", item: { \ - components: { \ - "minecraft:custom_data": {players: {}}, \ - "minecraft:custom_model_data": {strings: ["head"]}, \ - "minecraft:item_model": "bored-face.pose:players/default_wide", \ - }, \ - count: 1, \ - id: "minecraft:barrier", \ - }, \ - transformation: { \ - left_rotation: [0.0f, 0.0f, 0.0f, 1.0f], \ - right_rotation: [0.0f, 0.0f, 0.0f, 1.0f], \ - scale: [1.0f, 1.0f, 1.0f], \ - translation: [0.0f, 0.375f, 0.0f] \ - } \ - }, \ - { \ - id: "minecraft:item_display", item: { \ - components: { \ - "minecraft:custom_data": {players: {}}, \ - "minecraft:custom_model_data": {strings: ["rightleg"]}, \ - "minecraft:item_model": "bored-face.pose:players/default_wide", \ - }, \ - count: 1, \ - id: "minecraft:barrier", \ - }, \ - transformation: { \ - left_rotation: [0.0f, 0.0f, 0.0f, 1.0f], \ - right_rotation: [0.0f, 0.0f, 0.0f, 1.0f], \ - scale: [1.0f, 1.0f, 1.0f], \ - translation: [0.0f, -0.37385643f, 0.0f] \ - } \ - }, \ - ], \ - item: { \ - components: { \ - "minecraft:custom_data": {players: {}}, \ - "minecraft:custom_model_data": {strings: ["body"]}, \ - "minecraft:item_model": "bored-face.pose:players/default_wide", \ - }, \ - count: 1, id: "minecraft:barrier" \ - }, \ -} diff --git a/data/bored-face.pose/function/players/high_five.mcfunction b/data/bored-face.pose/function/players/high_five.mcfunction deleted file mode 100644 index cabf611..0000000 --- a/data/bored-face.pose/function/players/high_five.mcfunction +++ /dev/null @@ -1,241 +0,0 @@ -summon minecraft:item_display ~ ~1.0976 ~-0.65 { \ - Passengers: [ \ - { \ - id: "minecraft:item_display", item: { \ - components: { \ - "minecraft:custom_data": {cape: {}}, \ - "minecraft:item_model": "bored-face.pose:cape/none", \ - }, \ - count: 1, \ - id: "minecraft:barrier", \ - }, \ - transformation: { \ - left_rotation: [0.2045073f, -0.17255335f, 0.037479628f, 0.96280706f], \ - right_rotation: [0.0f, 0.0f, 0.0f, 1.0f], \ - scale: [1.0000023f, 1.0000032f, 1.000003f], \ - translation: [0.036907952f, 0.3640937f, -0.08757889f] \ - } \ - }, \ - { \ - id: "minecraft:item_display", item: { \ - components: { \ - "minecraft:custom_data": {players: {}}, \ - "minecraft:custom_model_data": {strings: ["rightleg"]}, \ - "minecraft:item_model": "bored-face.pose:players/steve" \ - }, \ - count: 1, \ - id: "minecraft:barrier", \ - }, \ - transformation: { \ - left_rotation: [6.027157E-8f, -0.18480921f, -3.1660075E-9f, 0.9827745f], \ - right_rotation: [0.0f, 0.0f, 0.0f, 1.0f], \ - scale: [0.9999998f, 1.0000006f, 1.0000001f], \ - translation: [0.032715484f, -0.37385634f, -0.110578895f] \ - } \ - }, \ - { \ - id: "minecraft:item_display", item: { \ - components: { \ - "minecraft:custom_data": {players: {}}, \ - "minecraft:custom_model_data": {strings: ["head"]}, \ - "minecraft:item_model": "bored-face.pose:players/steve" \ - }, \ - count: 1, \ - id: "minecraft:barrier", \ - }, \ - transformation: { \ - left_rotation: [0.037209913f, -0.5279076f, -0.04155161f, 0.8474683f], \ - right_rotation: [0.0f, 0.0f, 0.0f, 1.0f], \ - scale: [1.0000017f, 1.0000024f, 1.0000023f], \ - translation: [0.0f, 0.3749999f, 1.1920929E-7f] \ - } \ - }, \ - { \ - id: "minecraft:item_display", item: { \ - components: { \ - "minecraft:custom_data": {players: {}}, \ - "minecraft:custom_model_data": {strings: ["leftarm"]}, \ - "minecraft:item_model": "bored-face.pose:players/steve" \ - }, \ - count: 64, \ - id: "minecraft:barrier", \ - }, \ - transformation: { \ - left_rotation: [0.9465248f, -0.010000224f, -0.014359229f, -0.32215634f], \ - right_rotation: [0.0f, 0.0f, 0.0f, 1.0f], \ - scale: [1.0000026f, 1.0000026f, 1.0000012f], \ - translation: [0.26680133f, 0.37599993f, 0.23260331f] \ - } \ - }, \ - { \ - id: "minecraft:item_display", item: { \ - components: { \ - "minecraft:custom_data": {players: {}}, \ - "minecraft:custom_model_data": {strings: ["leftleg"]}, \ - "minecraft:item_model": "bored-face.pose:players/steve" \ - }, \ - count: 1, \ - id: "minecraft:barrier", \ - }, \ - transformation: { \ - left_rotation: [0.31995985f, -0.17474051f, 0.06016789f, 0.9292315f], \ - right_rotation: [0.0f, 0.0f, 0.0f, 1.0f], \ - scale: [1.0000006f, 1.0000005f, 1.0f], \ - translation: [0.027522705f, -0.3737792f, -0.10611248f] \ - } \ - }, \ - { \ - id: "minecraft:item_display", item: { \ - components: { \ - "minecraft:custom_data": {players: {}}, \ - "minecraft:custom_model_data": {strings: ["rightarm"]}, \ - "minecraft:item_model": "bored-face.pose:players/steve" \ - }, \ - count: 1, \ - id: "minecraft:barrier", \ - }, \ - transformation: { \ - left_rotation: [-0.54188925f, -0.41527006f, -0.27901423f, 0.67532057f], \ - right_rotation: [0.0f, 0.0f, 0.0f, 1.0f], \ - scale: [1.0000055f, 1.0000063f, 1.0000035f], \ - translation: [-0.30451578f, 0.24024563f, 0.016616106f] \ - } \ - }, \ - ], \ - item: { \ - components: { \ - "minecraft:custom_data": {players: {}}, \ - "minecraft:custom_model_data": {strings: ["body"]}, \ - "minecraft:item_model": "bored-face.pose:players/steve" \ - }, \ - count: 1, \ - id: "minecraft:barrier", \ - }, \ - transformation: { \ - left_rotation: [0.14526321f, -0.18277912f, 0.02731651f, 0.9719795f], \ - right_rotation: [0.0f, 0.0f, 0.0f, 1.0f], \ - scale: [1.0000005f, 1.0000006f, 0.99999964f], \ - translation: [0.0f, 0.0f, 0.0f] \ - }, \ -} - -summon minecraft:item_display ~0.0757 ~1.0886 ~0.6219 { \ - Passengers: [ \ - { \ - id: "minecraft:item_display", item: { \ - components: { \ - "minecraft:custom_data": {players: {}}, \ - "minecraft:custom_model_data": {strings: ["leftleg"]}, \ - "minecraft:item_model": "bored-face.pose:players/alex" \ - }, \ - count: 1, \ - id: "minecraft:barrier", \ - }, \ - transformation: { \ - left_rotation: [-0.057472024f, 0.90080523f, -0.36388424f, -0.22985882f], \ - right_rotation: [0.0f, 0.0f, 0.0f, 1.0f], \ - scale: [1.0000011f, 1.0000014f, 1.0000015f], \ - translation: [0.043022897f, -0.32410392f, 0.09637796f] \ - } \ - }, \ - { \ - id: "minecraft:item_display", item: { \ - components: { \ - "minecraft:custom_data": {cape: {}}, \ - "minecraft:item_model": "bored-face.pose:cape/none", \ - }, \ - count: 1, \ - id: "minecraft:barrier", \ - }, \ - transformation: { \ - left_rotation: [-0.072807714f, 0.92485505f, -0.25714043f, -0.27059385f], \ - right_rotation: [0.0f, 0.0f, 0.0f, 1.0f], \ - scale: [1.0000043f, 1.0000038f, 1.000004f], \ - translation: [0.009038598f, 0.31428266f, 0.02255766f] \ - } \ - }, \ - { \ - id: "minecraft:item_display", item: { \ - components: { \ - "minecraft:custom_data": {players: {}}, \ - "minecraft:custom_model_data": {strings: ["rightarm"]}, \ - "minecraft:item_model": "bored-face.pose:players/alex" \ - }, \ - count: 1, \ - id: "minecraft:barrier", \ - }, \ - transformation: { \ - left_rotation: [-0.108824104f, 0.33928028f, 0.9309386f, -0.079998314f], \ - right_rotation: [0.0f, 0.0f, 0.0f, 1.0f], \ - scale: [1.0000056f, 1.0000056f, 1.0000038f], \ - translation: [0.21092893f, 0.34236297f, -0.23821951f] \ - } \ - }, \ - { \ - id: "minecraft:item_display", item: { \ - components: { \ - "minecraft:custom_data": {players: {}}, \ - "minecraft:custom_model_data": {strings: ["leftarm"]}, \ - "minecraft:item_model": "bored-face.pose:players/alex" \ - }, \ - count: 64, \ - id: "minecraft:barrier", \ - }, \ - transformation: { \ - left_rotation: [0.116368406f, 0.75754786f, 0.5350566f, -0.35537893f], \ - right_rotation: [0.0f, 0.0f, 0.0f, 1.0f], \ - scale: [1.0000032f, 1.0000038f, 1.0000027f], \ - translation: [-0.21438932f, 0.24999996f, 0.12689023f] \ - } \ - }, \ - { \ - id: "minecraft:item_display", item: { \ - components: { \ - "minecraft:custom_data": {players: {}}, \ - "minecraft:custom_model_data": {strings: ["head"]}, \ - "minecraft:item_model": "bored-face.pose:players/alex" \ - }, \ - count: 1, \ - id: "minecraft:barrier", \ - }, \ - transformation: { \ - left_rotation: [0.057212368f, 0.89144564f, -0.047284856f, -0.44700748f], \ - right_rotation: [0.0f, 0.0f, 0.0f, 1.0f], \ - scale: [1.0000014f, 0.9999999f, 1.0000001f], \ - translation: [-0.07635103f, 0.3479814f, -0.12555923f] \ - } \ - }, \ - { \ - id: "minecraft:item_display", item: { \ - components: { \ - "minecraft:custom_data": {players: {}}, \ - "minecraft:custom_model_data": {strings: ["rightleg"]}, \ - "minecraft:item_model": "bored-face.pose:players/alex" \ - }, \ - count: 1, \ - id: "minecraft:barrier", \ - }, \ - transformation: { \ - left_rotation: [-0.018406807f, 0.96220785f, -0.06728399f, -0.26323032f], \ - right_rotation: [0.0f, 0.0f, 0.0f, 1.0f], \ - scale: [1.000001f, 1.0000029f, 1.0000017f], \ - translation: [0.055140115f, -0.37385637f, 0.11980951f] \ - } \ - }, \ - ], \ - item: { \ - components: { \ - "minecraft:custom_data": {players: {}}, \ - "minecraft:custom_model_data": {strings: ["body"]}, \ - "minecraft:item_model": "bored-face.pose:players/alex" \ - }, \ - count: 1, \ - id: "minecraft:barrier", \ - }, \ - transformation: { \ - left_rotation: [-0.043551624f, 0.95132905f, -0.15919788f, -0.26025417f], \ - right_rotation: [0.0f, 0.0f, 0.0f, 1.0f], \ - scale: [1.0f, 1.0000011f, 1.0000014f], \ - translation: [0.0f, 0.0f, 0.0f] \ - }, \ -} diff --git a/data/bored-face.pose/function/players/normal.mcfunction b/data/bored-face.pose/function/players/normal.mcfunction deleted file mode 100644 index 11378b1..0000000 --- a/data/bored-face.pose/function/players/normal.mcfunction +++ /dev/null @@ -1,120 +0,0 @@ -summon minecraft:item_display ~ ~1.124 ~ { \ - item: { \ - id: "minecraft:barrier", \ - count: 1, \ - components: { \ - "minecraft:item_model": "bored-face.pose:players/default_wide", \ - "minecraft:custom_model_data": {strings: ["body"]}, \ - "minecraft:custom_data": {players: {}}, \ - }, \ - }, \ - Passengers: [ \ - { \ - id: "minecraft:item_display", \ - item: { \ - id: "minecraft:barrier", \ - count: 1, \ - components: { \ - "minecraft:item_model": "bored-face.pose:players/default_wide", \ - "minecraft:custom_model_data": {strings: ["rightarm"]}, \ - "minecraft:custom_data": {players: {}}, \ - }, \ - }, \ - transformation: { \ - left_rotation: [0.0f, 0.0f, -0.046234757f, 0.9989307f], \ - right_rotation: [0.0f, 0.0f, 0.0f, 1.0f], \ - scale: [1.0000038f, 1.0000038f, 1.0000012f], \ - translation: [-0.25f, 0.25f, -8.670421E-5f] \ - } \ - }, \ - { \ - id: "minecraft:item_display", \ - item: { \ - id: "minecraft:barrier", \ - count: 1, \ - components: { \ - "minecraft:custom_data": {cape: {}}, \ - "minecraft:item_model": "bored-face.pose:cape/vanilla", \ - }, \ - }, \ - transformation: { \ - left_rotation: [0.06975643f, 0.0f, 0.0f, 0.997564f], \ - right_rotation: [0.0f, 0.0f, 0.0f, 1.0f], \ - scale: [1.0000012f, 1.0000013f, 1.0000013f], \ - translation: [0.0f, 0.375f, -0.125f] \ - } \ - }, \ - { \ - id: "minecraft:item_display", \ - item: { \ - id: "minecraft:barrier", \ - count: 64, \ - components: { \ - "minecraft:item_model": "bored-face.pose:players/default_wide", \ - "minecraft:custom_model_data": {strings: ["leftarm"]}, \ - "minecraft:custom_data": {players: {}}, \ - }, \ - }, \ - transformation: { \ - left_rotation: [0.0f, 0.0f, 0.043619376f, 0.9990483f], \ - right_rotation: [0.0f, 0.0f, 0.0f, 1.0f], \ - scale: [1.000002f, 1.000002f, 1.0000008f], \ - translation: [0.24912633f, 0.25f, -8.670421E-5f] \ - } \ - }, \ - { \ - id: "minecraft:item_display", \ - item: { \ - id: "minecraft:barrier", \ - count: 1, \ - components: { \ - "minecraft:item_model": "bored-face.pose:players/default_wide", \ - "minecraft:custom_model_data": {strings: ["leftleg"]}, \ - "minecraft:custom_data": {players: {}}, \ - }, \ - }, \ - transformation: { \ - left_rotation: [0.0f, 0.0f, 0.0f, 1.0f], \ - right_rotation: [0.0f, 0.0f, 0.0f, 1.0f], \ - scale: [1.0f, 1.0f, 1.0f], \ - translation: [0.0f, -0.3737793f, 0.0f] \ - } \ - }, \ - { \ - id: "minecraft:item_display", \ - item: { \ - id: "minecraft:barrier", \ - count: 1, \ - components: { \ - "minecraft:item_model": "bored-face.pose:players/default_wide", \ - "minecraft:custom_model_data": {strings: ["head"]}, \ - "minecraft:custom_data": {players: {}}, \ - }, \ - }, \ - transformation: { \ - left_rotation: [0.0f, 0.0f, 0.0f, 1.0f], \ - right_rotation: [0.0f, 0.0f, 0.0f, 1.0f], \ - scale: [1.0f, 1.0f, 1.0f], \ - translation: [0.0f, 0.375f, 0.0f] \ - } \ - }, \ - { \ - id: "minecraft:item_display", \ - item: { \ - id: "minecraft:barrier", \ - count: 1, \ - components: { \ - "minecraft:item_model": "bored-face.pose:players/default_wide", \ - "minecraft:custom_model_data": {strings: ["rightleg"]}, \ - "minecraft:custom_data": {players: {}}, \ - }, \ - }, \ - transformation: { \ - left_rotation: [0.0f, 0.0f, 0.0f, 1.0f], \ - right_rotation: [0.0f, 0.0f, 0.0f, 1.0f], \ - scale: [1.0f, 1.0f, 1.0f], \ - translation: [0.0f, -0.37385643f, 0.0f] \ - } \ - } \ - ] \ -} diff --git a/data/bored-face.pose/function/players/run.mcfunction b/data/bored-face.pose/function/players/run.mcfunction deleted file mode 100644 index 183d0b8..0000000 --- a/data/bored-face.pose/function/players/run.mcfunction +++ /dev/null @@ -1,120 +0,0 @@ -summon minecraft:item_display ~ ~1.048 ~ { \ - Passengers: [ \ - { \ - id: "minecraft:item_display", item: { \ - components: { \ - "minecraft:custom_data": {players: {}}, \ - "minecraft:custom_model_data": {strings: ["rightarm"]}, \ - "minecraft:item_model": "bored-face.pose:players/default_slim" \ - }, \ - count: 1, \ - id: "minecraft:barrier", \ - }, \ - transformation: { \ - left_rotation: [-0.083826855f, -0.31420657f, -0.07936981f, 0.94230986f], \ - right_rotation: [0.0f, 0.0f, 0.0f, 1.0f], \ - scale: [1.0000074f, 1.0000063f, 1.000004f], \ - translation: [-0.28938285f, 0.23180452f, -0.05592729f] \ - } \ - }, \ - { \ - id: "minecraft:item_display", item: { \ - components: { \ - "minecraft:custom_data": {players: {}}, \ - "minecraft:custom_model_data": {strings: ["leftarm"]}, \ - "minecraft:item_model": "bored-face.pose:players/default_slim" \ - }, \ - count: 64, \ - id: "minecraft:barrier", \ - }, \ - transformation: { \ - left_rotation: [0.28515804f, -0.3452516f, 0.3264535f, 0.83241487f], \ - right_rotation: [0.0f, 0.0f, 0.0f, 1.0f], \ - scale: [1.0000052f, 1.0000055f, 1.0000042f], \ - translation: [0.113279626f, 0.2668353f, 0.23692635f] \ - } \ - }, \ - { \ - id: "minecraft:item_display", item: { \ - components: { \ - "minecraft:custom_data": {players: {}}, \ - "minecraft:custom_model_data": {strings: ["head"]}, \ - "minecraft:item_model": "bored-face.pose:players/default_slim" \ - }, \ - count: 1, \ - id: "minecraft:barrier", \ - }, \ - transformation: { \ - left_rotation: [0.052567013f, -0.5001825f, 0.04147613f, 0.8633273f], \ - right_rotation: [0.0f, 0.0f, 0.0f, 1.0f], \ - scale: [1.0000007f, 1.0000036f, 1.0000048f], \ - translation: [-0.094864696f, 0.37404233f, 0.08569272f] \ - } \ - }, \ - { \ - id: "minecraft:item_display", item: { \ - components: { \ - "minecraft:custom_data": {players: {}}, \ - "minecraft:custom_model_data": {strings: ["leftleg"]}, \ - "minecraft:item_model": "bored-face.pose:players/default_slim" \ - }, \ - count: 1, \ - id: "minecraft:barrier", \ - }, \ - transformation: { \ - left_rotation: [-0.36202782f, -0.3181075f, 0.004180618f, 0.87619984f], \ - right_rotation: [0.0f, 0.0f, 0.0f, 1.0f], \ - scale: [1.0000039f, 1.0000036f, 1.0000055f], \ - translation: [0.14580724f, -0.36838675f, -0.048642173f] \ - } \ - }, \ - { \ - id: "minecraft:item_display", item: { \ - components: { \ - "minecraft:custom_data": {players: {}}, \ - "minecraft:custom_model_data": {strings: ["rightleg"]}, \ - "minecraft:item_model": "bored-face.pose:players/default_slim" \ - }, \ - count: 1, \ - id: "minecraft:barrier", \ - }, \ - transformation: { \ - left_rotation: [0.39088863f, -0.31267834f, 0.20992748f, 0.8398624f], \ - right_rotation: [0.0f, 0.0f, 0.0f, 1.0f], \ - scale: [1.0000015f, 1.000002f, 1.0000019f], \ - translation: [0.11215046f, -0.3713921f, -0.07312053f] \ - } \ - }, \ - { \ - id: "minecraft:item_display", item: { \ - components: { \ - "minecraft:custom_data": {cape: {}}, \ - "minecraft:item_model": "bored-face.pose:cape/bored", \ - }, \ - count: 1, \ - id: "minecraft:barrier", \ - }, \ - transformation: { \ - left_rotation: [0.42859173f, -0.37340102f, 0.24659997f, 0.78490084f], \ - right_rotation: [0.0f, 0.0f, 0.0f, 1.0f], \ - scale: [1.0000031f, 1.000003f, 1.0000033f], \ - translation: [-0.021343648f, 0.37407553f, -0.015399663f] \ - } \ - }, \ - ], \ - item: { \ - components: { \ - "minecraft:custom_data": {players: {}}, \ - "minecraft:custom_model_data": {strings: ["body"]}, \ - "minecraft:item_model": "bored-face.pose:players/default_slim" \ - }, \ - count: 1, \ - id: "minecraft:barrier", \ - }, \ - transformation: { \ - left_rotation: [0.14617527f, -0.28783616f, 0.13854754f, 0.93626267f], \ - right_rotation: [0.0f, 0.0f, 0.0f, 1.0f], \ - scale: [1.0000012f, 1.0000025f, 1.000003f], \ - translation: [0.0f, 0.0f, 0.0f] \ - }, \ -} diff --git a/data/bored-face.pose/function/players/sneak.mcfunction b/data/bored-face.pose/function/players/sneak.mcfunction deleted file mode 100644 index c5fa4d3..0000000 --- a/data/bored-face.pose/function/players/sneak.mcfunction +++ /dev/null @@ -1,121 +0,0 @@ -summon minecraft:item_display ~ ~0.9966 ~ { \ - Passengers: [ \ - { \ - id: "minecraft:item_display", \ - item: { \ - components: { \ - "minecraft:custom_data": {players: {}}, \ - "minecraft:custom_model_data": {strings: ["rightarm"]}, \ - "minecraft:item_model": "bored-face.pose:players/default_wide", \ - }, \ - count: 1, \ - id: "minecraft:barrier", \ - }, \ - transformation: { \ - left_rotation: [0.13008316f, -0.005879494f, -0.04598732f, 0.9904187f], \ - right_rotation: [0.0f, 0.0f, 0.0f, 1.0f], \ - scale: [1.0000044f, 1.000004f, 1.0000017f], \ - translation: [-0.25064304f, 0.27718106f, 0.13229632f] \ - } \ - }, \ - { \ - id: "minecraft:item_display", item: { \ - components: { \ - "minecraft:custom_data": {cape: {}}, \ - "minecraft:item_model": "bored-face.pose:cape/bored", \ - }, \ - count: 1, \ - id: "minecraft:barrier", \ - }, \ - transformation: { \ - left_rotation: [0.31730467f, 0.0f, 0.0f, 0.9483236f], \ - right_rotation: [0.0f, 0.0f, 0.0f, 1.0f], \ - scale: [1.0000012f, 1.0000012f, 1.0000012f], \ - translation: [0.0f, 0.375f, 0.0625f] \ - } \ - }, \ - { \ - id: "minecraft:item_display", item: { \ - components: { \ - "minecraft:custom_data": {players: {}}, \ - "minecraft:custom_model_data": {strings: ["leftarm"]}, \ - "minecraft:item_model": "bored-face.pose:players/default_wide", \ - }, \ - count: 64, \ - id: "minecraft:barrier", \ - }, \ - transformation: { \ - left_rotation: [0.3497731f, 0.015053465f, 0.04086047f, 0.9358219f], \ - right_rotation: [0.0f, 0.0f, 0.0f, 1.0f], \ - scale: [1.0000018f, 1.0000021f, 1.000001f], \ - translation: [0.24156328f, 0.25f, 0.125f] \ - } \ - }, \ - { \ - id: "minecraft:item_display", item: { \ - components: { \ - "minecraft:custom_data": {players: {}}, \ - "minecraft:custom_model_data": {strings: ["leftleg"]}, \ - "minecraft:item_model": "bored-face.pose:players/default_wide", \ - }, \ - count: 1, \ - id: "minecraft:barrier", \ - }, \ - transformation: { \ - left_rotation: [-0.12186935f, 0.0f, 0.0f, 0.99254614f], \ - right_rotation: [0.0f, 0.0f, 0.0f, 1.0f], \ - scale: [1.0f, 0.99999964f, 0.99999964f], \ - translation: [0.0f, -0.25f, -0.125f] \ - } \ - }, \ - { \ - id: "minecraft:item_display", item: { \ - components: { \ - "minecraft:custom_data": {players: {}}, \ - "minecraft:custom_model_data": {strings: ["head"]}, \ - "minecraft:item_model": "bored-face.pose:players/default_wide", \ - }, \ - count: 1, \ - id: "minecraft:barrier", \ - }, \ - transformation: { \ - left_rotation: [0.043619383f, 0.0f, 0.0f, 0.9990483f], \ - right_rotation: [0.0f, 0.0f, 0.0f, 1.0f], \ - scale: [1.0000002f, 1.0000006f, 1.0000006f], \ - translation: [0.0f, 0.3125f, 0.18318483f] \ - } \ - }, \ - { \ - id: "minecraft:item_display", item: { \ - components: { \ - "minecraft:custom_data": {players: {}}, \ - "minecraft:custom_model_data": {strings: ["rightleg"]}, \ - "minecraft:item_model": "bored-face.pose:players/default_wide", \ - }, \ - count: 1, \ - id: "minecraft:barrier", \ - }, \ - transformation: { \ - left_rotation: [0.12186934f, 0.0f, 0.0f, 0.99254614f], \ - right_rotation: [0.0f, 0.0f, 0.0f, 1.0f], \ - scale: [1.0f, 0.99999976f, 0.99999976f], \ - translation: [0.0f, -0.25f, -0.125f] \ - } \ - }, \ - ], \ - item: { \ - components: { \ - "minecraft:custom_data": {players: {}}, \ - "minecraft:custom_model_data": {strings: ["body"]}, \ - "minecraft:item_model": "bored-face.pose:players/default_wide", \ - }, \ - count: 1, \ - id: "minecraft:barrier", \ - }, \ - transformation: { \ - left_rotation: [0.24192192f, 0.0f, 0.0f, 0.9702957f], \ - right_rotation: [0.0f, 0.0f, 0.0f, 1.0f], \ - scale: [1.0000001f, 1.0000001f, 1.0000001f], \ - translation: [0.0f, 0.0f, 0.0f] \ - }, \ -} diff --git a/data/bored-face.pose/function/reload_smartphone.mcfunction b/data/bored-face.pose/function/reload_smartphone.mcfunction deleted file mode 100644 index 685b221..0000000 --- a/data/bored-face.pose/function/reload_smartphone.mcfunction +++ /dev/null @@ -1,74 +0,0 @@ -data remove storage bored-face.pose:smartphone pages -data remove storage bored-face.pose:smartphone title -data remove storage bored-face.pose:smartphone players -data remove storage bored-face.pose:smartphone capes -data remove storage bored-face.pose:smartphone skins -scoreboard players reset $page_count bored-face.pose.loop - -# Entries per page -scoreboard players set $line_num_max bored-face.pose.loop 10 - -data modify storage bored-face.pose:smartphone tmp set value { \ - function: "title",\ - storage: "title", \ - page_num: 0, \ - nav_bar_player: "active", \ - nav_bar_cape: "active", \ - nav_bar_skin: "active", \ - background_color: "white", \ -} -#function bored-face.pose:reload_smartphone/add_page with storage bored-face.pose:smartphone tmp -execute store result score $loop_max bored-face.pose.loop run data get storage bored-face.pose:data title -scoreboard players remove $loop_max bored-face.pose.loop 1 -scoreboard players set $page_num bored-face.pose.loop 0 -scoreboard players set $line_num bored-face.pose.loop 0 -scoreboard players set $loop bored-face.pose.loop 0 -function bored-face.pose:reload_smartphone/loop - -# Player Poses -data modify storage bored-face.pose:smartphone tmp set value { \ - function: "player", \ - storage: "players", \ - nav_bar_player: "active", \ - nav_bar_cape: "inactive", \ - nav_bar_skin: "inactive", \ - background_color: "#ffdddd", \ -} -execute store result score $loop_max bored-face.pose.loop run data get storage bored-face.pose:data players -scoreboard players remove $loop_max bored-face.pose.loop 1 -scoreboard players set $page_num bored-face.pose.loop 0 -scoreboard players set $line_num bored-face.pose.loop 0 -scoreboard players set $loop bored-face.pose.loop 0 -function bored-face.pose:reload_smartphone/loop - -# Capes -data modify storage bored-face.pose:smartphone tmp set value { \ - function: "cape", \ - storage: "capes", \ - nav_bar_player: "inactive", \ - nav_bar_cape: "active", \ - nav_bar_skin: "inactive", \ - background_color: "#ddffdd", \ -} -execute store result score $loop_max bored-face.pose.loop run data get storage bored-face.pose:data capes -scoreboard players remove $loop_max bored-face.pose.loop 1 -scoreboard players set $page_num bored-face.pose.loop 0 -scoreboard players set $line_num bored-face.pose.loop 0 -scoreboard players set $loop bored-face.pose.loop 0 -function bored-face.pose:reload_smartphone/loop - -# Skins -data modify storage bored-face.pose:smartphone tmp set value { \ - function: "skin", \ - storage: "skins", \ - nav_bar_player: "inactive", \ - nav_bar_cape: "inactive", \ - nav_bar_skin: "active", \ - background_color: "#ddddff", \ -} -execute store result score $loop_max bored-face.pose.loop run data get storage bored-face.pose:data skins -scoreboard players remove $loop_max bored-face.pose.loop 1 -scoreboard players set $page_num bored-face.pose.loop 0 -scoreboard players set $line_num bored-face.pose.loop 0 -scoreboard players set $loop bored-face.pose.loop 0 -function bored-face.pose:reload_smartphone/loop diff --git a/data/bored-face.pose/function/reload_smartphone/add_page.mcfunction b/data/bored-face.pose/function/reload_smartphone/add_page.mcfunction deleted file mode 100644 index fd3bc8b..0000000 --- a/data/bored-face.pose/function/reload_smartphone/add_page.mcfunction +++ /dev/null @@ -1,76 +0,0 @@ -$data modify storage bored-face.pose:smartphone $(storage) append value [] - -$data modify storage bored-face.pose:smartphone pages append value { \ - text: "", \ - extra: [ \ - { \ - text: "\u0002", \ - font: "bored-face.pose:icon", \ - shadow_color: 0, \ - color: "$(background_color)", \ - extra: [ \ - { text: "\u0064\u0035", font: "bored-face.pose:space_neg" }, \ - { text: "\u0001" }, \ - { text: "\u0001", font: "bored-face.pose:space_neg" } \ - ] \ - }, \ - { \ - translate: "gui.bored-face.pose.smartphone.$(function).title", \ - fallback: "" \ - }, \ - { text: "\n" }, \ - { \ - storage: "bored-face.pose:smartphone", \ - nbt: "$(storage)[$(page_num)][]", \ - interpret: true, \ - separator: "\n" \ - }, \ - { text: "\n " }, \ - { \ - storage: "bored-face.pose:smartphone", \ - nbt: "nav_bar.player.$(nav_bar_player)", \ - interpret: true \ - }, \ - { text: " " }, \ - { \ - storage: "bored-face.pose:smartphone", \ - nbt: "nav_bar.cape.$(nav_bar_cape)", \ - interpret: true \ - }, \ - { text: " " }, \ - { \ - storage: "bored-face.pose:smartphone", \ - nbt: "nav_bar.skin.$(nav_bar_skin)", \ - interpret: true \ - }, \ - { text: "\n " }, \ - { \ - storage: "bored-face.pose:smartphone", \ - nbt: "nav_bar.player.base", \ - interpret: true, \ - extra: [ \ - {text: "\u000b", font: "bored-face.pose:space_pos"} \ - ] \ - }, \ - { text: " " }, \ - { \ - storage: "bored-face.pose:smartphone", \ - nbt: "nav_bar.cape.base", \ - interpret: true, \ - extra: [ \ - {text: "\u0009\u0001", font: "bored-face.pose:space_pos"} \ - ] \ - }, \ - { text: " " }, \ - { \ - storage: "bored-face.pose:smartphone", \ - nbt: "nav_bar.skin.base", \ - interpret: true, \ - extra: [ \ - {text: "\u000e", font: "bored-face.pose:space_pos"} \ - ] \ - } \ - ] \ -} - -scoreboard players add $page_count bored-face.pose.loop 1 diff --git a/data/bored-face.pose/function/reload_smartphone/get_id.mcfunction b/data/bored-face.pose/function/reload_smartphone/get_id.mcfunction deleted file mode 100644 index 7906a38..0000000 --- a/data/bored-face.pose/function/reload_smartphone/get_id.mcfunction +++ /dev/null @@ -1 +0,0 @@ -$data modify storage bored-face.pose:smartphone tmp.id set from storage bored-face.pose:data $(storage)[$(total)].id diff --git a/data/bored-face.pose/function/reload_smartphone/iterate.mcfunction b/data/bored-face.pose/function/reload_smartphone/iterate.mcfunction deleted file mode 100644 index 45f42bf..0000000 --- a/data/bored-face.pose/function/reload_smartphone/iterate.mcfunction +++ /dev/null @@ -1,28 +0,0 @@ -# with click -$execute if data storage bored-face.pose:data $(storage)[$(total)].id run return run \ -data modify storage bored-face.pose:smartphone $(storage)[$(page_num)] append value { \ - text: "", \ - extra: [ \ - { \ - storage: "bored-face.pose:data", \ - nbt: "$(storage)[$(total)].name", \ - interpret: true, \ - click_event: { \ - action: "run_command", \ - command: "function bored-face.pose:$(function) {id: $(id)}" \ - } \ - } \ - ] \ -} - -# without click -$data modify storage bored-face.pose:smartphone $(storage)[$(page_num)] append value { \ - text: "", \ - extra: [ \ - { \ - storage: "bored-face.pose:data", \ - nbt: "$(storage)[$(total)].name", \ - interpret: true \ - } \ - ] \ -} diff --git a/data/bored-face.pose/function/reload_smartphone/loop.mcfunction b/data/bored-face.pose/function/reload_smartphone/loop.mcfunction deleted file mode 100644 index fd74af7..0000000 --- a/data/bored-face.pose/function/reload_smartphone/loop.mcfunction +++ /dev/null @@ -1,24 +0,0 @@ -execute store result storage bored-face.pose:smartphone tmp.total int 1 run scoreboard players get $loop bored-face.pose.loop -function bored-face.pose:reload_smartphone/get_id with storage bored-face.pose:smartphone tmp - -execute store result storage bored-face.pose:smartphone tmp.page_num int 1 run scoreboard players get $page_num bored-face.pose.loop -execute if score $line_num bored-face.pose.loop matches 0 run function bored-face.pose:reload_smartphone/add_page with storage bored-face.pose:smartphone tmp -function bored-face.pose:reload_smartphone/iterate with storage bored-face.pose:smartphone tmp - -scoreboard players add $line_num bored-face.pose.loop 1 - -# Add new page and reset line -execute if score $loop bored-face.pose.loop <= $loop_max bored-face.pose.loop if score $line_num bored-face.pose.loop > $line_num_max bored-face.pose.loop run scoreboard players add $page_num bored-face.pose.loop 1 -execute if score $loop bored-face.pose.loop <= $loop_max bored-face.pose.loop if score $line_num bored-face.pose.loop > $line_num_max bored-face.pose.loop run scoreboard players set $line_num bored-face.pose.loop 0 - -# Loop when not all done -scoreboard players add $loop bored-face.pose.loop 1 -execute if score $loop bored-face.pose.loop <= $loop_max bored-face.pose.loop run return run function bored-face.pose:reload_smartphone/loop - -# Loop when all done, but page hasn't reached max line num (for footer alignment) -execute if score $line_num bored-face.pose.loop <= $line_num_max bored-face.pose.loop run return run function bored-face.pose:reload_smartphone/loop - -# calc start page of current section -execute store result storage bored-face.pose:smartphone tmp.page_num int 1 run scoreboard players operation $page_count bored-face.pose.loop -= $page_num bored-face.pose.loop -scoreboard players operation $page_count bored-face.pose.loop += $page_num bored-face.pose.loop -function bored-face.pose:reload_smartphone/set_footer with storage bored-face.pose:smartphone tmp diff --git a/data/bored-face.pose/function/reload_smartphone/set_footer.mcfunction b/data/bored-face.pose/function/reload_smartphone/set_footer.mcfunction deleted file mode 100644 index b5e6c06..0000000 --- a/data/bored-face.pose/function/reload_smartphone/set_footer.mcfunction +++ /dev/null @@ -1,29 +0,0 @@ -$data modify storage bored-face.pose:smartphone nav_bar.$(function).base set value { \ - text: "", \ - hover_event: {action: "show_text", value: { \ - text: "", \ - extra: [ \ - { storage: "bored-face.pose:smartphone", nbt: "nav_bar.$(function).icon", interpret: true }, \ - { text: " " }, \ - { translate: "gui.bored-face.pose.smartphone.$(function).nav_bar" }, \ - { text: "\n" } \ - ] \ - }}, \ - click_event: {action: "change_page", page: $(page_num)} \ -} -$data modify storage bored-face.pose:smartphone nav_bar.$(function).active set value { \ - storage: "bored-face.pose:smartphone", \ - nbt: "nav_bar.$(function).base", \ - interpret: true, \ - extra: [ \ - { storage: "bored-face.pose:smartphone", nbt: "nav_bar.$(function).icon", interpret: true } \ - ] \ -} -$data modify storage bored-face.pose:smartphone nav_bar.$(function).inactive set value { \ - storage: "bored-face.pose:smartphone", \ - nbt: "nav_bar.$(function).base", \ - interpret: true, \ - extra: [ \ - { storage: "bored-face.pose:smartphone", nbt: "nav_bar.$(function).icon", interpret: true, color: "gray" } \ - ] \ -} diff --git a/data/bored-face.pose/function/skin.mcfunction b/data/bored-face.pose/function/skin.mcfunction deleted file mode 100644 index d3ef961..0000000 --- a/data/bored-face.pose/function/skin.mcfunction +++ /dev/null @@ -1,4 +0,0 @@ -# called when clicked in the smartphone - -$execute as @e[type=minecraft:item_display, limit=6, sort=nearest, distance=..3, nbt={item:{components: {"minecraft:custom_data":{"players": {}}}}}] run \ - data modify entity @s item.components.minecraft:item_model set value "bored-face.pose:players/$(id)" diff --git a/data/bored-face.pose/function/tick.mcfunction b/data/bored-face.pose/function/tick.mcfunction index 9e4d701..f36502f 100644 --- a/data/bored-face.pose/function/tick.mcfunction +++ b/data/bored-face.pose/function/tick.mcfunction @@ -1,2 +1,7 @@ scoreboard players enable @a bored-face.pose.smartphone execute as @a if score @s bored-face.pose.smartphone matches 1.. at @s run function bored-face.pose:smartphone + +execute store result score $loop_max bored-face.pose.loop run data get storage bored-face.pose:data registries +scoreboard players remove $loop_max bored-face.pose.loop 1 +scoreboard players set $loop bored-face.pose.loop 0 +function bored-face.pose:engine/registry/tick diff --git a/data/bored-face.pose/function/tool/migrate_from_1.x.mcfunction b/data/bored-face.pose/function/tool/migrate_from_1.x.mcfunction new file mode 100644 index 0000000..9fe61d4 --- /dev/null +++ b/data/bored-face.pose/function/tool/migrate_from_1.x.mcfunction @@ -0,0 +1,7 @@ +data remove storage bored-face.pose:data players +data remove storage bored-face.pose:data capes +data remove storage bored-face.pose:data skins + +data remove storage bored-face.pose:smartphone pages + +function bored-face.pose:load diff --git a/data/bored-face.pose/mcdoc/data.mcdoc b/data/bored-face.pose/mcdoc/data.mcdoc index 8e56426..261a6b3 100644 --- a/data/bored-face.pose/mcdoc/data.mcdoc +++ b/data/bored-face.pose/mcdoc/data.mcdoc @@ -1,21 +1,43 @@ use ::java::util::text::TextObject dispatch minecraft:storage[bored-face.pose:data] to struct { - /// The title - title: [Data], + /// The format version of the data structure + /// **DO NOT CHANGE THIS VALUE MANUALLY!** + format: int, - /// List of available players poses - players: [Data], - /// List of available capes - capes: [Data], - /// List of available skins - skins: [Data], + /// All the P.O.S.E. registries + registries: [RegistryBase], + /// The currently loaded registries. + /// This is used to determine which registries are removed or added after a reload. + loaded_registries: [LoadedRegistry], } -struct Data { +struct RegistryBase { + /// The unique identifier of the registry + id: #[bored_face_pose(definition=true)] #[match_regex="^(?:[a-z0-9_]+[.-])*[a-z_]+$"] string, + + /// The display name of the registry + name: TextObject, + /// The description of the registry + description: TextObject, +} + +struct LoadedRegistry { + ...RegistryBase, + + /// All the entries in the registry + entries: [RegistryEntry], +} + +/// A single entry in a P.O.S.E. registry +struct RegistryEntry { /// The display name name: TextObject, + /// The description + description: TextObject, /// The identifier. /// Used for the resource location of the item definition and to the call the the function. - id?: string, + id: #[match_regex="^[a-z0-9_]+$"] string, + /// The index of the entry in the registry. + index?: int, } diff --git a/data/bored-face.pose/mcdoc/smartphone.mcdoc b/data/bored-face.pose/mcdoc/smartphone.mcdoc index ff6eaed..83b44cb 100644 --- a/data/bored-face.pose/mcdoc/smartphone.mcdoc +++ b/data/bored-face.pose/mcdoc/smartphone.mcdoc @@ -1,94 +1,46 @@ -use ::java::util::text::TextColor use ::java::util::text::TextObject +use ::java::data::dialog::Button + +use super::data::RegistryBase dispatch minecraft:storage[bored-face.pose:smartphone] to struct { - /// The title - title: [[TextObject]], + registries: [SmartphoneRegistry], + - /// List of available players poses - players: [[TextObject]], - /// List of available capes - capes: [[TextObject]], - /// List of available skins - skins: [[TextObject]], + /// DEPRECATED: The title + title?: any, - /// list of pages - pages?: [TextObject], + /// DEPRECATED: List of available players poses + players?: any, + /// DEPRECATED: List of available capes + capes?: any, + /// DEPRECATED: List of available skins + skins: any, - /// navigation footer - nav_bar?: NavBar, + /// DEPRECATED: list of pages + pages?: any, + + /// DEPRECATED: navigation footer + nav_bar?: any, /// Temporary data tmp: Tmp, } -/// Navigation footer -struct NavBar { - /// The player navigation button - player: NavBarIcon, - /// The cape navigation button - cape: NavBarIcon, - /// The skin navigation button - skin: NavBarIcon, -} -struct NavBarIcon { - icon : TextObject, - base: TextObject, - active: TextObject, - inactive: TextObject, +struct SmartphoneRegistry { + ...RegistryBase, + + /// The dialog buttons for each entry in the registry + actions: [Button] } /// Temporary data struct Tmp { - /// The function location - function: Function, - /// The storage path - storage: Storage, - /// The current total index - total?: int, - /// The current page index - page_num?: int, - /// The current id - id?: string, - - nav_bar_player: NavBarIconMode, - nav_bar_cape: NavBarIconMode, - nav_bar_skin: NavBarIconMode, - - background_color: ( - #[color="hex_rgb"] string | - #[color="named"] TextColor | - ) -} - -/// Available functions -enum(string) Function { - /// The title page - Title = "title", - /// The player poses - Player = "player", - /// The capes - Cape = "cape", - /// The skins - Skin = "skin", -} - -/// Available storages -enum(string) Storage { - /// The title page - Title = "title", - /// The player poses - Player = "players", - /// The capes - Cape = "capes", - /// The skins - Skin = "skins", -} - -/// Available modes for the navigation bar icons -enum(string) NavBarIconMode { - /// The icon is active - Active = "active", - /// The icon is inactive - Inactive = "inactive", + /// The scoreboard objective that gets triggered when the user clicks a button + id: #[bored_face_pose] string, + /// The current index + index?: int, + + /// A single button to assemble append it to the dialog + button?: Button, } diff --git a/data/bored-face.pose/tags/function/load.json b/data/bored-face.pose/tags/function/load.json new file mode 100644 index 0000000..3f4b292 --- /dev/null +++ b/data/bored-face.pose/tags/function/load.json @@ -0,0 +1,3 @@ +{ + "values": [] +} diff --git a/data/minecraft/tags/dialog/quick_actions.json b/data/minecraft/tags/dialog/quick_actions.json new file mode 100644 index 0000000..1fb670a --- /dev/null +++ b/data/minecraft/tags/dialog/quick_actions.json @@ -0,0 +1,5 @@ +{ + "values": [ + "bored-face.pose:pose" + ] +} diff --git a/pack.mcmeta b/pack.mcmeta index 8022610..89afe7e 100644 --- a/pack.mcmeta +++ b/pack.mcmeta @@ -1,6 +1,6 @@ { "pack": { - "pack_format": 71, + "pack_format": 80, "description": "Player-Origin Statue Engine" } } From dd7c11233a9ae3b1db9e996aa028bd2d13b25013 Mon Sep 17 00:00:00 2001 From: Kesuaheli Date: Sun, 22 Jun 2025 16:19:14 +0200 Subject: [PATCH 2/7] feat(smartphone): added registry show_entries trigger --- .../function/engine/registry/load.mcfunction | 3 +++ .../function/engine/show_entries.mcfunction | 2 +- .../engine/show_entries_registry.mcfunction | 15 +++++++++++++++ data/bored-face.pose/function/load.mcfunction | 1 + data/bored-face.pose/function/tick.mcfunction | 7 +++++++ .../util/get_registry_id_from_index.mcfunction | 1 + data/bored-face.pose/mcdoc/data.mcdoc | 10 +++++++++- 7 files changed, 37 insertions(+), 2 deletions(-) create mode 100644 data/bored-face.pose/function/engine/show_entries_registry.mcfunction create mode 100644 data/bored-face.pose/function/util/get_registry_id_from_index.mcfunction diff --git a/data/bored-face.pose/function/engine/registry/load.mcfunction b/data/bored-face.pose/function/engine/registry/load.mcfunction index 7047e87..988cac3 100644 --- a/data/bored-face.pose/function/engine/registry/load.mcfunction +++ b/data/bored-face.pose/function/engine/registry/load.mcfunction @@ -1,3 +1,6 @@ +# Copy the index back to the data storage to not have to write it later when using it. +execute store result storage bored-face.pose:data registries[0].index int 1 run scoreboard players get $loop bored-face.pose.loop + function bored-face.pose:engine/registry/load_macro with storage bored-face.pose:data registries[0] # continue loop diff --git a/data/bored-face.pose/function/engine/show_entries.mcfunction b/data/bored-face.pose/function/engine/show_entries.mcfunction index 6e161bf..9736bfb 100644 --- a/data/bored-face.pose/function/engine/show_entries.mcfunction +++ b/data/bored-face.pose/function/engine/show_entries.mcfunction @@ -1 +1 @@ -$function #bored-face.pose:$(id)/show_entries with storage bored-face.pose:smartphone registries[{id:"$(id)"}] +$function bored-face.pose:engine/show_entries_registry with storage bored-face.pose:smartphone registries[{id:"$(id)"}] diff --git a/data/bored-face.pose/function/engine/show_entries_registry.mcfunction b/data/bored-face.pose/function/engine/show_entries_registry.mcfunction new file mode 100644 index 0000000..8647edb --- /dev/null +++ b/data/bored-face.pose/function/engine/show_entries_registry.mcfunction @@ -0,0 +1,15 @@ +$dialog show @s { \ + title: $(name), \ + type: "minecraft:multi_action", \ + body: [ \ + { \ + type: "minecraft:plain_message", \ + contents: $(description), \ + }, \ + ], \ + actions: $(actions), \ + columns: 1, \ + exit_action: { \ + label: {translate: "gui.back"}, \ + },\ +} diff --git a/data/bored-face.pose/function/load.mcfunction b/data/bored-face.pose/function/load.mcfunction index e71184f..ca4722e 100644 --- a/data/bored-face.pose/function/load.mcfunction +++ b/data/bored-face.pose/function/load.mcfunction @@ -1,5 +1,6 @@ scoreboard objectives add bored-face.pose.smartphone trigger scoreboard objectives add bored-face.pose.loop dummy +scoreboard objectives add bored-face.pose.registry trigger function bored-face.pose:engine/reload_smartphone diff --git a/data/bored-face.pose/function/tick.mcfunction b/data/bored-face.pose/function/tick.mcfunction index f36502f..e0173df 100644 --- a/data/bored-face.pose/function/tick.mcfunction +++ b/data/bored-face.pose/function/tick.mcfunction @@ -1,6 +1,13 @@ scoreboard players enable @a bored-face.pose.smartphone execute as @a if score @s bored-face.pose.smartphone matches 1.. at @s run function bored-face.pose:smartphone +execute as @a if score @s bored-face.pose.registry matches 0.. at @s store result storage bored-face.pose:smartphone tmp.index int 1 run scoreboard players get @s bored-face.pose.registry +execute as @a if score @s bored-face.pose.registry matches 0.. at @s run function bored-face.pose:util/get_registry_id_from_index with storage bored-face.pose:smartphone tmp +execute as @a if score @s bored-face.pose.registry matches 0.. at @s run function bored-face.pose:engine/show_entries with storage bored-face.pose:smartphone tmp +scoreboard players enable @a bored-face.pose.registry +# set to -1 because we need to differentiate between 0 and no input (no input therefore being -1) +scoreboard players set @a bored-face.pose.registry -1 + execute store result score $loop_max bored-face.pose.loop run data get storage bored-face.pose:data registries scoreboard players remove $loop_max bored-face.pose.loop 1 scoreboard players set $loop bored-face.pose.loop 0 diff --git a/data/bored-face.pose/function/util/get_registry_id_from_index.mcfunction b/data/bored-face.pose/function/util/get_registry_id_from_index.mcfunction new file mode 100644 index 0000000..ce09bd8 --- /dev/null +++ b/data/bored-face.pose/function/util/get_registry_id_from_index.mcfunction @@ -0,0 +1 @@ +$data modify storage bored-face.pose:smartphone tmp.id set from storage bored-face.pose:data registries[$(index)].id diff --git a/data/bored-face.pose/mcdoc/data.mcdoc b/data/bored-face.pose/mcdoc/data.mcdoc index 261a6b3..3114968 100644 --- a/data/bored-face.pose/mcdoc/data.mcdoc +++ b/data/bored-face.pose/mcdoc/data.mcdoc @@ -6,7 +6,7 @@ dispatch minecraft:storage[bored-face.pose:data] to struct { format: int, /// All the P.O.S.E. registries - registries: [RegistryBase], + registries: [RegistryIndex], /// The currently loaded registries. /// This is used to determine which registries are removed or added after a reload. loaded_registries: [LoadedRegistry], @@ -29,6 +29,14 @@ struct LoadedRegistry { entries: [RegistryEntry], } +struct RegistryIndex { + ...RegistryBase, + + /// The index of the registry in the registries list. + /// Gets set automatically when the registry is loaded. + index?: int, +} + /// A single entry in a P.O.S.E. registry struct RegistryEntry { /// The display name From da43907299414112873dd20b0dd394ff9bc990e4 Mon Sep 17 00:00:00 2001 From: Kesuaheli Date: Mon, 23 Jun 2025 00:09:19 +0200 Subject: [PATCH 3/7] feat(smartphone): smartphone dialog A dialog that shows all loaded registries --- .../engine/registry/entry/load.mcfunction | 5 +- .../function/engine/registry/load.mcfunction | 7 ++ .../engine/registry/load_button.mcfunction | 2 + .../engine/registry/load_macro.mcfunction | 1 + .../engine/reload_smartphone.mcfunction | 1 + .../engine/show_entries_registry.mcfunction | 3 +- .../function/engine/show_prompt.mcfunction | 12 +- .../engine/show_prompt_entry.mcfunction | 25 ++++ .../engine/show_prompt_with_item.mcfunction | 7 ++ .../show_prompt_without_item.mcfunction | 4 + .../function/load/footer.mcfunction | 6 - .../function/load/title.mcfunction | 117 ------------------ .../function/smartphone.mcfunction | 39 +++++- data/bored-face.pose/function/tick.mcfunction | 2 +- data/bored-face.pose/mcdoc/data.mcdoc | 17 +++ data/bored-face.pose/mcdoc/smartphone.mcdoc | 19 +-- 16 files changed, 118 insertions(+), 149 deletions(-) create mode 100644 data/bored-face.pose/function/engine/registry/load_button.mcfunction create mode 100644 data/bored-face.pose/function/engine/show_prompt_entry.mcfunction create mode 100644 data/bored-face.pose/function/engine/show_prompt_with_item.mcfunction create mode 100644 data/bored-face.pose/function/engine/show_prompt_without_item.mcfunction delete mode 100644 data/bored-face.pose/function/load/footer.mcfunction delete mode 100644 data/bored-face.pose/function/load/title.mcfunction diff --git a/data/bored-face.pose/function/engine/registry/entry/load.mcfunction b/data/bored-face.pose/function/engine/registry/entry/load.mcfunction index f29a4f3..cd7d15e 100644 --- a/data/bored-face.pose/function/engine/registry/entry/load.mcfunction +++ b/data/bored-face.pose/function/engine/registry/entry/load.mcfunction @@ -1,5 +1,8 @@ -# Copy the index back to the data storage to not have to write it later when using it. +# Copy the index and registry values to the entry to not have to write it later when using it. +# We cant write the registry index here because it may or may not change when the registry is reloaded. execute store result storage bored-face.pose:data loaded_registries[0].entries[0].index int 1 run scoreboard players get $loop_inner bored-face.pose.loop +data modify storage bored-face.pose:data loaded_registries[0].entries[0].registry_id set from storage bored-face.pose:data loaded_registries[0].id +data modify storage bored-face.pose:data loaded_registries[0].entries[0].registry_name set from storage bored-face.pose:data loaded_registries[0].name # Build the button in tmp.button data modify storage bored-face.pose:smartphone tmp.button.label set from storage bored-face.pose:data loaded_registries[0].entries[0].name diff --git a/data/bored-face.pose/function/engine/registry/load.mcfunction b/data/bored-face.pose/function/engine/registry/load.mcfunction index 988cac3..bce0a88 100644 --- a/data/bored-face.pose/function/engine/registry/load.mcfunction +++ b/data/bored-face.pose/function/engine/registry/load.mcfunction @@ -1,6 +1,13 @@ # Copy the index back to the data storage to not have to write it later when using it. execute store result storage bored-face.pose:data registries[0].index int 1 run scoreboard players get $loop bored-face.pose.loop +# Build the button in tmp.button +data modify storage bored-face.pose:smartphone tmp.button.label set from storage bored-face.pose:data registries[0].name +data modify storage bored-face.pose:smartphone tmp.button.action.type set value "run_command" +# Build the button with macros +function bored-face.pose:engine/registry/load_button with storage bored-face.pose:data registries[0] +data modify storage bored-face.pose:smartphone actions append from storage bored-face.pose:smartphone tmp.button + function bored-face.pose:engine/registry/load_macro with storage bored-face.pose:data registries[0] # continue loop diff --git a/data/bored-face.pose/function/engine/registry/load_button.mcfunction b/data/bored-face.pose/function/engine/registry/load_button.mcfunction new file mode 100644 index 0000000..fbaa72d --- /dev/null +++ b/data/bored-face.pose/function/engine/registry/load_button.mcfunction @@ -0,0 +1,2 @@ +# Build the button in tmp.button +$data modify storage bored-face.pose:smartphone tmp.button.action.command set value "trigger bored-face.pose.registry set $(index)" diff --git a/data/bored-face.pose/function/engine/registry/load_macro.mcfunction b/data/bored-face.pose/function/engine/registry/load_macro.mcfunction index fe07638..36ae43d 100644 --- a/data/bored-face.pose/function/engine/registry/load_macro.mcfunction +++ b/data/bored-face.pose/function/engine/registry/load_macro.mcfunction @@ -6,6 +6,7 @@ data modify storage bored-face.pose:data loaded_registries prepend from storage $scoreboard objectives add bored-face.pose.$(id)_prompt trigger {text: "P.O.S.E. Registry: ", extra: [$(name), {text: " (prompt)"}], color: "gray", italic: true} $scoreboard objectives add bored-face.pose.$(id) trigger {text: "P.O.S.E. Registry: ", extra: [$(name)]} +$data remove storage bored-face.pose:smartphone registries[{id:"$(id)"}] data modify storage bored-face.pose:smartphone registries prepend from storage bored-face.pose:data registries[0] $function #bored-face.pose:$(id)/add_entries diff --git a/data/bored-face.pose/function/engine/reload_smartphone.mcfunction b/data/bored-face.pose/function/engine/reload_smartphone.mcfunction index a116901..676a17d 100644 --- a/data/bored-face.pose/function/engine/reload_smartphone.mcfunction +++ b/data/bored-face.pose/function/engine/reload_smartphone.mcfunction @@ -1,4 +1,5 @@ data remove storage bored-face.pose:data registries +data remove storage bored-face.pose:smartphone actions function #bored-face.pose:load diff --git a/data/bored-face.pose/function/engine/show_entries_registry.mcfunction b/data/bored-face.pose/function/engine/show_entries_registry.mcfunction index 8647edb..f3f2ae1 100644 --- a/data/bored-face.pose/function/engine/show_entries_registry.mcfunction +++ b/data/bored-face.pose/function/engine/show_entries_registry.mcfunction @@ -11,5 +11,6 @@ $dialog show @s { \ columns: 1, \ exit_action: { \ label: {translate: "gui.back"}, \ - },\ + action: {type: "run_command", command: "trigger bored-face.pose.smartphone"}, \ + }, \ } diff --git a/data/bored-face.pose/function/engine/show_prompt.mcfunction b/data/bored-face.pose/function/engine/show_prompt.mcfunction index de20ceb..0d61b20 100644 --- a/data/bored-face.pose/function/engine/show_prompt.mcfunction +++ b/data/bored-face.pose/function/engine/show_prompt.mcfunction @@ -1 +1,11 @@ -$function #bored-face.pose:$(id)/show_prompt with storage bored-face.pose:data loaded_registries[{id:"$(id)"}].entries[$(index)] +# we have to copy the registry index here at runtine because it may have changed when the registry was reloaded +$data modify storage bored-face.pose:data loaded_registries[{id:"$(id)"}].entries[$(index)].registry_index set from storage bored-face.pose:data registries[{id:"$(id)"}].index + +$data modify storage bored-face.pose:data loaded_registries[{id:"$(id)"}].entry_name set from storage bored-face.pose:data loaded_registries[{id:"$(id)"}].entries[$(index)].name + +$execute if data storage bored-face.pose:data loaded_registries[{id:"$(id)"}].item run \ + function bored-face.pose:engine/show_prompt_with_item with storage bored-face.pose:data loaded_registries[{id:"$(id)"}] +$execute unless data storage bored-face.pose:data loaded_registries[{id:"$(id)"}].item run \ + function bored-face.pose:engine/show_prompt_without_item with storage bored-face.pose:data loaded_registries[{id:"$(id)"}] + +$function bored-face.pose:engine/show_prompt_entry with storage bored-face.pose:data loaded_registries[{id:"$(id)"}].entries[$(index)] diff --git a/data/bored-face.pose/function/engine/show_prompt_entry.mcfunction b/data/bored-face.pose/function/engine/show_prompt_entry.mcfunction new file mode 100644 index 0000000..d40ca3c --- /dev/null +++ b/data/bored-face.pose/function/engine/show_prompt_entry.mcfunction @@ -0,0 +1,25 @@ +$dialog show @s {\ + type: "minecraft:confirmation", \ + title: $(registry_name), \ + body: [ \ + $(prompt_body), \ + { \ + type: "minecraft:plain_message", \ + contents: $(description), \ + }, \ + ], \ + no: { \ + label: {translate: "gui.back"}, \ + action: { \ + type: "run_command", \ + command: "trigger bored-face.pose.registry set $(registry_index)", \ + }, \ + }, \ + yes: { \ + label: {translate: "gui.yes"}, \ + action: { \ + type: "run_command", \ + command: "trigger bored-face.pose.$(registry_id) set $(index)", \ + }, \ + }, \ +} diff --git a/data/bored-face.pose/function/engine/show_prompt_with_item.mcfunction b/data/bored-face.pose/function/engine/show_prompt_with_item.mcfunction new file mode 100644 index 0000000..4bb268c --- /dev/null +++ b/data/bored-face.pose/function/engine/show_prompt_with_item.mcfunction @@ -0,0 +1,7 @@ +$data modify storage bored-face.pose:data loaded_registries[{id:"$(id)"}].entries[$(index)].prompt_body set value { \ + type: "minecraft:item", \ + item: $(item), \ + show_tooltip: false, \ + description: $(entry_name), \ + height: 35, \ +} diff --git a/data/bored-face.pose/function/engine/show_prompt_without_item.mcfunction b/data/bored-face.pose/function/engine/show_prompt_without_item.mcfunction new file mode 100644 index 0000000..c6e59f1 --- /dev/null +++ b/data/bored-face.pose/function/engine/show_prompt_without_item.mcfunction @@ -0,0 +1,4 @@ +$data modify storage bored-face.pose:data loaded_registries[{id:"$(id)"}].entries[$(index)].prompt_body set value { \ + type: "minecraft:plain_message", \ + contents: $(entry_name), \ +} diff --git a/data/bored-face.pose/function/load/footer.mcfunction b/data/bored-face.pose/function/load/footer.mcfunction deleted file mode 100644 index 78eaed9..0000000 --- a/data/bored-face.pose/function/load/footer.mcfunction +++ /dev/null @@ -1,6 +0,0 @@ -execute unless data storage bored-face.pose:smartphone nav_bar.player.icon.text run \ - data modify storage bored-face.pose:smartphone nav_bar.player.icon set value {text: "\u0005", font: "bored-face.pose:icon", color: "red"} -execute unless data storage bored-face.pose:smartphone nav_bar.cape.icon.text run \ - data modify storage bored-face.pose:smartphone nav_bar.cape.icon set value {text: "\u0006", font: "bored-face.pose:icon", color: "green"} -execute unless data storage bored-face.pose:smartphone nav_bar.skin.icon.text run \ - data modify storage bored-face.pose:smartphone nav_bar.skin.icon set value {text: "\u0007", font: "bored-face.pose:icon", color: "blue"} diff --git a/data/bored-face.pose/function/load/title.mcfunction b/data/bored-face.pose/function/load/title.mcfunction deleted file mode 100644 index 6c5a885..0000000 --- a/data/bored-face.pose/function/load/title.mcfunction +++ /dev/null @@ -1,117 +0,0 @@ -data modify storage bored-face.pose:data title set value [ \ - { \ - id: "title", \ - name: { \ - text: "\u0005", \ - font: "bored-face.pose:space_neg", \ - color: "white", \ - extra: [ \ - { text: "\u0003", font: "bored-face.pose:icon" }, \ - { text: "\u0001" }, \ - { text: "\u0004", font: "bored-face.pose:icon" } \ - ] \ - }, \ - }, \ - { \ - id: "title", \ - name: { \ - text: "\u0005", \ - font: "bored-face.pose:space_neg", \ - extra: [ \ - { \ - text: "\u0064\u0013", \ - font: "bored-face.pose:space_pos" \ - } \ - ] \ - }, \ - }, \ - { name: {text: ""}}, \ - { \ - name: { \ - text: "", \ - color: "#696969" \ - } \ - }, \ - { name: {text: ""}}, \ - { name: {text: ""}}, \ - { name: {text: ""}}, \ - { name: {text: ""}}, \ - { name: {text: ""}}, \ - { name: {text: ""}}, \ - { name: {text: ""}}, \ - \ - {name: {text: "", extra: [ \ - {text: "\u000d", font: "bored-face.pose:space_neg"},\ - {translate: "gui.bored-face.pose.smartphone.title.welcome_1", fallback: ""} \ - ]}}, \ - {name: {text: "", extra: [ \ - {text: "\u000d", font: "bored-face.pose:space_neg"},\ - {translate: "gui.bored-face.pose.smartphone.title.welcome_2", fallback: ""} \ - ]}}, \ - {name: {text: "", extra: [ \ - {text: "\u000d", font: "bored-face.pose:space_neg"},\ - {translate: "gui.bored-face.pose.smartphone.title.welcome_3", fallback: ""} \ - ]}}, \ - {name: {text: "", extra: [ \ - {text: "\u000d", font: "bored-face.pose:space_neg"},\ - {translate: "gui.bored-face.pose.smartphone.title.welcome_4", fallback: ""} \ - ]}}, \ - {name: {text: "", extra: [ \ - {text: "\u000d", font: "bored-face.pose:space_neg"},\ - {translate: "gui.bored-face.pose.smartphone.title.welcome_5", fallback: ""} \ - ]}}, \ - {name: {text: "", extra: [ \ - {text: "\u000d", font: "bored-face.pose:space_neg"},\ - {translate: "gui.bored-face.pose.smartphone.title.welcome_6", fallback: ""} \ - ]}}, \ - {name: {text: "", extra: [ \ - {text: "\u000d", font: "bored-face.pose:space_neg"},\ - {translate: "gui.bored-face.pose.smartphone.title.welcome_7", fallback: ""} \ - ]}}, \ - {name: {text: "", extra: [ \ - {text: "\u000d", font: "bored-face.pose:space_neg"},\ - {translate: "gui.bored-face.pose.smartphone.title.welcome_8", fallback: ""} \ - ]}}, \ - {name: {text: "", extra: [ \ - {text: "\u000d", font: "bored-face.pose:space_neg"},\ - {translate: "gui.bored-face.pose.smartphone.title.welcome_9", fallback: ""} \ - ]}}, \ - {name: {text: "", extra: [ \ - {text: "\u000d", font: "bored-face.pose:space_neg"},\ - {translate: "gui.bored-face.pose.smartphone.title.welcome_10", fallback: ""} \ - ]}}, \ - {name: {text: "", extra: [ \ - {text: "\u000d", font: "bored-face.pose:space_neg"},\ - {translate: "gui.bored-face.pose.smartphone.title.welcome_11", fallback: ""} \ - ]}}, \ - \ - {name: {text: "", extra: [ \ - {text: "\u000b", font: "bored-face.pose:space_neg"},\ - {text: "\u0005", font: "bored-face.pose:icon", color: "red"}, \ - {translate: "gui.bored-face.pose.smartphone.title.nav_bar.pose_1", color: "#bb0000", fallback: ""} \ - ]}}, \ - {name: {translate: "gui.bored-face.pose.smartphone.title.nav_bar.pose_2", color: "#bb0000", fallback: ""}}, \ - {name: {translate: "gui.bored-face.pose.smartphone.title.nav_bar.pose_3", color: "#bb0000", fallback: ""}}, \ - {name: {text: "", extra: [ \ - {text: "\u0009\u0001", font: "bored-face.pose:space_neg"},\ - {text: "\u0006", font: "bored-face.pose:icon", color: "green"}, \ - {translate: "gui.bored-face.pose.smartphone.title.nav_bar.cape_1", color: "#00bb00", fallback: ""} \ - ]}}, \ - {name: {translate: "gui.bored-face.pose.smartphone.title.nav_bar.cape_2", color: "#00bb00", fallback: ""}}, \ - {name: {translate: "gui.bored-face.pose.smartphone.title.nav_bar.cape_3", color: "#00bb00", fallback: ""}}, \ - {name: {text: "", extra: [ \ - {text: "\u000e", font: "bored-face.pose:space_neg"},\ - {text: "\u0007", font: "bored-face.pose:icon", color: "blue"}, \ - {translate: "gui.bored-face.pose.smartphone.title.nav_bar.skin_1", color: "#0000bb", fallback: ""} \ - ]}}, \ - {name: {translate: "gui.bored-face.pose.smartphone.title.nav_bar.skin_2", color: "#0000bb", fallback: ""}}, \ - {name: {translate: "gui.bored-face.pose.smartphone.title.nav_bar.skin_3", color: "#0000bb", fallback: ""}}, \ - {name: {text: "", extra: [ \ - {text: "\u000d", font: "bored-face.pose:space_neg"},\ - {translate: "gui.bored-face.pose.smartphone.title.nav_bar_1", fallback: ""} \ - ]}}, \ - {name: {text: "", extra: [ \ - {text: "\u000d", font: "bored-face.pose:space_neg"},\ - {translate: "gui.bored-face.pose.smartphone.title.nav_bar_2", fallback: ""} \ - ]}}, \ -] diff --git a/data/bored-face.pose/function/smartphone.mcfunction b/data/bored-face.pose/function/smartphone.mcfunction index 14d68fa..4cfbe04 100644 --- a/data/bored-face.pose/function/smartphone.mcfunction +++ b/data/bored-face.pose/function/smartphone.mcfunction @@ -1,7 +1,36 @@ scoreboard players reset @s bored-face.pose.smartphone -clear @s *[minecraft:custom_data={bored-face.pose:{smartphone:{}}}] -summon minecraft:item ~ ~ ~ {Item: {id: "minecraft:written_book"}, Tags: ["bored-face.pose.smartphone"], PickupDelay:0} - -item modify entity @n[type=minecraft:item, tag=bored-face.pose.smartphone, distance=..0.1] contents bored-face.pose:smartphone -data modify entity @n[type=minecraft:item, tag=bored-face.pose.smartphone, distance=..0.1] Item.components.minecraft:written_book_content.pages set from storage bored-face.pose:smartphone pages +$dialog show @s { \ + title: "P.O.S.E. - Player Origin Statue Engine", \ + type: "minecraft:multi_action", \ + body: [ \ + { \ + type: "minecraft:plain_message", \ + contents: { \ + text: "\n",\ + extra: [ \ + { \ + text: "\u0005", \ + font: "bored-face.pose:space_neg", \ + color: "white", \ + extra: [ \ + { text: "\u0003", font: "bored-face.pose:icon" }, \ + { text: "\u0001" }, \ + { text: "\u0004", font: "bored-face.pose:icon" } \ + ] \ + }, \ + {text: "\n\n"}, \ + { \ + text: "Version 2.0", \ + color: "#696969" \ + }, \ + ],\ + }, \ + }, \ + ], \ + actions: $(actions), \ + columns: 1, \ + exit_action: { \ + label: {translate: "gui.back"}, \ + }, \ +} diff --git a/data/bored-face.pose/function/tick.mcfunction b/data/bored-face.pose/function/tick.mcfunction index e0173df..a26ee47 100644 --- a/data/bored-face.pose/function/tick.mcfunction +++ b/data/bored-face.pose/function/tick.mcfunction @@ -1,5 +1,5 @@ scoreboard players enable @a bored-face.pose.smartphone -execute as @a if score @s bored-face.pose.smartphone matches 1.. at @s run function bored-face.pose:smartphone +execute as @a if score @s bored-face.pose.smartphone matches 1.. at @s run function bored-face.pose:smartphone with storage bored-face.pose:smartphone execute as @a if score @s bored-face.pose.registry matches 0.. at @s store result storage bored-face.pose:smartphone tmp.index int 1 run scoreboard players get @s bored-face.pose.registry execute as @a if score @s bored-face.pose.registry matches 0.. at @s run function bored-face.pose:util/get_registry_id_from_index with storage bored-face.pose:smartphone tmp diff --git a/data/bored-face.pose/mcdoc/data.mcdoc b/data/bored-face.pose/mcdoc/data.mcdoc index 3114968..8840b41 100644 --- a/data/bored-face.pose/mcdoc/data.mcdoc +++ b/data/bored-face.pose/mcdoc/data.mcdoc @@ -1,4 +1,5 @@ use ::java::util::text::TextObject +use ::java::world::item::SingleItem dispatch minecraft:storage[bored-face.pose:data] to struct { /// The format version of the data structure @@ -20,6 +21,11 @@ struct RegistryBase { name: TextObject, /// The description of the registry description: TextObject, + + /// The item template string fo previewing an entry of the registry. + /// Supports entriy macros like `$(id)` for the entry's ID. + /// If not set, only the name and description will be shown. + item?: SingleItem } struct LoadedRegistry { @@ -46,6 +52,17 @@ struct RegistryEntry { /// The identifier. /// Used for the resource location of the item definition and to the call the the function. id: #[match_regex="^[a-z0-9_]+$"] string, + /// The index of the entry in the registry. + /// Will be set automatically when the registry is loaded. index?: int, + /// The registry id this entry belongs to. + /// Will be set automatically when the registry is loaded. + registry_id?: #[bored_face_pose] string, + /// The index of the registry in the registries list. + /// Will be set automatically when the registry is loaded. + registry_index?: int, + /// The name of the registry this entry belongs to. + /// Will be set automatically when the registry is loaded. + registry_name?: string, } diff --git a/data/bored-face.pose/mcdoc/smartphone.mcdoc b/data/bored-face.pose/mcdoc/smartphone.mcdoc index 83b44cb..ca26722 100644 --- a/data/bored-face.pose/mcdoc/smartphone.mcdoc +++ b/data/bored-face.pose/mcdoc/smartphone.mcdoc @@ -5,23 +5,8 @@ use super::data::RegistryBase dispatch minecraft:storage[bored-face.pose:smartphone] to struct { registries: [SmartphoneRegistry], - - - /// DEPRECATED: The title - title?: any, - - /// DEPRECATED: List of available players poses - players?: any, - /// DEPRECATED: List of available capes - capes?: any, - /// DEPRECATED: List of available skins - skins: any, - - /// DEPRECATED: list of pages - pages?: any, - - /// DEPRECATED: navigation footer - nav_bar?: any, + /// The dialog buttons for each registry + actions: [Button], /// Temporary data tmp: Tmp, From e0072adb56e7cf06a137646880fcca85c894f036 Mon Sep 17 00:00:00 2001 From: Kesuaheli Date: Sat, 26 Jul 2025 21:46:07 +0200 Subject: [PATCH 4/7] fix(smartphone): fix dynamic item preview --- data/bored-face.pose/function/engine/show_prompt.mcfunction | 1 + data/bored-face.pose/mcdoc/data.mcdoc | 3 +-- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/data/bored-face.pose/function/engine/show_prompt.mcfunction b/data/bored-face.pose/function/engine/show_prompt.mcfunction index 0d61b20..9f37d8d 100644 --- a/data/bored-face.pose/function/engine/show_prompt.mcfunction +++ b/data/bored-face.pose/function/engine/show_prompt.mcfunction @@ -3,6 +3,7 @@ $data modify storage bored-face.pose:data loaded_registries[{id:"$(id)"}].entrie $data modify storage bored-face.pose:data loaded_registries[{id:"$(id)"}].entry_name set from storage bored-face.pose:data loaded_registries[{id:"$(id)"}].entries[$(index)].name +$function #bored-face.pose:$(id)/item with storage bored-face.pose:data loaded_registries[{id:"$(id)"}].entries[$(index)] $execute if data storage bored-face.pose:data loaded_registries[{id:"$(id)"}].item run \ function bored-face.pose:engine/show_prompt_with_item with storage bored-face.pose:data loaded_registries[{id:"$(id)"}] $execute unless data storage bored-face.pose:data loaded_registries[{id:"$(id)"}].item run \ diff --git a/data/bored-face.pose/mcdoc/data.mcdoc b/data/bored-face.pose/mcdoc/data.mcdoc index 8840b41..f0feffd 100644 --- a/data/bored-face.pose/mcdoc/data.mcdoc +++ b/data/bored-face.pose/mcdoc/data.mcdoc @@ -23,9 +23,8 @@ struct RegistryBase { description: TextObject, /// The item template string fo previewing an entry of the registry. - /// Supports entriy macros like `$(id)` for the entry's ID. /// If not set, only the name and description will be shown. - item?: SingleItem + item?: SingleItem, } struct LoadedRegistry { From 9a3242b111cab6c04a3d92b4d8f98fe8099cf9d3 Mon Sep 17 00:00:00 2001 From: Kesuaheli Date: Sat, 26 Jul 2025 21:46:44 +0200 Subject: [PATCH 5/7] feat(smartphone): added admin reload window --- .../bored-face.pose/function/admin.mcfunction | 37 +++++++++++++++++++ .../function/engine/registry/load.mcfunction | 7 ++++ .../registry/load_button_admin.mcfunction | 2 + .../engine/reload_smartphone.mcfunction | 1 + .../function/reload_registry.mcfunction | 8 ++++ data/bored-face.pose/mcdoc/smartphone.mcdoc | 2 + 6 files changed, 57 insertions(+) create mode 100644 data/bored-face.pose/function/admin.mcfunction create mode 100644 data/bored-face.pose/function/engine/registry/load_button_admin.mcfunction create mode 100644 data/bored-face.pose/function/reload_registry.mcfunction diff --git a/data/bored-face.pose/function/admin.mcfunction b/data/bored-face.pose/function/admin.mcfunction new file mode 100644 index 0000000..d792497 --- /dev/null +++ b/data/bored-face.pose/function/admin.mcfunction @@ -0,0 +1,37 @@ + +$dialog show @s { \ + title: "P.O.S.E. - Admin", \ + type: "minecraft:multi_action", \ + body: [ \ + { \ + type: "minecraft:plain_message", \ + contents: { \ + text: "\n", \ + extra: [ \ + { \ + text: "\u0005", \ + font: "bored-face.pose:space_neg", \ + color: "white", \ + extra: [ \ + { text: "\u0003", font: "bored-face.pose:icon" }, \ + { text: "\u0001" }, \ + { text: "\u0004", font: "bored-face.pose:icon" } \ + ] \ + }, \ + ], \ + }, \ + }, \ + { \ + type: "minecraft:plain_message", \ + contents: { \ + text: "Version 2.0", \ + color: "#696969", \ + }, \ + }, \ + ], \ + actions: $(admin_actions), \ + columns: 1, \ + exit_action: { \ + label: {translate: "gui.cancel"}, \ + }, \ +} diff --git a/data/bored-face.pose/function/engine/registry/load.mcfunction b/data/bored-face.pose/function/engine/registry/load.mcfunction index bce0a88..de22561 100644 --- a/data/bored-face.pose/function/engine/registry/load.mcfunction +++ b/data/bored-face.pose/function/engine/registry/load.mcfunction @@ -8,6 +8,13 @@ data modify storage bored-face.pose:smartphone tmp.button.action.type set value function bored-face.pose:engine/registry/load_button with storage bored-face.pose:data registries[0] data modify storage bored-face.pose:smartphone actions append from storage bored-face.pose:smartphone tmp.button +# Build the admin button in tmp.button +data modify storage bored-face.pose:smartphone tmp.button.label set from storage bored-face.pose:data registries[0].name +data modify storage bored-face.pose:smartphone tmp.button.action.type set value "run_command" +# Build the admin button with macros +function bored-face.pose:engine/registry/load_button_admin with storage bored-face.pose:data registries[0] +data modify storage bored-face.pose:smartphone admin_actions append from storage bored-face.pose:smartphone tmp.button + function bored-face.pose:engine/registry/load_macro with storage bored-face.pose:data registries[0] # continue loop diff --git a/data/bored-face.pose/function/engine/registry/load_button_admin.mcfunction b/data/bored-face.pose/function/engine/registry/load_button_admin.mcfunction new file mode 100644 index 0000000..b3d2bbd --- /dev/null +++ b/data/bored-face.pose/function/engine/registry/load_button_admin.mcfunction @@ -0,0 +1,2 @@ +# Build the admin button in tmp.button +$data modify storage bored-face.pose:smartphone tmp.button.action.command set value "function bored-face.pose:reload_registry {id: $(id)}" diff --git a/data/bored-face.pose/function/engine/reload_smartphone.mcfunction b/data/bored-face.pose/function/engine/reload_smartphone.mcfunction index 676a17d..a823334 100644 --- a/data/bored-face.pose/function/engine/reload_smartphone.mcfunction +++ b/data/bored-face.pose/function/engine/reload_smartphone.mcfunction @@ -1,5 +1,6 @@ data remove storage bored-face.pose:data registries data remove storage bored-face.pose:smartphone actions +data remove storage bored-face.pose:smartphone admin_actions function #bored-face.pose:load diff --git a/data/bored-face.pose/function/reload_registry.mcfunction b/data/bored-face.pose/function/reload_registry.mcfunction new file mode 100644 index 0000000..54d0446 --- /dev/null +++ b/data/bored-face.pose/function/reload_registry.mcfunction @@ -0,0 +1,8 @@ +$tellraw @s {text: "Reloading registry '$(id)'..."} + +# simulate the unloading of the registry +$data remove storage bored-face.pose:data registries[{id: "$(id)"}] +$function bored-face.pose:engine/registry/remove_macro with storage bored-face.pose:data loaded_registries[{id: "$(id)"}] + +# reloading all registries adds our registry again, because it wasn't really removed and is still present +function bored-face.pose:engine/reload_smartphone diff --git a/data/bored-face.pose/mcdoc/smartphone.mcdoc b/data/bored-face.pose/mcdoc/smartphone.mcdoc index ca26722..0a89687 100644 --- a/data/bored-face.pose/mcdoc/smartphone.mcdoc +++ b/data/bored-face.pose/mcdoc/smartphone.mcdoc @@ -7,6 +7,8 @@ dispatch minecraft:storage[bored-face.pose:smartphone] to struct { registries: [SmartphoneRegistry], /// The dialog buttons for each registry actions: [Button], + /// The admin button for each registry + admin_actions: [Button], /// Temporary data tmp: Tmp, From 36f47f64131e81c279fae5ef31df6cb3a508ebce Mon Sep 17 00:00:00 2001 From: Kesuaheli Date: Sun, 27 Jul 2025 17:25:00 +0200 Subject: [PATCH 6/7] feat(smartphone): readded default pose packs This reimplements commit 83b8887cb625b3845e4486bd04212e8997bbe327 --- .../function/add_entries.mcfunction | 165 ++++++++++++ .../function/item.mcfunction | 12 + .../function/load_pose.mcfunction | 11 + .../function/run.mcfunction | 7 + .../function/tool/update_cape.mcfunction | 5 + .../tool/update_cape_macro.mcfunction | 1 + .../function/add_entries.mcfunction | 35 +++ .../function/load_pose.mcfunction | 11 + .../function/players/cardboard.mcfunction | 152 +++++++++++ .../function/players/handstand.mcfunction | 120 +++++++++ .../function/players/happy.mcfunction | 113 ++++++++ .../function/players/high_five.mcfunction | 241 ++++++++++++++++++ .../function/players/normal.mcfunction | 120 +++++++++ .../function/players/run.mcfunction | 120 +++++++++ .../function/players/sneak.mcfunction | 121 +++++++++ .../function/run.mcfunction | 3 + .../function/add_entries.mcfunction | 26 ++ .../function/item.mcfunction | 7 + .../function/load_pose.mcfunction | 11 + .../function/run.mcfunction | 4 + .../function/tool/update_capes.mcfunction | 2 - .../function/bored-face.cape/add_entries.json | 5 + .../tags/function/bored-face.cape/item.json | 5 + .../tags/function/bored-face.cape/run.json | 5 + .../bored-face.player/add_entries.json | 5 + .../tags/function/bored-face.player/run.json | 5 + .../function/bored-face.skin/add_entries.json | 5 + .../tags/function/bored-face.skin/item.json | 5 + .../tags/function/bored-face.skin/run.json | 5 + data/bored-face.pose/tags/function/load.json | 6 +- 30 files changed, 1330 insertions(+), 3 deletions(-) create mode 100644 data/bored-face.pose.cape/function/add_entries.mcfunction create mode 100644 data/bored-face.pose.cape/function/item.mcfunction create mode 100644 data/bored-face.pose.cape/function/load_pose.mcfunction create mode 100644 data/bored-face.pose.cape/function/run.mcfunction create mode 100644 data/bored-face.pose.cape/function/tool/update_cape.mcfunction create mode 100644 data/bored-face.pose.cape/function/tool/update_cape_macro.mcfunction create mode 100644 data/bored-face.pose.player/function/add_entries.mcfunction create mode 100644 data/bored-face.pose.player/function/load_pose.mcfunction create mode 100644 data/bored-face.pose.player/function/players/cardboard.mcfunction create mode 100644 data/bored-face.pose.player/function/players/handstand.mcfunction create mode 100644 data/bored-face.pose.player/function/players/happy.mcfunction create mode 100644 data/bored-face.pose.player/function/players/high_five.mcfunction create mode 100644 data/bored-face.pose.player/function/players/normal.mcfunction create mode 100644 data/bored-face.pose.player/function/players/run.mcfunction create mode 100644 data/bored-face.pose.player/function/players/sneak.mcfunction create mode 100644 data/bored-face.pose.player/function/run.mcfunction create mode 100644 data/bored-face.pose.skin/function/add_entries.mcfunction create mode 100644 data/bored-face.pose.skin/function/item.mcfunction create mode 100644 data/bored-face.pose.skin/function/load_pose.mcfunction create mode 100644 data/bored-face.pose.skin/function/run.mcfunction delete mode 100644 data/bored-face.pose/function/tool/update_capes.mcfunction create mode 100644 data/bored-face.pose/tags/function/bored-face.cape/add_entries.json create mode 100644 data/bored-face.pose/tags/function/bored-face.cape/item.json create mode 100644 data/bored-face.pose/tags/function/bored-face.cape/run.json create mode 100644 data/bored-face.pose/tags/function/bored-face.player/add_entries.json create mode 100644 data/bored-face.pose/tags/function/bored-face.player/run.json create mode 100644 data/bored-face.pose/tags/function/bored-face.skin/add_entries.json create mode 100644 data/bored-face.pose/tags/function/bored-face.skin/item.json create mode 100644 data/bored-face.pose/tags/function/bored-face.skin/run.json diff --git a/data/bored-face.pose.cape/function/add_entries.mcfunction b/data/bored-face.pose.cape/function/add_entries.mcfunction new file mode 100644 index 0000000..dcd9acc --- /dev/null +++ b/data/bored-face.pose.cape/function/add_entries.mcfunction @@ -0,0 +1,165 @@ +data modify storage bored-face.pose:data loaded_registries[0].entries append value { \ + id: "none", \ + name: {translate: "resource.bored-face.pose.cape.none.name"}, \ + description: {translate: "resource.bored-face.pose.cape.none.description"}, \ +} +data modify storage bored-face.pose:data loaded_registries[0].entries append value { \ + id: "bored", \ + name: {translate: "resource.bored-face.pose.cape.bored.name"}, \ + description: {translate: "resource.bored-face.pose.cape.bored.description"}, \ +} +data modify storage bored-face.pose:data loaded_registries[0].entries append value { \ + id: "15th_anniversary", \ + name: {translate: "resource.bored-face.pose.cape.15th_anniversary.name"}, \ + description: {translate: "resource.bored-face.pose.cape.15th_anniversary.description"}, \ +} +data modify storage bored-face.pose:data loaded_registries[0].entries append value { \ + id: "birthday", \ + name: {translate: "resource.bored-face.pose.cape.birthday.name"}, \ + description: {translate: "resource.bored-face.pose.cape.birthday.description"}, \ +} +data modify storage bored-face.pose:data loaded_registries[0].entries append value { \ + id: "cherry_blossom", \ + name: {translate: "resource.bored-face.pose.cape.cherry_blossom.name"}, \ + description: {translate: "resource.bored-face.pose.cape.cherry_blossom.description"}, \ +} +data modify storage bored-face.pose:data loaded_registries[0].entries append value { \ + id: "cobalt", \ + name: {translate: "resource.bored-face.pose.cape.cobalt.name"}, \ + description: {translate: "resource.bored-face.pose.cape.cobalt.description"}, \ +} +data modify storage bored-face.pose:data loaded_registries[0].entries append value { \ + id: "db", \ + name: {translate: "resource.bored-face.pose.cape.db.name"}, \ + description: {translate: "resource.bored-face.pose.cape.db.description"}, \ +} +data modify storage bored-face.pose:data loaded_registries[0].entries append value { \ + id: "followers", \ + name: {translate: "resource.bored-face.pose.cape.followers.name"}, \ + description: {translate: "resource.bored-face.pose.cape.followers.description"}, \ +} +data modify storage bored-face.pose:data loaded_registries[0].entries append value { \ + id: "mcc_15th_year", \ + name: {translate: "resource.bored-face.pose.cape.mcc_15th_year.name"}, \ + description: {translate: "resource.bored-face.pose.cape.mcc_15th_year.description"}, \ +} +data modify storage bored-face.pose:data loaded_registries[0].entries append value { \ + id: "migrator", \ + name: {translate: "resource.bored-face.pose.cape.migrator.name"}, \ + description: {translate: "resource.bored-face.pose.cape.migrator.description"}, \ +} +data modify storage bored-face.pose:data loaded_registries[0].entries append value { \ + id: "millionth_customer", \ + name: {translate: "resource.bored-face.pose.cape.millionth_customer.name"}, \ + description: {translate: "resource.bored-face.pose.cape.millionth_customer.description"}, \ +} +data modify storage bored-face.pose:data loaded_registries[0].entries append value { \ + id: "minecon_2011", \ + name: {translate: "resource.bored-face.pose.cape.minecon_2011.name"}, \ + description: {translate: "resource.bored-face.pose.cape.minecon_2011.description"}, \ +} +data modify storage bored-face.pose:data loaded_registries[0].entries append value { \ + name: {translate: "resource.bored-face.pose.cape.minecon_2012.name"}, \ + description: {translate: "resource.bored-face.pose.cape.minecon_2012.description"}, \ + id: "minecon_2012", \ +} +data modify storage bored-face.pose:data loaded_registries[0].entries append value { \ + id: "minecon_2013", \ + name: {translate: "resource.bored-face.pose.cape.minecon_2013.name"}, \ + description: {translate: "resource.bored-face.pose.cape.minecon_2013.description"}, \ +} +data modify storage bored-face.pose:data loaded_registries[0].entries append value { \ + id: "minecon_2015", \ + name: {translate: "resource.bored-face.pose.cape.minecon_2015.name"}, \ + description: {translate: "resource.bored-face.pose.cape.minecon_2015.description"}, \ +} +data modify storage bored-face.pose:data loaded_registries[0].entries append value { \ + id: "minecon_2016", \ + name: {translate: "resource.bored-face.pose.cape.minecon_2016.name"}, \ + description: {translate: "resource.bored-face.pose.cape.minecon_2016.description"}, \ +} +data modify storage bored-face.pose:data loaded_registries[0].entries append value { \ + id: "minecraft_experience", \ + name: {translate: "resource.bored-face.pose.cape.minecraft_experience.name"}, \ + description: {translate: "resource.bored-face.pose.cape.minecraft_experience.description"}, \ +} +data modify storage bored-face.pose:data loaded_registries[0].entries append value { \ + id: "mojang_classic", \ + name: {translate: "resource.bored-face.pose.cape.mojang_classic.name"}, \ + description: {translate: "resource.bored-face.pose.cape.mojang_classic.description"}, \ +} +data modify storage bored-face.pose:data loaded_registries[0].entries append value { \ + id: "mojang_office", \ + name: {translate: "resource.bored-face.pose.cape.mojang_office.name"}, \ + description: {translate: "resource.bored-face.pose.cape.mojang_office.description"}, \ +} +data modify storage bored-face.pose:data loaded_registries[0].entries append value { \ + id: "mojang_studios", \ + name: {translate: "resource.bored-face.pose.cape.mojang_studios.name"}, \ + description: {translate: "resource.bored-face.pose.cape.mojang_studios.description"}, \ +} +data modify storage bored-face.pose:data loaded_registries[0].entries append value { \ + id: "mojang", \ + name: {translate: "resource.bored-face.pose.cape.mojang.name"}, \ + description: {translate: "resource.bored-face.pose.cape.mojang.description"}, \ +} +data modify storage bored-face.pose:data loaded_registries[0].entries append value { \ + id: "mojira_moderator", \ + name: {translate: "resource.bored-face.pose.cape.mojira_moderator.name"}, \ + description: {translate: "resource.bored-face.pose.cape.mojira_moderator.description"}, \ +} +data modify storage bored-face.pose:data loaded_registries[0].entries append value { \ + id: "prismarine", \ + name: {translate: "resource.bored-face.pose.cape.prismarine.name"}, \ + description: {translate: "resource.bored-face.pose.cape.prismarine.description"}, \ +} +data modify storage bored-face.pose:data loaded_registries[0].entries append value { \ + id: "purple_heart", \ + name: {translate: "resource.bored-face.pose.cape.purple_heart.name"}, \ + description: {translate: "resource.bored-face.pose.cape.purple_heart.description"}, \ +} +data modify storage bored-face.pose:data loaded_registries[0].entries append value { \ + id: "realms_mapmaker", \ + name: {translate: "resource.bored-face.pose.cape.realms_mapmaker.name"}, \ + description: {translate: "resource.bored-face.pose.cape.realms_mapmaker.description"}, \ +} +data modify storage bored-face.pose:data loaded_registries[0].entries append value { \ + id: "scrolls", \ + name: {translate: "resource.bored-face.pose.cape.scrolls.name"}, \ + description: {translate: "resource.bored-face.pose.cape.scrolls.description"}, \ +} +data modify storage bored-face.pose:data loaded_registries[0].entries append value { \ + id: "snowman", \ + name: {translate: "resource.bored-face.pose.cape.snowman.name"}, \ + description: {translate: "resource.bored-face.pose.cape.snowman.description"}, \ +} +data modify storage bored-face.pose:data loaded_registries[0].entries append value { \ + id: "spade", \ + name: {translate: "resource.bored-face.pose.cape.spade.name"}, \ + description: {translate: "resource.bored-face.pose.cape.spade.description"}, \ +} +data modify storage bored-face.pose:data loaded_registries[0].entries append value { \ + id: "test", \ + name: {translate: "resource.bored-face.pose.cape.test.name"}, \ + description: {translate: "resource.bored-face.pose.cape.test.description"}, \ +} +data modify storage bored-face.pose:data loaded_registries[0].entries append value { \ + id: "translator", \ + name: {translate: "resource.bored-face.pose.cape.translator.name"}, \ + description: {translate: "resource.bored-face.pose.cape.translator.description"}, \ +} +data modify storage bored-face.pose:data loaded_registries[0].entries append value { \ + id: "turtle", \ + name: {translate: "resource.bored-face.pose.cape.turtle.name"}, \ + description: {translate: "resource.bored-face.pose.cape.turtle.description"}, \ +} +data modify storage bored-face.pose:data loaded_registries[0].entries append value { \ + id: "valentine", \ + name: {translate: "resource.bored-face.pose.cape.valentine.name"}, \ + description: {translate: "resource.bored-face.pose.cape.valentine.description"}, \ +} +data modify storage bored-face.pose:data loaded_registries[0].entries append value { \ + id: "vanilla", \ + name: {translate: "resource.bored-face.pose.cape.vanilla.name"}, \ + description: {translate: "resource.bored-face.pose.cape.vanilla.description"}, \ +} diff --git a/data/bored-face.pose.cape/function/item.mcfunction b/data/bored-face.pose.cape/function/item.mcfunction new file mode 100644 index 0000000..d4ba395 --- /dev/null +++ b/data/bored-face.pose.cape/function/item.mcfunction @@ -0,0 +1,12 @@ +# detect if the cape id is "none" to not display an item +$data modify storage bored-face.pose:smartphone tmp.id set value "$(id)" +execute store success storage bored-face.pose:smartphone tmp.index int 1 run data modify storage bored-face.pose:smartphone tmp.id set value "none" +$execute if data storage bored-face.pose:smartphone {tmp: {index: 0}} run return run \ + data remove storage bored-face.pose:data loaded_registries[{id:"$(registry_id)"}].item + +$data modify storage bored-face.pose:data loaded_registries[{id:"$(registry_id)"}].item set value { \ + id: "minecraft:barrier", \ + components: { \ + "minecraft:item_model": "bored-face.pose:cape/$(id)", \ + }, \ +} diff --git a/data/bored-face.pose.cape/function/load_pose.mcfunction b/data/bored-face.pose.cape/function/load_pose.mcfunction new file mode 100644 index 0000000..5679205 --- /dev/null +++ b/data/bored-face.pose.cape/function/load_pose.mcfunction @@ -0,0 +1,11 @@ +data modify storage bored-face.pose:data registries append value { \ + id: "bored-face.cape", \ + name: {text: "Capes"}, \ + description: { \ + text: "", \ + extra: [ \ + {text: "\n\u0006\n\n", font: "bored-face.pose:icon", color: "blue" }, \ + {text: "Change the cape of a Bored-Face P.O.S.E."}, \ + ] \ + }, \ +} diff --git a/data/bored-face.pose.cape/function/run.mcfunction b/data/bored-face.pose.cape/function/run.mcfunction new file mode 100644 index 0000000..7e299a1 --- /dev/null +++ b/data/bored-face.pose.cape/function/run.mcfunction @@ -0,0 +1,7 @@ +# called when clicked in the smartphone + +# Update all loaded capes from versions prior to 2.0 +execute as @n[type=minecraft:item_display, distance=..3, nbt={item:{components: {"minecraft:item_model": "bored-face.pose:cape"}}}] run function bored-face.pose.cape:tool/update_cape + +$execute as @n[type=minecraft:item_display, distance=..3, nbt={item:{components: {"minecraft:custom_data": {"cape": {}}}}}] run \ + data modify entity @s item.components.minecraft:item_model set value "bored-face.pose:cape/$(id)" diff --git a/data/bored-face.pose.cape/function/tool/update_cape.mcfunction b/data/bored-face.pose.cape/function/tool/update_cape.mcfunction new file mode 100644 index 0000000..c5b5005 --- /dev/null +++ b/data/bored-face.pose.cape/function/tool/update_cape.mcfunction @@ -0,0 +1,5 @@ +data modify storage bored-face.pose:smartphone tmp.id set from entity @s item.components.minecraft:custom_model_data.strings[0] + +data remove entity @s item.components.minecraft:custom_model_data +function bored-face.pose.cape:tool/update_cape_macro with storage bored-face.pose:smartphone tmp +data modify entity @s item.components.minecraft:custom_data.cape set value {} diff --git a/data/bored-face.pose.cape/function/tool/update_cape_macro.mcfunction b/data/bored-face.pose.cape/function/tool/update_cape_macro.mcfunction new file mode 100644 index 0000000..06b2d5e --- /dev/null +++ b/data/bored-face.pose.cape/function/tool/update_cape_macro.mcfunction @@ -0,0 +1 @@ +$data modify entity @s item.components.minecraft:item_model set value "bored-face.pose:cape/$(id)" diff --git a/data/bored-face.pose.player/function/add_entries.mcfunction b/data/bored-face.pose.player/function/add_entries.mcfunction new file mode 100644 index 0000000..285f8cd --- /dev/null +++ b/data/bored-face.pose.player/function/add_entries.mcfunction @@ -0,0 +1,35 @@ +data modify storage bored-face.pose:data loaded_registries[0].entries append value { \ + id: "normal", \ + name: {translate: "resource.bored-face.pose.player.normal.name"}, \ + description: {translate: "resource.bored-face.pose.player.normal.description"}, \ +} +data modify storage bored-face.pose:data loaded_registries[0].entries append value { \ + id: "cardboard", \ + name: {translate: "resource.bored-face.pose.player.cardboard.name"}, \ + description: {translate: "resource.bored-face.pose.player.cardboard.description"}, \ +} +data modify storage bored-face.pose:data loaded_registries[0].entries append value { \ + id: "handstand", \ + name: {translate: "resource.bored-face.pose.player.handstand.name"}, \ + description: {translate: "resource.bored-face.pose.player.handstand.description"}, \ +} +data modify storage bored-face.pose:data loaded_registries[0].entries append value { \ + id: "happy", \ + name: {translate: "resource.bored-face.pose.player.happy.name"}, \ + description: {translate: "resource.bored-face.pose.player.happy.description"}, \ +} +data modify storage bored-face.pose:data loaded_registries[0].entries append value { \ + id: "high_five", \ + name: {translate: "resource.bored-face.pose.player.high_five.name"}, \ + description: {translate: "resource.bored-face.pose.player.high_five.description"}, \ +} +data modify storage bored-face.pose:data loaded_registries[0].entries append value { \ + id: "run", \ + name: {translate: "resource.bored-face.pose.player.run.name"}, \ + description: {translate: "resource.bored-face.pose.player.run.description"}, \ +} +data modify storage bored-face.pose:data loaded_registries[0].entries append value { \ + id: "sneak", \ + name: {translate: "resource.bored-face.pose.player.sneak.name"}, \ + description: {translate: "resource.bored-face.pose.player.sneak.description"}, \ +} diff --git a/data/bored-face.pose.player/function/load_pose.mcfunction b/data/bored-face.pose.player/function/load_pose.mcfunction new file mode 100644 index 0000000..92b8cb4 --- /dev/null +++ b/data/bored-face.pose.player/function/load_pose.mcfunction @@ -0,0 +1,11 @@ +data modify storage bored-face.pose:data registries append value { \ + id: "bored-face.player", \ + name: {text: "Player Poses"}, \ + description: { \ + text: "", \ + extra: [ \ + {text: "\n\u0005\n\n", font: "bored-face.pose:icon", color: "blue" }, \ + {text: "Create a new Bored-Face P.O.S.E. player"}, \ + ] \ + }, \ +} diff --git a/data/bored-face.pose.player/function/players/cardboard.mcfunction b/data/bored-face.pose.player/function/players/cardboard.mcfunction new file mode 100644 index 0000000..bc104dd --- /dev/null +++ b/data/bored-face.pose.player/function/players/cardboard.mcfunction @@ -0,0 +1,152 @@ +summon minecraft:item_display ~ ~1.133 ~ { \ + Passengers: [ \ + { \ + id: "minecraft:item_display", \ + item: { \ + components: { \ + "minecraft:custom_data": {cape: {}}, \ + "minecraft:item_model": "bored-face.pose:cape/bored", \ + }, \ + count: 1, \ + id: "minecraft:barrier" \ + }, \ + transformation: { \ + left_rotation: [ 2.7852272E-7f, 0.0f, 0.0f, 1.0f ], \ + right_rotation: [ 0.069755964f, 0.0f, 0.0f, 0.9975641f ], \ + scale: [ 1.0000023f, 1.0000033f, 0.012958315f ], \ + translation: [ 0.0f, 0.375f, -0.0016197839f ] \ + } \ + }, \ + { \ + id: "minecraft:item_display", \ + item: { \ + components: { \ + "minecraft:custom_data": {players: {}}, \ + "minecraft:custom_model_data": {strings: [ "leftleg" ]}, \ + "minecraft:item_model": "bored-face.pose:players/default_wide", \ + }, \ + count: 1, \ + id: "minecraft:barrier" \ + }, \ + transformation: { \ + left_rotation: [ 0.0f, 0.0f, 0.0f, 1.0f ], \ + right_rotation: [ 0.0f, 0.0f, 0.0f, 1.0f ], \ + scale: [ 1.0f, 1.0f, 0.012958271f ], \ + translation: [ 0.0f, -0.3737793f, 0.0f ] \ + } \ + }, \ + { \ + id: "minecraft:item_display", \ + item: { \ + components: { \ + "minecraft:custom_data": {players: {}}, \ + "minecraft:custom_model_data": {strings: ["rightarm"]}, \ + "minecraft:item_model": "bored-face.pose:players/default_wide", \ + }, \ + count: 1, \ + id: "minecraft:barrier" \ + }, \ + transformation: { \ + left_rotation: [ 0.0f, 0.0f, -0.046234716f, 0.9989307f ], \ + right_rotation: [ 0.0f, 0.0f, 0.0f, 1.0f ], \ + scale: [ 1.0000064f, 1.0000064f, 0.012958312f ], \ + translation: [ -0.25f, 0.25f, -1.1235367E-6f ] \ + } \ + }, \ + { \ + id: "minecraft:item_display", \ + item: { \ + components: { \ + "minecraft:custom_data": {players: {}}, \ + "minecraft:custom_model_data": {strings: ["head"]}, \ + "minecraft:item_model": "bored-face.pose:players/default_wide", \ + }, \ + count: 1, \ + id: "minecraft:barrier" \ + }, \ + transformation: { \ + left_rotation: [ 0.0f, 0.0f, 0.0f, 1.0f ], \ + right_rotation: [ 0.0f, 0.0f, 0.0f, 1.0f ], \ + scale: [ 1.0f, 1.0f, 0.012958271f ], \ + translation: [ 0.0f, 0.375f, 0.0f ] \ + } \ + }, \ + { \ + id: "minecraft:item_display", \ + item: { \ + components: { \ + "minecraft:custom_data": {players: {}}, \ + "minecraft:custom_model_data": {strings: ["leftarm"]}, \ + "minecraft:item_model": "bored-face.pose:players/default_wide", \ + }, \ + count: 64, \ + id: "minecraft:barrier" \ + }, \ + transformation: { \ + left_rotation: [ 0.0f, 0.0f, 0.043619353f, 0.9990483f ], \ + right_rotation: [ 0.0f, 0.0f, 0.0f, 1.0f ], \ + scale: [ 1.0000067f, 1.0000067f, 0.012958306f ], \ + translation: [ 0.24912633f, 0.25f, -1.1235367E-6f ] \ + } \ + }, \ + { \ + id: "minecraft:item_display", \ + item: { \ + components: { \ + "minecraft:custom_data": {players: {}}, \ + "minecraft:custom_model_data": {strings: ["rightleg"]}, \ + "minecraft:item_model": "bored-face.pose:players/default_wide", \ + }, \ + count: 1, \ + id: "minecraft:barrier" \ + }, \ + transformation: { \ + left_rotation: [ 0.0f, 0.0f, 0.0f, 1.0f ], \ + right_rotation: [ 0.0f, 0.0f, 0.0f, 1.0f ], \ + scale: [ 1.0f, 1.0f, 0.012958271f ], \ + translation: [ 0.0f, -0.37385643f, 0.0f ] \ + } \ + }, \ + { \ + id: "minecraft:item_display", \ + item: { \ + count: 1, \ + id: "minecraft:stick" \ + }, \ + transformation: { \ + left_rotation: [ 0.0f, 0.7071068f, 0.0f, 0.7071068f ], \ + right_rotation: [ 0.0f, 0.0f, 0.0f, 1.0f ], \ + scale: [ 0.99999994f, 1.0000004f, 0.99999994f ], \ + translation: [ 0.0f, -0.6772461f, -0.4375f ] \ + } \ + }, \ + { \ + id: "minecraft:item_display", \ + item: { \ + count: 1, \ + id: "minecraft:oak_pressure_plate" \ + }, \ + transformation: { \ + left_rotation: [ 0.0f, 0.0f, 0.0f, 1.0f ], \ + right_rotation: [ 0.0f, 0.0f, 0.0f, 1.0f ], \ + scale: [ 1.0f, 0.3125f, 1.0f ], \ + translation: [ 0.0f, -0.97680664f, -0.375f ] \ + } \ + } \ + ], \ + item: { \ + components: { \ + "minecraft:custom_data": {players: {}}, \ + "minecraft:custom_model_data": {strings: ["body"]}, \ + "minecraft:item_model": "bored-face.pose:players/default_wide", \ + }, \ + count: 1, \ + id: "minecraft:barrier" \ + }, \ + transformation: { \ + left_rotation: [ 0.0f, 0.0f, 0.0f, 1.0f ], \ + right_rotation: [ 0.0f, 0.0f, 0.0f, 1.0f ], \ + scale: [ 1.0f, 1.0f, 0.012958271f ], \ + translation: [ 0.0f, 0.0f, 0.0f ] \ + }, \ +} diff --git a/data/bored-face.pose.player/function/players/handstand.mcfunction b/data/bored-face.pose.player/function/players/handstand.mcfunction new file mode 100644 index 0000000..044f9eb --- /dev/null +++ b/data/bored-face.pose.player/function/players/handstand.mcfunction @@ -0,0 +1,120 @@ +summon minecraft:item_display ~ ~0.9187 ~ { \ + Passengers: [ \ + { \ + id: "minecraft:item_display", item: { \ + components: { \ + "minecraft:custom_data": {cape: {}}, \ + "minecraft:item_model": "bored-face.pose:cape/bored", \ + }, \ + count: 1, \ + id: "minecraft:barrier", \ + }, \ + transformation: { \ + left_rotation: [0.0f, 0.89260215f, 0.4508453f, 0.0f], \ + right_rotation: [0.0f, 0.0f, 0.0f, 1.0f], \ + scale: [1.0000021f, 1.0000021f, 1.0000021f], \ + translation: [0.0f, -0.24145508f, -0.16381836f] \ + } \ + }, \ + { \ + id: "minecraft:item_display", item: { \ + components: { \ + "minecraft:custom_data": {players: {}}, \ + "minecraft:custom_model_data": {strings: ["rightarm"]}, \ + "minecraft:item_model": "bored-face.pose:players/default_wide", \ + }, \ + count: 1, \ + id: "minecraft:barrier", \ + }, \ + transformation: { \ + left_rotation: [-0.07180265f, 0.9943187f, -0.078567766f, -0.0013354454f], \ + right_rotation: [0.0f, 0.0f, 0.0f, 1.0f], \ + scale: [1.0000048f, 1.0000039f, 1.0000026f], \ + translation: [0.27887827f, -0.3125f, -8.670421E-5f] \ + } \ + }, \ + { \ + id: "minecraft:item_display", item: { \ + components: { \ + "minecraft:custom_data": {players: {}}, \ + "minecraft:custom_model_data": {strings: ["head"]}, \ + "minecraft:item_model": "bored-face.pose:players/default_wide", \ + }, \ + count: 1, \ + id: "minecraft:barrier", \ + }, \ + transformation: { \ + left_rotation: [0.0f, 0.0f, 1.0f, 0.0f], \ + right_rotation: [0.0f, 0.0f, 0.0f, 1.0f], \ + scale: [1.0f, 1.0f, 1.0f], \ + translation: [0.0f, -0.375f, 0.0f] \ + } \ + }, \ + { \ + id: "minecraft:item_display", item: { \ + components: { \ + "minecraft:custom_data": {players: {}}, \ + "minecraft:custom_model_data": {strings: ["rightleg"]}, \ + "minecraft:item_model": "bored-face.pose:players/default_wide", \ + }, \ + count: 1, \ + id: "minecraft:barrier", \ + }, \ + transformation: { \ + left_rotation: [0.0033925506f, -0.05608004f, 0.9965986f, 0.060289055f], \ + right_rotation: [0.0f, 0.0f, 0.0f, 1.0f], \ + scale: [1.0000013f, 1.0000002f, 1.0000011f], \ + translation: [0.0f, 0.37385643f, 0.0f] \ + } \ + }, \ + { \ + id: "minecraft:item_display", item: { \ + components: { \ + "minecraft:custom_data": {players: {}}, \ + "minecraft:custom_model_data": {strings: ["leftarm"]}, \ + "minecraft:item_model": "bored-face.pose:players/default_wide", \ + }, \ + count: 64, \ + id: "minecraft:barrier", \ + }, \ + transformation: { \ + left_rotation: [0.079350814f, 0.99302936f, -0.08715336f, 6.5608224E-4f], \ + right_rotation: [0.0f, 0.0f, 0.0f, 1.0f], \ + scale: [1.0000029f, 1.0000019f, 1.000002f], \ + translation: [-0.26635742f, -0.3347168f, -8.670421E-5f] \ + } \ + }, \ + { \ + id: "minecraft:item_display", item: { \ + components: { \ + "minecraft:custom_data": {players: {}}, \ + "minecraft:custom_model_data": {strings: ["leftleg"]}, \ + "minecraft:item_model": "bored-face.pose:players/default_wide", \ + }, \ + count: 1, \ + id: "minecraft:barrier", \ + }, \ + transformation: { \ + left_rotation: [0.0028799984f, 0.042515256f, 0.9968073f, -0.06752415f], \ + right_rotation: [0.0f, 0.0f, 0.0f, 1.0f], \ + scale: [1.0000007f, 1.0f, 1.000001f], \ + translation: [0.0f, 0.34887695f, 0.0f] \ + } \ + }, \ + ], \ + item: { \ + components: { \ + "minecraft:custom_data": {players: {}}, \ + "minecraft:custom_model_data": {strings: ["body"]}, \ + "minecraft:item_model": "bored-face.pose:players/default_wide", \ + }, \ + count: 1, \ + id: "minecraft:barrier", \ + }, \ + transformation: { \ + left_rotation: [0.0f, 0.0f, 1.0f, 0.0f], \ + right_rotation: [0.0f, 0.0f, 0.0f, 1.0f], \ + scale: [1.0f, 1.0f, 1.0f], \ + translation: [0.0f, 0.0f, 0.0f] \ + }, \ +} diff --git a/data/bored-face.pose.player/function/players/happy.mcfunction b/data/bored-face.pose.player/function/players/happy.mcfunction new file mode 100644 index 0000000..17d1a21 --- /dev/null +++ b/data/bored-face.pose.player/function/players/happy.mcfunction @@ -0,0 +1,113 @@ +summon minecraft:item_display ~ ~1.1185 ~ { \ + Passengers: [ \ + { \ + id: "minecraft:item_display", item: { \ + components: { \ + "minecraft:custom_data": {players: {}}, \ + "minecraft:custom_model_data": {strings: ["rightarm"]}, \ + "minecraft:item_model": "bored-face.pose:players/default_wide", \ + }, \ + count: 1, \ + id: "minecraft:barrier", \ + }, \ + transformation: { \ + left_rotation: [0.9715815f, 0.21237491f, -0.012793286f, -0.10374268f], \ + right_rotation: [0.0f, 0.0f, 0.0f, 1.0f], \ + scale: [1.0000039f, 1.0000036f, 1.0000018f], \ + translation: [-0.31638208f, 0.3474121f, -8.670421E-5f] \ + } \ + }, \ + { \ + id: "minecraft:item_display", item: { \ + components: { \ + "minecraft:custom_data": {cape: {}}, \ + "minecraft:item_model": "bored-face.pose:cape/bored", \ + }, \ + count: 1, \ + id: "minecraft:barrier", \ + }, \ + transformation: { \ + left_rotation: [0.06975644f, 0.0f, 0.0f, 0.997564f], \ + right_rotation: [0.0f, 0.0f, 0.0f, 1.0f], \ + scale: [1.0000006f, 1.0000008f, 1.0000008f], \ + translation: [0.0f, 0.375f, -0.125f] \ + } \ + }, \ + { \ + id: "minecraft:item_display", item: { \ + components: { \ + "minecraft:custom_data": {players: {}}, \ + "minecraft:custom_model_data": {strings: ["leftarm"]}, \ + "minecraft:item_model": "bored-face.pose:players/default_wide", \ + }, \ + count: 64, \ + id: "minecraft:barrier", \ + }, \ + transformation: { \ + left_rotation: [0.97319657f, -0.18948054f, 0.013829803f, -0.12959354f], \ + right_rotation: [0.0f, 0.0f, 0.0f, 1.0f], \ + scale: [1.0000021f, 1.0000012f, 1.0000005f], \ + translation: [0.3125f, 0.37003475f, -8.670421E-5f] \ + } \ + }, \ + { \ + id: "minecraft:item_display", item: { \ + components: { \ + "minecraft:custom_data": {players: {}}, \ + "minecraft:custom_model_data": {strings: ["leftleg"]}, \ + "minecraft:item_model": "bored-face.pose:players/default_wide", \ + }, \ + count: 1, \ + id: "minecraft:barrier", \ + }, \ + transformation: { \ + left_rotation: [0.0f, 0.0f, 0.0f, 1.0f], \ + right_rotation: [0.0f, 0.0f, 0.0f, 1.0f], \ + scale: [1.0f, 1.0f, 1.0f], \ + translation: [0.0f, -0.3737793f, 0.0f] \ + } \ + }, \ + { \ + id: "minecraft:item_display", item: { \ + components: { \ + "minecraft:custom_data": {players: {}}, \ + "minecraft:custom_model_data": {strings: ["head"]}, \ + "minecraft:item_model": "bored-face.pose:players/default_wide", \ + }, \ + count: 1, \ + id: "minecraft:barrier", \ + }, \ + transformation: { \ + left_rotation: [0.0f, 0.0f, 0.0f, 1.0f], \ + right_rotation: [0.0f, 0.0f, 0.0f, 1.0f], \ + scale: [1.0f, 1.0f, 1.0f], \ + translation: [0.0f, 0.375f, 0.0f] \ + } \ + }, \ + { \ + id: "minecraft:item_display", item: { \ + components: { \ + "minecraft:custom_data": {players: {}}, \ + "minecraft:custom_model_data": {strings: ["rightleg"]}, \ + "minecraft:item_model": "bored-face.pose:players/default_wide", \ + }, \ + count: 1, \ + id: "minecraft:barrier", \ + }, \ + transformation: { \ + left_rotation: [0.0f, 0.0f, 0.0f, 1.0f], \ + right_rotation: [0.0f, 0.0f, 0.0f, 1.0f], \ + scale: [1.0f, 1.0f, 1.0f], \ + translation: [0.0f, -0.37385643f, 0.0f] \ + } \ + }, \ + ], \ + item: { \ + components: { \ + "minecraft:custom_data": {players: {}}, \ + "minecraft:custom_model_data": {strings: ["body"]}, \ + "minecraft:item_model": "bored-face.pose:players/default_wide", \ + }, \ + count: 1, id: "minecraft:barrier" \ + }, \ +} diff --git a/data/bored-face.pose.player/function/players/high_five.mcfunction b/data/bored-face.pose.player/function/players/high_five.mcfunction new file mode 100644 index 0000000..cabf611 --- /dev/null +++ b/data/bored-face.pose.player/function/players/high_five.mcfunction @@ -0,0 +1,241 @@ +summon minecraft:item_display ~ ~1.0976 ~-0.65 { \ + Passengers: [ \ + { \ + id: "minecraft:item_display", item: { \ + components: { \ + "minecraft:custom_data": {cape: {}}, \ + "minecraft:item_model": "bored-face.pose:cape/none", \ + }, \ + count: 1, \ + id: "minecraft:barrier", \ + }, \ + transformation: { \ + left_rotation: [0.2045073f, -0.17255335f, 0.037479628f, 0.96280706f], \ + right_rotation: [0.0f, 0.0f, 0.0f, 1.0f], \ + scale: [1.0000023f, 1.0000032f, 1.000003f], \ + translation: [0.036907952f, 0.3640937f, -0.08757889f] \ + } \ + }, \ + { \ + id: "minecraft:item_display", item: { \ + components: { \ + "minecraft:custom_data": {players: {}}, \ + "minecraft:custom_model_data": {strings: ["rightleg"]}, \ + "minecraft:item_model": "bored-face.pose:players/steve" \ + }, \ + count: 1, \ + id: "minecraft:barrier", \ + }, \ + transformation: { \ + left_rotation: [6.027157E-8f, -0.18480921f, -3.1660075E-9f, 0.9827745f], \ + right_rotation: [0.0f, 0.0f, 0.0f, 1.0f], \ + scale: [0.9999998f, 1.0000006f, 1.0000001f], \ + translation: [0.032715484f, -0.37385634f, -0.110578895f] \ + } \ + }, \ + { \ + id: "minecraft:item_display", item: { \ + components: { \ + "minecraft:custom_data": {players: {}}, \ + "minecraft:custom_model_data": {strings: ["head"]}, \ + "minecraft:item_model": "bored-face.pose:players/steve" \ + }, \ + count: 1, \ + id: "minecraft:barrier", \ + }, \ + transformation: { \ + left_rotation: [0.037209913f, -0.5279076f, -0.04155161f, 0.8474683f], \ + right_rotation: [0.0f, 0.0f, 0.0f, 1.0f], \ + scale: [1.0000017f, 1.0000024f, 1.0000023f], \ + translation: [0.0f, 0.3749999f, 1.1920929E-7f] \ + } \ + }, \ + { \ + id: "minecraft:item_display", item: { \ + components: { \ + "minecraft:custom_data": {players: {}}, \ + "minecraft:custom_model_data": {strings: ["leftarm"]}, \ + "minecraft:item_model": "bored-face.pose:players/steve" \ + }, \ + count: 64, \ + id: "minecraft:barrier", \ + }, \ + transformation: { \ + left_rotation: [0.9465248f, -0.010000224f, -0.014359229f, -0.32215634f], \ + right_rotation: [0.0f, 0.0f, 0.0f, 1.0f], \ + scale: [1.0000026f, 1.0000026f, 1.0000012f], \ + translation: [0.26680133f, 0.37599993f, 0.23260331f] \ + } \ + }, \ + { \ + id: "minecraft:item_display", item: { \ + components: { \ + "minecraft:custom_data": {players: {}}, \ + "minecraft:custom_model_data": {strings: ["leftleg"]}, \ + "minecraft:item_model": "bored-face.pose:players/steve" \ + }, \ + count: 1, \ + id: "minecraft:barrier", \ + }, \ + transformation: { \ + left_rotation: [0.31995985f, -0.17474051f, 0.06016789f, 0.9292315f], \ + right_rotation: [0.0f, 0.0f, 0.0f, 1.0f], \ + scale: [1.0000006f, 1.0000005f, 1.0f], \ + translation: [0.027522705f, -0.3737792f, -0.10611248f] \ + } \ + }, \ + { \ + id: "minecraft:item_display", item: { \ + components: { \ + "minecraft:custom_data": {players: {}}, \ + "minecraft:custom_model_data": {strings: ["rightarm"]}, \ + "minecraft:item_model": "bored-face.pose:players/steve" \ + }, \ + count: 1, \ + id: "minecraft:barrier", \ + }, \ + transformation: { \ + left_rotation: [-0.54188925f, -0.41527006f, -0.27901423f, 0.67532057f], \ + right_rotation: [0.0f, 0.0f, 0.0f, 1.0f], \ + scale: [1.0000055f, 1.0000063f, 1.0000035f], \ + translation: [-0.30451578f, 0.24024563f, 0.016616106f] \ + } \ + }, \ + ], \ + item: { \ + components: { \ + "minecraft:custom_data": {players: {}}, \ + "minecraft:custom_model_data": {strings: ["body"]}, \ + "minecraft:item_model": "bored-face.pose:players/steve" \ + }, \ + count: 1, \ + id: "minecraft:barrier", \ + }, \ + transformation: { \ + left_rotation: [0.14526321f, -0.18277912f, 0.02731651f, 0.9719795f], \ + right_rotation: [0.0f, 0.0f, 0.0f, 1.0f], \ + scale: [1.0000005f, 1.0000006f, 0.99999964f], \ + translation: [0.0f, 0.0f, 0.0f] \ + }, \ +} + +summon minecraft:item_display ~0.0757 ~1.0886 ~0.6219 { \ + Passengers: [ \ + { \ + id: "minecraft:item_display", item: { \ + components: { \ + "minecraft:custom_data": {players: {}}, \ + "minecraft:custom_model_data": {strings: ["leftleg"]}, \ + "minecraft:item_model": "bored-face.pose:players/alex" \ + }, \ + count: 1, \ + id: "minecraft:barrier", \ + }, \ + transformation: { \ + left_rotation: [-0.057472024f, 0.90080523f, -0.36388424f, -0.22985882f], \ + right_rotation: [0.0f, 0.0f, 0.0f, 1.0f], \ + scale: [1.0000011f, 1.0000014f, 1.0000015f], \ + translation: [0.043022897f, -0.32410392f, 0.09637796f] \ + } \ + }, \ + { \ + id: "minecraft:item_display", item: { \ + components: { \ + "minecraft:custom_data": {cape: {}}, \ + "minecraft:item_model": "bored-face.pose:cape/none", \ + }, \ + count: 1, \ + id: "minecraft:barrier", \ + }, \ + transformation: { \ + left_rotation: [-0.072807714f, 0.92485505f, -0.25714043f, -0.27059385f], \ + right_rotation: [0.0f, 0.0f, 0.0f, 1.0f], \ + scale: [1.0000043f, 1.0000038f, 1.000004f], \ + translation: [0.009038598f, 0.31428266f, 0.02255766f] \ + } \ + }, \ + { \ + id: "minecraft:item_display", item: { \ + components: { \ + "minecraft:custom_data": {players: {}}, \ + "minecraft:custom_model_data": {strings: ["rightarm"]}, \ + "minecraft:item_model": "bored-face.pose:players/alex" \ + }, \ + count: 1, \ + id: "minecraft:barrier", \ + }, \ + transformation: { \ + left_rotation: [-0.108824104f, 0.33928028f, 0.9309386f, -0.079998314f], \ + right_rotation: [0.0f, 0.0f, 0.0f, 1.0f], \ + scale: [1.0000056f, 1.0000056f, 1.0000038f], \ + translation: [0.21092893f, 0.34236297f, -0.23821951f] \ + } \ + }, \ + { \ + id: "minecraft:item_display", item: { \ + components: { \ + "minecraft:custom_data": {players: {}}, \ + "minecraft:custom_model_data": {strings: ["leftarm"]}, \ + "minecraft:item_model": "bored-face.pose:players/alex" \ + }, \ + count: 64, \ + id: "minecraft:barrier", \ + }, \ + transformation: { \ + left_rotation: [0.116368406f, 0.75754786f, 0.5350566f, -0.35537893f], \ + right_rotation: [0.0f, 0.0f, 0.0f, 1.0f], \ + scale: [1.0000032f, 1.0000038f, 1.0000027f], \ + translation: [-0.21438932f, 0.24999996f, 0.12689023f] \ + } \ + }, \ + { \ + id: "minecraft:item_display", item: { \ + components: { \ + "minecraft:custom_data": {players: {}}, \ + "minecraft:custom_model_data": {strings: ["head"]}, \ + "minecraft:item_model": "bored-face.pose:players/alex" \ + }, \ + count: 1, \ + id: "minecraft:barrier", \ + }, \ + transformation: { \ + left_rotation: [0.057212368f, 0.89144564f, -0.047284856f, -0.44700748f], \ + right_rotation: [0.0f, 0.0f, 0.0f, 1.0f], \ + scale: [1.0000014f, 0.9999999f, 1.0000001f], \ + translation: [-0.07635103f, 0.3479814f, -0.12555923f] \ + } \ + }, \ + { \ + id: "minecraft:item_display", item: { \ + components: { \ + "minecraft:custom_data": {players: {}}, \ + "minecraft:custom_model_data": {strings: ["rightleg"]}, \ + "minecraft:item_model": "bored-face.pose:players/alex" \ + }, \ + count: 1, \ + id: "minecraft:barrier", \ + }, \ + transformation: { \ + left_rotation: [-0.018406807f, 0.96220785f, -0.06728399f, -0.26323032f], \ + right_rotation: [0.0f, 0.0f, 0.0f, 1.0f], \ + scale: [1.000001f, 1.0000029f, 1.0000017f], \ + translation: [0.055140115f, -0.37385637f, 0.11980951f] \ + } \ + }, \ + ], \ + item: { \ + components: { \ + "minecraft:custom_data": {players: {}}, \ + "minecraft:custom_model_data": {strings: ["body"]}, \ + "minecraft:item_model": "bored-face.pose:players/alex" \ + }, \ + count: 1, \ + id: "minecraft:barrier", \ + }, \ + transformation: { \ + left_rotation: [-0.043551624f, 0.95132905f, -0.15919788f, -0.26025417f], \ + right_rotation: [0.0f, 0.0f, 0.0f, 1.0f], \ + scale: [1.0f, 1.0000011f, 1.0000014f], \ + translation: [0.0f, 0.0f, 0.0f] \ + }, \ +} diff --git a/data/bored-face.pose.player/function/players/normal.mcfunction b/data/bored-face.pose.player/function/players/normal.mcfunction new file mode 100644 index 0000000..11378b1 --- /dev/null +++ b/data/bored-face.pose.player/function/players/normal.mcfunction @@ -0,0 +1,120 @@ +summon minecraft:item_display ~ ~1.124 ~ { \ + item: { \ + id: "minecraft:barrier", \ + count: 1, \ + components: { \ + "minecraft:item_model": "bored-face.pose:players/default_wide", \ + "minecraft:custom_model_data": {strings: ["body"]}, \ + "minecraft:custom_data": {players: {}}, \ + }, \ + }, \ + Passengers: [ \ + { \ + id: "minecraft:item_display", \ + item: { \ + id: "minecraft:barrier", \ + count: 1, \ + components: { \ + "minecraft:item_model": "bored-face.pose:players/default_wide", \ + "minecraft:custom_model_data": {strings: ["rightarm"]}, \ + "minecraft:custom_data": {players: {}}, \ + }, \ + }, \ + transformation: { \ + left_rotation: [0.0f, 0.0f, -0.046234757f, 0.9989307f], \ + right_rotation: [0.0f, 0.0f, 0.0f, 1.0f], \ + scale: [1.0000038f, 1.0000038f, 1.0000012f], \ + translation: [-0.25f, 0.25f, -8.670421E-5f] \ + } \ + }, \ + { \ + id: "minecraft:item_display", \ + item: { \ + id: "minecraft:barrier", \ + count: 1, \ + components: { \ + "minecraft:custom_data": {cape: {}}, \ + "minecraft:item_model": "bored-face.pose:cape/vanilla", \ + }, \ + }, \ + transformation: { \ + left_rotation: [0.06975643f, 0.0f, 0.0f, 0.997564f], \ + right_rotation: [0.0f, 0.0f, 0.0f, 1.0f], \ + scale: [1.0000012f, 1.0000013f, 1.0000013f], \ + translation: [0.0f, 0.375f, -0.125f] \ + } \ + }, \ + { \ + id: "minecraft:item_display", \ + item: { \ + id: "minecraft:barrier", \ + count: 64, \ + components: { \ + "minecraft:item_model": "bored-face.pose:players/default_wide", \ + "minecraft:custom_model_data": {strings: ["leftarm"]}, \ + "minecraft:custom_data": {players: {}}, \ + }, \ + }, \ + transformation: { \ + left_rotation: [0.0f, 0.0f, 0.043619376f, 0.9990483f], \ + right_rotation: [0.0f, 0.0f, 0.0f, 1.0f], \ + scale: [1.000002f, 1.000002f, 1.0000008f], \ + translation: [0.24912633f, 0.25f, -8.670421E-5f] \ + } \ + }, \ + { \ + id: "minecraft:item_display", \ + item: { \ + id: "minecraft:barrier", \ + count: 1, \ + components: { \ + "minecraft:item_model": "bored-face.pose:players/default_wide", \ + "minecraft:custom_model_data": {strings: ["leftleg"]}, \ + "minecraft:custom_data": {players: {}}, \ + }, \ + }, \ + transformation: { \ + left_rotation: [0.0f, 0.0f, 0.0f, 1.0f], \ + right_rotation: [0.0f, 0.0f, 0.0f, 1.0f], \ + scale: [1.0f, 1.0f, 1.0f], \ + translation: [0.0f, -0.3737793f, 0.0f] \ + } \ + }, \ + { \ + id: "minecraft:item_display", \ + item: { \ + id: "minecraft:barrier", \ + count: 1, \ + components: { \ + "minecraft:item_model": "bored-face.pose:players/default_wide", \ + "minecraft:custom_model_data": {strings: ["head"]}, \ + "minecraft:custom_data": {players: {}}, \ + }, \ + }, \ + transformation: { \ + left_rotation: [0.0f, 0.0f, 0.0f, 1.0f], \ + right_rotation: [0.0f, 0.0f, 0.0f, 1.0f], \ + scale: [1.0f, 1.0f, 1.0f], \ + translation: [0.0f, 0.375f, 0.0f] \ + } \ + }, \ + { \ + id: "minecraft:item_display", \ + item: { \ + id: "minecraft:barrier", \ + count: 1, \ + components: { \ + "minecraft:item_model": "bored-face.pose:players/default_wide", \ + "minecraft:custom_model_data": {strings: ["rightleg"]}, \ + "minecraft:custom_data": {players: {}}, \ + }, \ + }, \ + transformation: { \ + left_rotation: [0.0f, 0.0f, 0.0f, 1.0f], \ + right_rotation: [0.0f, 0.0f, 0.0f, 1.0f], \ + scale: [1.0f, 1.0f, 1.0f], \ + translation: [0.0f, -0.37385643f, 0.0f] \ + } \ + } \ + ] \ +} diff --git a/data/bored-face.pose.player/function/players/run.mcfunction b/data/bored-face.pose.player/function/players/run.mcfunction new file mode 100644 index 0000000..183d0b8 --- /dev/null +++ b/data/bored-face.pose.player/function/players/run.mcfunction @@ -0,0 +1,120 @@ +summon minecraft:item_display ~ ~1.048 ~ { \ + Passengers: [ \ + { \ + id: "minecraft:item_display", item: { \ + components: { \ + "minecraft:custom_data": {players: {}}, \ + "minecraft:custom_model_data": {strings: ["rightarm"]}, \ + "minecraft:item_model": "bored-face.pose:players/default_slim" \ + }, \ + count: 1, \ + id: "minecraft:barrier", \ + }, \ + transformation: { \ + left_rotation: [-0.083826855f, -0.31420657f, -0.07936981f, 0.94230986f], \ + right_rotation: [0.0f, 0.0f, 0.0f, 1.0f], \ + scale: [1.0000074f, 1.0000063f, 1.000004f], \ + translation: [-0.28938285f, 0.23180452f, -0.05592729f] \ + } \ + }, \ + { \ + id: "minecraft:item_display", item: { \ + components: { \ + "minecraft:custom_data": {players: {}}, \ + "minecraft:custom_model_data": {strings: ["leftarm"]}, \ + "minecraft:item_model": "bored-face.pose:players/default_slim" \ + }, \ + count: 64, \ + id: "minecraft:barrier", \ + }, \ + transformation: { \ + left_rotation: [0.28515804f, -0.3452516f, 0.3264535f, 0.83241487f], \ + right_rotation: [0.0f, 0.0f, 0.0f, 1.0f], \ + scale: [1.0000052f, 1.0000055f, 1.0000042f], \ + translation: [0.113279626f, 0.2668353f, 0.23692635f] \ + } \ + }, \ + { \ + id: "minecraft:item_display", item: { \ + components: { \ + "minecraft:custom_data": {players: {}}, \ + "minecraft:custom_model_data": {strings: ["head"]}, \ + "minecraft:item_model": "bored-face.pose:players/default_slim" \ + }, \ + count: 1, \ + id: "minecraft:barrier", \ + }, \ + transformation: { \ + left_rotation: [0.052567013f, -0.5001825f, 0.04147613f, 0.8633273f], \ + right_rotation: [0.0f, 0.0f, 0.0f, 1.0f], \ + scale: [1.0000007f, 1.0000036f, 1.0000048f], \ + translation: [-0.094864696f, 0.37404233f, 0.08569272f] \ + } \ + }, \ + { \ + id: "minecraft:item_display", item: { \ + components: { \ + "minecraft:custom_data": {players: {}}, \ + "minecraft:custom_model_data": {strings: ["leftleg"]}, \ + "minecraft:item_model": "bored-face.pose:players/default_slim" \ + }, \ + count: 1, \ + id: "minecraft:barrier", \ + }, \ + transformation: { \ + left_rotation: [-0.36202782f, -0.3181075f, 0.004180618f, 0.87619984f], \ + right_rotation: [0.0f, 0.0f, 0.0f, 1.0f], \ + scale: [1.0000039f, 1.0000036f, 1.0000055f], \ + translation: [0.14580724f, -0.36838675f, -0.048642173f] \ + } \ + }, \ + { \ + id: "minecraft:item_display", item: { \ + components: { \ + "minecraft:custom_data": {players: {}}, \ + "minecraft:custom_model_data": {strings: ["rightleg"]}, \ + "minecraft:item_model": "bored-face.pose:players/default_slim" \ + }, \ + count: 1, \ + id: "minecraft:barrier", \ + }, \ + transformation: { \ + left_rotation: [0.39088863f, -0.31267834f, 0.20992748f, 0.8398624f], \ + right_rotation: [0.0f, 0.0f, 0.0f, 1.0f], \ + scale: [1.0000015f, 1.000002f, 1.0000019f], \ + translation: [0.11215046f, -0.3713921f, -0.07312053f] \ + } \ + }, \ + { \ + id: "minecraft:item_display", item: { \ + components: { \ + "minecraft:custom_data": {cape: {}}, \ + "minecraft:item_model": "bored-face.pose:cape/bored", \ + }, \ + count: 1, \ + id: "minecraft:barrier", \ + }, \ + transformation: { \ + left_rotation: [0.42859173f, -0.37340102f, 0.24659997f, 0.78490084f], \ + right_rotation: [0.0f, 0.0f, 0.0f, 1.0f], \ + scale: [1.0000031f, 1.000003f, 1.0000033f], \ + translation: [-0.021343648f, 0.37407553f, -0.015399663f] \ + } \ + }, \ + ], \ + item: { \ + components: { \ + "minecraft:custom_data": {players: {}}, \ + "minecraft:custom_model_data": {strings: ["body"]}, \ + "minecraft:item_model": "bored-face.pose:players/default_slim" \ + }, \ + count: 1, \ + id: "minecraft:barrier", \ + }, \ + transformation: { \ + left_rotation: [0.14617527f, -0.28783616f, 0.13854754f, 0.93626267f], \ + right_rotation: [0.0f, 0.0f, 0.0f, 1.0f], \ + scale: [1.0000012f, 1.0000025f, 1.000003f], \ + translation: [0.0f, 0.0f, 0.0f] \ + }, \ +} diff --git a/data/bored-face.pose.player/function/players/sneak.mcfunction b/data/bored-face.pose.player/function/players/sneak.mcfunction new file mode 100644 index 0000000..c5fa4d3 --- /dev/null +++ b/data/bored-face.pose.player/function/players/sneak.mcfunction @@ -0,0 +1,121 @@ +summon minecraft:item_display ~ ~0.9966 ~ { \ + Passengers: [ \ + { \ + id: "minecraft:item_display", \ + item: { \ + components: { \ + "minecraft:custom_data": {players: {}}, \ + "minecraft:custom_model_data": {strings: ["rightarm"]}, \ + "minecraft:item_model": "bored-face.pose:players/default_wide", \ + }, \ + count: 1, \ + id: "minecraft:barrier", \ + }, \ + transformation: { \ + left_rotation: [0.13008316f, -0.005879494f, -0.04598732f, 0.9904187f], \ + right_rotation: [0.0f, 0.0f, 0.0f, 1.0f], \ + scale: [1.0000044f, 1.000004f, 1.0000017f], \ + translation: [-0.25064304f, 0.27718106f, 0.13229632f] \ + } \ + }, \ + { \ + id: "minecraft:item_display", item: { \ + components: { \ + "minecraft:custom_data": {cape: {}}, \ + "minecraft:item_model": "bored-face.pose:cape/bored", \ + }, \ + count: 1, \ + id: "minecraft:barrier", \ + }, \ + transformation: { \ + left_rotation: [0.31730467f, 0.0f, 0.0f, 0.9483236f], \ + right_rotation: [0.0f, 0.0f, 0.0f, 1.0f], \ + scale: [1.0000012f, 1.0000012f, 1.0000012f], \ + translation: [0.0f, 0.375f, 0.0625f] \ + } \ + }, \ + { \ + id: "minecraft:item_display", item: { \ + components: { \ + "minecraft:custom_data": {players: {}}, \ + "minecraft:custom_model_data": {strings: ["leftarm"]}, \ + "minecraft:item_model": "bored-face.pose:players/default_wide", \ + }, \ + count: 64, \ + id: "minecraft:barrier", \ + }, \ + transformation: { \ + left_rotation: [0.3497731f, 0.015053465f, 0.04086047f, 0.9358219f], \ + right_rotation: [0.0f, 0.0f, 0.0f, 1.0f], \ + scale: [1.0000018f, 1.0000021f, 1.000001f], \ + translation: [0.24156328f, 0.25f, 0.125f] \ + } \ + }, \ + { \ + id: "minecraft:item_display", item: { \ + components: { \ + "minecraft:custom_data": {players: {}}, \ + "minecraft:custom_model_data": {strings: ["leftleg"]}, \ + "minecraft:item_model": "bored-face.pose:players/default_wide", \ + }, \ + count: 1, \ + id: "minecraft:barrier", \ + }, \ + transformation: { \ + left_rotation: [-0.12186935f, 0.0f, 0.0f, 0.99254614f], \ + right_rotation: [0.0f, 0.0f, 0.0f, 1.0f], \ + scale: [1.0f, 0.99999964f, 0.99999964f], \ + translation: [0.0f, -0.25f, -0.125f] \ + } \ + }, \ + { \ + id: "minecraft:item_display", item: { \ + components: { \ + "minecraft:custom_data": {players: {}}, \ + "minecraft:custom_model_data": {strings: ["head"]}, \ + "minecraft:item_model": "bored-face.pose:players/default_wide", \ + }, \ + count: 1, \ + id: "minecraft:barrier", \ + }, \ + transformation: { \ + left_rotation: [0.043619383f, 0.0f, 0.0f, 0.9990483f], \ + right_rotation: [0.0f, 0.0f, 0.0f, 1.0f], \ + scale: [1.0000002f, 1.0000006f, 1.0000006f], \ + translation: [0.0f, 0.3125f, 0.18318483f] \ + } \ + }, \ + { \ + id: "minecraft:item_display", item: { \ + components: { \ + "minecraft:custom_data": {players: {}}, \ + "minecraft:custom_model_data": {strings: ["rightleg"]}, \ + "minecraft:item_model": "bored-face.pose:players/default_wide", \ + }, \ + count: 1, \ + id: "minecraft:barrier", \ + }, \ + transformation: { \ + left_rotation: [0.12186934f, 0.0f, 0.0f, 0.99254614f], \ + right_rotation: [0.0f, 0.0f, 0.0f, 1.0f], \ + scale: [1.0f, 0.99999976f, 0.99999976f], \ + translation: [0.0f, -0.25f, -0.125f] \ + } \ + }, \ + ], \ + item: { \ + components: { \ + "minecraft:custom_data": {players: {}}, \ + "minecraft:custom_model_data": {strings: ["body"]}, \ + "minecraft:item_model": "bored-face.pose:players/default_wide", \ + }, \ + count: 1, \ + id: "minecraft:barrier", \ + }, \ + transformation: { \ + left_rotation: [0.24192192f, 0.0f, 0.0f, 0.9702957f], \ + right_rotation: [0.0f, 0.0f, 0.0f, 1.0f], \ + scale: [1.0000001f, 1.0000001f, 1.0000001f], \ + translation: [0.0f, 0.0f, 0.0f] \ + }, \ +} diff --git a/data/bored-face.pose.player/function/run.mcfunction b/data/bored-face.pose.player/function/run.mcfunction new file mode 100644 index 0000000..6825722 --- /dev/null +++ b/data/bored-face.pose.player/function/run.mcfunction @@ -0,0 +1,3 @@ +#called when clicked in the smartphone + +$function bored-face.pose.player:players/$(id) diff --git a/data/bored-face.pose.skin/function/add_entries.mcfunction b/data/bored-face.pose.skin/function/add_entries.mcfunction new file mode 100644 index 0000000..23d1fb1 --- /dev/null +++ b/data/bored-face.pose.skin/function/add_entries.mcfunction @@ -0,0 +1,26 @@ +data modify storage bored-face.pose:data loaded_registries[0].entries append value { \ + id: "default_wide", \ + name: {translate: "resource.bored-face.pose.skin.default_wide.name"}, \ + description: {translate: "resource.bored-face.pose.skin.default_wide.description"}, \ +} +data modify storage bored-face.pose:data loaded_registries[0].entries append value { \ + id: "default_slim", \ + name: {translate: "resource.bored-face.pose.skin.default_slim.name"}, \ + description: {translate: "resource.bored-face.pose.skin.default_slim.description"}, \ +} +data modify storage bored-face.pose:data loaded_registries[0].entries append value { \ + id: "steve", \ + name: {translate: "resource.bored-face.pose.skin.steve.name"}, \ + description: {translate: "resource.bored-face.pose.skin.steve.description"}, \ +} +data modify storage bored-face.pose:data loaded_registries[0].entries append value { \ + id: "alex", \ + name: {translate: "resource.bored-face.pose.skin.alex.name"}, \ + description: {translate: "resource.bored-face.pose.skin.alex.description"}, \ +} + +data modify storage bored-face.pose:data loaded_registries[0].entries append value { \ + id: "blockbench", \ + name: {text: "Blockbench"}, \ + description: {text: "The Blockbench default skin"}, \ +} diff --git a/data/bored-face.pose.skin/function/item.mcfunction b/data/bored-face.pose.skin/function/item.mcfunction new file mode 100644 index 0000000..316232a --- /dev/null +++ b/data/bored-face.pose.skin/function/item.mcfunction @@ -0,0 +1,7 @@ +$data modify storage bored-face.pose:data loaded_registries[{id:"$(registry_id)"}].item set value { \ + id: "minecraft:barrier", \ + components: { \ + "minecraft:item_model": "bored-face.pose:players/$(id)", \ + "minecraft:custom_model_data": {strings: ["head"]}, \ + }, \ +} diff --git a/data/bored-face.pose.skin/function/load_pose.mcfunction b/data/bored-face.pose.skin/function/load_pose.mcfunction new file mode 100644 index 0000000..0260708 --- /dev/null +++ b/data/bored-face.pose.skin/function/load_pose.mcfunction @@ -0,0 +1,11 @@ +data modify storage bored-face.pose:data registries append value { \ + id: "bored-face.skin", \ + name: {text: "Skins"}, \ + description: { \ + text: "", \ + extra: [ \ + {text: "\n\u0007\n\n", font: "bored-face.pose:icon", color: "blue" }, \ + {text: "Change the skin of a Bored-Face P.O.S.E."}, \ + ] \ + }, \ +} diff --git a/data/bored-face.pose.skin/function/run.mcfunction b/data/bored-face.pose.skin/function/run.mcfunction new file mode 100644 index 0000000..d3ef961 --- /dev/null +++ b/data/bored-face.pose.skin/function/run.mcfunction @@ -0,0 +1,4 @@ +# called when clicked in the smartphone + +$execute as @e[type=minecraft:item_display, limit=6, sort=nearest, distance=..3, nbt={item:{components: {"minecraft:custom_data":{"players": {}}}}}] run \ + data modify entity @s item.components.minecraft:item_model set value "bored-face.pose:players/$(id)" diff --git a/data/bored-face.pose/function/tool/update_capes.mcfunction b/data/bored-face.pose/function/tool/update_capes.mcfunction deleted file mode 100644 index 4c6640a..0000000 --- a/data/bored-face.pose/function/tool/update_capes.mcfunction +++ /dev/null @@ -1,2 +0,0 @@ -#execute as @e[type=minecraft:item_display, nbt={item:{components: {"minecraft:item_model": "bored-face.pose:cape"}}}] run function bored-face.pose:misc/update_cape -execute as @n[type=minecraft:item_display, nbt={item:{components: {"minecraft:item_model": "bored-face.pose:cape"}}}] run function bored-face.pose:misc/update_cape diff --git a/data/bored-face.pose/tags/function/bored-face.cape/add_entries.json b/data/bored-face.pose/tags/function/bored-face.cape/add_entries.json new file mode 100644 index 0000000..0ab8a81 --- /dev/null +++ b/data/bored-face.pose/tags/function/bored-face.cape/add_entries.json @@ -0,0 +1,5 @@ +{ + "values": [ + "bored-face.pose.cape:add_entries" + ] +} diff --git a/data/bored-face.pose/tags/function/bored-face.cape/item.json b/data/bored-face.pose/tags/function/bored-face.cape/item.json new file mode 100644 index 0000000..2ed1ff6 --- /dev/null +++ b/data/bored-face.pose/tags/function/bored-face.cape/item.json @@ -0,0 +1,5 @@ +{ + "values": [ + "bored-face.pose.cape:item" + ] +} diff --git a/data/bored-face.pose/tags/function/bored-face.cape/run.json b/data/bored-face.pose/tags/function/bored-face.cape/run.json new file mode 100644 index 0000000..0dd6d11 --- /dev/null +++ b/data/bored-face.pose/tags/function/bored-face.cape/run.json @@ -0,0 +1,5 @@ +{ + "values": [ + "bored-face.pose.cape:run" + ] +} diff --git a/data/bored-face.pose/tags/function/bored-face.player/add_entries.json b/data/bored-face.pose/tags/function/bored-face.player/add_entries.json new file mode 100644 index 0000000..f5edcfd --- /dev/null +++ b/data/bored-face.pose/tags/function/bored-face.player/add_entries.json @@ -0,0 +1,5 @@ +{ + "values": [ + "bored-face.pose.player:add_entries" + ] +} diff --git a/data/bored-face.pose/tags/function/bored-face.player/run.json b/data/bored-face.pose/tags/function/bored-face.player/run.json new file mode 100644 index 0000000..b4d66f4 --- /dev/null +++ b/data/bored-face.pose/tags/function/bored-face.player/run.json @@ -0,0 +1,5 @@ +{ + "values": [ + "bored-face.pose.player:run" + ] +} diff --git a/data/bored-face.pose/tags/function/bored-face.skin/add_entries.json b/data/bored-face.pose/tags/function/bored-face.skin/add_entries.json new file mode 100644 index 0000000..d1ebbe2 --- /dev/null +++ b/data/bored-face.pose/tags/function/bored-face.skin/add_entries.json @@ -0,0 +1,5 @@ +{ + "values": [ + "bored-face.pose.skin:add_entries" + ] +} diff --git a/data/bored-face.pose/tags/function/bored-face.skin/item.json b/data/bored-face.pose/tags/function/bored-face.skin/item.json new file mode 100644 index 0000000..fe7a9be --- /dev/null +++ b/data/bored-face.pose/tags/function/bored-face.skin/item.json @@ -0,0 +1,5 @@ +{ + "values": [ + "bored-face.pose.skin:item" + ] +} diff --git a/data/bored-face.pose/tags/function/bored-face.skin/run.json b/data/bored-face.pose/tags/function/bored-face.skin/run.json new file mode 100644 index 0000000..328fda3 --- /dev/null +++ b/data/bored-face.pose/tags/function/bored-face.skin/run.json @@ -0,0 +1,5 @@ +{ + "values": [ + "bored-face.pose.skin:run" + ] +} diff --git a/data/bored-face.pose/tags/function/load.json b/data/bored-face.pose/tags/function/load.json index 3f4b292..5b20920 100644 --- a/data/bored-face.pose/tags/function/load.json +++ b/data/bored-face.pose/tags/function/load.json @@ -1,3 +1,7 @@ { - "values": [] + "values": [ + "bored-face.pose.cape:load_pose", + "bored-face.pose.player:load_pose", + "bored-face.pose.skin:load_pose" + ] } From 1eb3b09d01746165c46baff09b5b5e8d126e8337 Mon Sep 17 00:00:00 2001 From: Kesuaheli Date: Sun, 27 Jul 2025 20:33:36 +0200 Subject: [PATCH 7/7] feat(smartphone): improved registry load messages --- .../engine/registry/load_macro.mcfunction | 26 +++++++++++++-- .../engine/registry/remove_macro.mcfunction | 32 ++++++++++++++++--- .../function/reload_registry.mcfunction | 2 +- 3 files changed, 53 insertions(+), 7 deletions(-) diff --git a/data/bored-face.pose/function/engine/registry/load_macro.mcfunction b/data/bored-face.pose/function/engine/registry/load_macro.mcfunction index 36ae43d..f74aa1d 100644 --- a/data/bored-face.pose/function/engine/registry/load_macro.mcfunction +++ b/data/bored-face.pose/function/engine/registry/load_macro.mcfunction @@ -18,10 +18,32 @@ scoreboard players set $loop_inner bored-face.pose.loop 0 execute if score $loop_inner_max bored-face.pose.loop matches 0.. run function bored-face.pose:engine/registry/entry/load -$tellraw @a { \ +tellraw @a { \ translate: "chat.type.announcement", \ with: [ \ {text: "P.O.S.E.", color: "white", shadow_color: -13223871}, \ - {translate: "Registry %s loaded!", with: [$(name)], color: "green"}, \ + { \ + translate: "message.bored-face.pose.registry_loaded", \ + color: "green", \ + with: [ \ + { \ + storage: "bored-face.pose:data", \ + nbt: "registries[0].name", \ + interpret: true, \ + hover_event: { \ + action: "show_text", \ + value: { \ + storage: "bored-face.pose:data", \ + nbt: "registries[0].description", \ + interpret: true, \ + extra: [ \ + {color: "dark_gray", italic: true, text: "\n\nbored-face.pose:"}, \ + {color: "dark_gray", italic: true, storage: "bored-face.pose:data", nbt: "registries[0].id"}, \ + ], \ + }, \ + }, \ + }, \ + ], \ + }, \ ], \ } diff --git a/data/bored-face.pose/function/engine/registry/remove_macro.mcfunction b/data/bored-face.pose/function/engine/registry/remove_macro.mcfunction index a58ff60..c22fad3 100644 --- a/data/bored-face.pose/function/engine/registry/remove_macro.mcfunction +++ b/data/bored-face.pose/function/engine/registry/remove_macro.mcfunction @@ -4,13 +4,37 @@ $execute if data storage bored-face.pose:data {registries: [{id: $(id)}]} run re $scoreboard objectives remove bored-face.pose.$(id)_prompt $scoreboard objectives remove bored-face.pose.$(id) -$data remove storage bored-face.pose:data loaded_registries[{id: "$(id)"}] -$data remove storage bored-face.pose:smartphone registries[{id:"$(id)"}] - $tellraw @a { \ translate: "chat.type.announcement", \ with: [ \ {text: "P.O.S.E.", color: "white", shadow_color: -13223871}, \ - {translate: "Registry '%s' removed!", with: [$(name)], color: "red"}, \ + { \ + translate: "message.bored-face.pose.registry_removed", \ + color: "red", \ + with: [ \ + { \ + text: "", \ + extra: [$(name)], \ + hover_event: { \ + action: "show_text", \ + value: { \ + text: "", \ + extra: [ \ + $(description), \ + { \ + text: "\n\nbored-face.pose:", \ + color: "dark_gray", \ + italic: true, \ + extra: [$(id)], \ + }, \ + ], \ + }, \ + }, \ + }, \ + ], \ + }, \ ], \ } + +$data remove storage bored-face.pose:data loaded_registries[{id: "$(id)"}] +$data remove storage bored-face.pose:smartphone registries[{id:"$(id)"}] diff --git a/data/bored-face.pose/function/reload_registry.mcfunction b/data/bored-face.pose/function/reload_registry.mcfunction index 54d0446..dbad7bd 100644 --- a/data/bored-face.pose/function/reload_registry.mcfunction +++ b/data/bored-face.pose/function/reload_registry.mcfunction @@ -1,4 +1,4 @@ -$tellraw @s {text: "Reloading registry '$(id)'..."} +$tellraw @s {translate: "message.bored-face.pose.registry_reloading", with: [$(id)]} # simulate the unloading of the registry $data remove storage bored-face.pose:data registries[{id: "$(id)"}]