diff --git a/data/bored-face.pose/function/cape.mcfunction b/data/bored-face.pose/function/cape.mcfunction index 3ac0978..ff1df6b 100644 --- a/data/bored-face.pose/function/cape.mcfunction +++ b/data/bored-face.pose/function/cape.mcfunction @@ -1,4 +1,7 @@ # called when clicked in the smartphone -$execute as @n[type=minecraft:item_display, distance=..3, nbt={item:{components: {"minecraft:item_model": "bored-face.pose:cape"}}}] run \ - data modify entity @s item.components.minecraft:custom_model_data.strings[0] set value "$(id)" +# 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/load.mcfunction b/data/bored-face.pose/function/load.mcfunction index bc00397..9097c0a 100644 --- a/data/bored-face.pose/function/load.mcfunction +++ b/data/bored-face.pose/function/load.mcfunction @@ -9,3 +9,6 @@ execute unless data storage bored-face.pose:data skins run function bored-face.p function bored-face.pose:load/footer function bored-face.pose:reload_smartphone + +# Update all loaded capes from versions prior to 2.0 +function bored-face.pose:tool/update_capes diff --git a/data/bored-face.pose/function/misc/update_cape.mcfunction b/data/bored-face.pose/function/misc/update_cape.mcfunction new file mode 100644 index 0000000..7425acf --- /dev/null +++ b/data/bored-face.pose/function/misc/update_cape.mcfunction @@ -0,0 +1,2 @@ +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 new file mode 100644 index 0000000..e2e12ca --- /dev/null +++ b/data/bored-face.pose/function/misc/update_cape/macro.mcfunction @@ -0,0 +1,3 @@ +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/players/cardboard.mcfunction b/data/bored-face.pose/function/players/cardboard.mcfunction index 2ebb5c2..bc104dd 100644 --- a/data/bored-face.pose/function/players/cardboard.mcfunction +++ b/data/bored-face.pose/function/players/cardboard.mcfunction @@ -4,8 +4,8 @@ summon minecraft:item_display ~ ~1.133 ~ { \ id: "minecraft:item_display", \ item: { \ components: { \ - "minecraft:custom_model_data": {strings: ["bored"]}, \ - "minecraft:item_model": "bored-face.pose:cape", \ + "minecraft:custom_data": {cape: {}}, \ + "minecraft:item_model": "bored-face.pose:cape/bored", \ }, \ count: 1, \ id: "minecraft:barrier" \ diff --git a/data/bored-face.pose/function/players/handstand.mcfunction b/data/bored-face.pose/function/players/handstand.mcfunction index cc2ce76..044f9eb 100644 --- a/data/bored-face.pose/function/players/handstand.mcfunction +++ b/data/bored-face.pose/function/players/handstand.mcfunction @@ -3,8 +3,8 @@ summon minecraft:item_display ~ ~0.9187 ~ { \ { \ id: "minecraft:item_display", item: { \ components: { \ - "minecraft:custom_model_data": {strings: ["bored"]}, \ - "minecraft:item_model": "bored-face.pose:cape", \ + "minecraft:custom_data": {cape: {}}, \ + "minecraft:item_model": "bored-face.pose:cape/bored", \ }, \ count: 1, \ id: "minecraft:barrier", \ diff --git a/data/bored-face.pose/function/players/happy.mcfunction b/data/bored-face.pose/function/players/happy.mcfunction index 6cd8cb8..17d1a21 100644 --- a/data/bored-face.pose/function/players/happy.mcfunction +++ b/data/bored-face.pose/function/players/happy.mcfunction @@ -20,8 +20,8 @@ summon minecraft:item_display ~ ~1.1185 ~ { \ { \ id: "minecraft:item_display", item: { \ components: { \ - "minecraft:custom_model_data": {strings: ["bored"]}, \ - "minecraft:item_model": "bored-face.pose:cape", \ + "minecraft:custom_data": {cape: {}}, \ + "minecraft:item_model": "bored-face.pose:cape/bored", \ }, \ 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 index 0a85ee9..cabf611 100644 --- a/data/bored-face.pose/function/players/high_five.mcfunction +++ b/data/bored-face.pose/function/players/high_five.mcfunction @@ -3,8 +3,8 @@ summon minecraft:item_display ~ ~1.0976 ~-0.65 { \ { \ id: "minecraft:item_display", item: { \ components: { \ - "minecraft:custom_model_data": {strings: ["none"]}, \ - "minecraft:item_model": "bored-face.pose:cape" \ + "minecraft:custom_data": {cape: {}}, \ + "minecraft:item_model": "bored-face.pose:cape/none", \ }, \ count: 1, \ id: "minecraft:barrier", \ @@ -141,8 +141,8 @@ summon minecraft:item_display ~0.0757 ~1.0886 ~0.6219 { \ { \ id: "minecraft:item_display", item: { \ components: { \ - "minecraft:custom_model_data": {strings: ["none"]}, \ - "minecraft:item_model": "bored-face.pose:cape" \ + "minecraft:custom_data": {cape: {}}, \ + "minecraft:item_model": "bored-face.pose:cape/none", \ }, \ count: 1, \ id: "minecraft:barrier", \ diff --git a/data/bored-face.pose/function/players/normal.mcfunction b/data/bored-face.pose/function/players/normal.mcfunction index d9721cd..11378b1 100644 --- a/data/bored-face.pose/function/players/normal.mcfunction +++ b/data/bored-face.pose/function/players/normal.mcfunction @@ -33,8 +33,8 @@ summon minecraft:item_display ~ ~1.124 ~ { \ id: "minecraft:barrier", \ count: 1, \ components: { \ - "minecraft:item_model": "bored-face.pose:cape", \ - "minecraft:custom_model_data": {strings: ["vanilla"]}, \ + "minecraft:custom_data": {cape: {}}, \ + "minecraft:item_model": "bored-face.pose:cape/vanilla", \ }, \ }, \ transformation: { \ diff --git a/data/bored-face.pose/function/players/run.mcfunction b/data/bored-face.pose/function/players/run.mcfunction index d6d23e4..183d0b8 100644 --- a/data/bored-face.pose/function/players/run.mcfunction +++ b/data/bored-face.pose/function/players/run.mcfunction @@ -88,8 +88,8 @@ summon minecraft:item_display ~ ~1.048 ~ { \ { \ id: "minecraft:item_display", item: { \ components: { \ - "minecraft:custom_model_data": {strings: ["bored"]}, \ - "minecraft:item_model": "bored-face.pose:cape" \ + "minecraft:custom_data": {cape: {}}, \ + "minecraft:item_model": "bored-face.pose:cape/bored", \ }, \ count: 1, \ id: "minecraft:barrier", \ diff --git a/data/bored-face.pose/function/players/sneak.mcfunction b/data/bored-face.pose/function/players/sneak.mcfunction index 649cd65..c5fa4d3 100644 --- a/data/bored-face.pose/function/players/sneak.mcfunction +++ b/data/bored-face.pose/function/players/sneak.mcfunction @@ -21,8 +21,8 @@ summon minecraft:item_display ~ ~0.9966 ~ { \ { \ id: "minecraft:item_display", item: { \ components: { \ - "minecraft:custom_model_data": {strings: ["bored"]}, \ - "minecraft:item_model": "bored-face.pose:cape", \ + "minecraft:custom_data": {cape: {}}, \ + "minecraft:item_model": "bored-face.pose:cape/bored", \ }, \ count: 1, \ id: "minecraft:barrier", \ diff --git a/data/bored-face.pose/function/tool/update_capes.mcfunction b/data/bored-face.pose/function/tool/update_capes.mcfunction new file mode 100644 index 0000000..4c6640a --- /dev/null +++ b/data/bored-face.pose/function/tool/update_capes.mcfunction @@ -0,0 +1,2 @@ +#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