diff --git a/gm4_heart_canisters/beet.yaml b/gm4_heart_canisters/beet.yaml index ab5bc63546..36a2c202d3 100644 --- a/gm4_heart_canisters/beet.yaml +++ b/gm4_heart_canisters/beet.yaml @@ -19,17 +19,17 @@ meta: lib_custom_crafters: 3.4.0 schedule_loops: [main] model_data: - - item: poisonous_potato + - item: player_head template: generated broadcast: - reference: item/heart_canister_tier_1 - reference: item/heart_canister_tier_2 - - item: poisonous_potato + - item: player_head reference: gui/advancement/heart_canisters_tier_1 template: name: advancement forward: item/heart_canister_tier_1 - - item: poisonous_potato + - item: player_head template: name: advancement forward: item/heart_canister_tier_2 diff --git a/gm4_heart_canisters/data/gm4/advancement/heart_canisters_max.json b/gm4_heart_canisters/data/gm4/advancement/heart_canisters_max.json index de9026bfb7..897bcea4c4 100644 --- a/gm4_heart_canisters/data/gm4/advancement/heart_canisters_max.json +++ b/gm4_heart_canisters/data/gm4/advancement/heart_canisters_max.json @@ -1,7 +1,7 @@ { "display": { "icon": { - "id": "poisonous_potato", + "id": "player_head", "components": { "minecraft:custom_model_data": "gui/advancement/heart_canisters_max", "minecraft:profile": "$heart_canister_tier_2" diff --git a/gm4_heart_canisters/data/gm4/advancement/heart_canisters_tier_1.json b/gm4_heart_canisters/data/gm4/advancement/heart_canisters_tier_1.json index a8d03b0a7c..2444ac6953 100644 --- a/gm4_heart_canisters/data/gm4/advancement/heart_canisters_tier_1.json +++ b/gm4_heart_canisters/data/gm4/advancement/heart_canisters_tier_1.json @@ -1,7 +1,7 @@ { "display": { "icon": { - "id": "poisonous_potato", + "id": "player_head", "components": { "minecraft:custom_model_data": "gui/advancement/heart_canisters_tier_1", "minecraft:profile": "$heart_canister_tier_1" diff --git a/gm4_heart_canisters/data/gm4/advancement/heart_canisters_tier_2.json b/gm4_heart_canisters/data/gm4/advancement/heart_canisters_tier_2.json index 26b54fd2d9..a6837a7605 100644 --- a/gm4_heart_canisters/data/gm4/advancement/heart_canisters_tier_2.json +++ b/gm4_heart_canisters/data/gm4/advancement/heart_canisters_tier_2.json @@ -1,7 +1,7 @@ { "display": { "icon": { - "id": "poisonous_potato", + "id": "player_head", "components": { "minecraft:custom_model_data": "gui/advancement/heart_canisters_tier_2", "minecraft:profile": "$heart_canister_tier_2" diff --git a/gm4_heart_canisters/data/gm4_heart_canisters/advancement/upgrade_path.json b/gm4_heart_canisters/data/gm4_heart_canisters/advancement/upgrade_path.json new file mode 100644 index 0000000000..fa9a655c1b --- /dev/null +++ b/gm4_heart_canisters/data/gm4_heart_canisters/advancement/upgrade_path.json @@ -0,0 +1,22 @@ +{ + "criteria": { + "upgrade_heart_canisters": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "items": "player_head", + "predicates": { + "minecraft:custom_data": { + "gm4_heart_canister": 1 + } + } + } + ] + } + } + }, + "rewards": { + "function": "gm4_heart_canisters:upgrade_path/upgrade_heart_canisters" + } +} diff --git a/gm4_heart_canisters/data/gm4_heart_canisters/function/upgrade_path/loop_1.mcfunction b/gm4_heart_canisters/data/gm4_heart_canisters/function/upgrade_path/loop_1.mcfunction new file mode 100644 index 0000000000..7f6f53734d --- /dev/null +++ b/gm4_heart_canisters/data/gm4_heart_canisters/function/upgrade_path/loop_1.mcfunction @@ -0,0 +1,4 @@ + +execute if score $tier_1 gm4_heart_can matches 1.. run loot give @s loot gm4_heart_canisters:items/tier_1_heart_canister +scoreboard players remove $tier_1 gm4_heart_can 1 +execute if score $tier_1 gm4_heart_can matches 1.. run function gm4_heart_canisters:upgrade_path/loop_1 diff --git a/gm4_heart_canisters/data/gm4_heart_canisters/function/upgrade_path/loop_2.mcfunction b/gm4_heart_canisters/data/gm4_heart_canisters/function/upgrade_path/loop_2.mcfunction new file mode 100644 index 0000000000..fc75d8dd72 --- /dev/null +++ b/gm4_heart_canisters/data/gm4_heart_canisters/function/upgrade_path/loop_2.mcfunction @@ -0,0 +1,4 @@ + +execute if score $tier_2 gm4_heart_can matches 1.. run loot give @s loot gm4_heart_canisters:items/tier_2_heart_canister +scoreboard players remove $tier_2 gm4_heart_can 1 +execute if score $tier_2 gm4_heart_can matches 1.. run function gm4_heart_canisters:upgrade_path/loop_2 diff --git a/gm4_heart_canisters/data/gm4_heart_canisters/function/upgrade_path/upgrade_heart_canisters.mcfunction b/gm4_heart_canisters/data/gm4_heart_canisters/function/upgrade_path/upgrade_heart_canisters.mcfunction new file mode 100644 index 0000000000..50635ab5e1 --- /dev/null +++ b/gm4_heart_canisters/data/gm4_heart_canisters/function/upgrade_path/upgrade_heart_canisters.mcfunction @@ -0,0 +1,7 @@ +advancement revoke @s only gm4_heart_canisters:upgrade_path + +execute store result score $tier_1 gm4_heart_can run clear @s player_head[minecraft:custom_data~{gm4_heart_canister_tier:1b}] +execute store result score $tier_2 gm4_heart_can run clear @s player_head[minecraft:custom_data~{gm4_heart_canister_tier:2b}] + +execute if score $tier_1 gm4_heart_can matches 1.. run function gm4_heart_canisters:upgrade_path/loop_1 +execute if score $tier_2 gm4_heart_can matches 1.. run function gm4_heart_canisters:upgrade_path/loop_2