From 7413729c2a547c88e5ac2a2aa5ba3550ec991295 Mon Sep 17 00:00:00 2001 From: EpyonProjects <66185010+EpyonProjects@users.noreply.github.com> Date: Tue, 27 May 2025 20:14:45 -0400 Subject: [PATCH 01/12] Initial commit --- .../advancement/equip_flippers.json | 46 ++++++++ .../advancement/equip_wetsuit.json | 46 ++++++++ .../advancement/recipes/flippers.json | 33 ++++++ .../advancement/recipes/scuba_helmet.json | 33 ++++++ .../advancement/recipes/scuba_tank.json | 33 ++++++ .../advancement/recipes/wetsuit.json | 33 ++++++ .../gm4_scuba_gear/enchantment/flippers.json | 72 ++++++++++++ .../gm4_scuba_gear/enchantment/wetsuit.json | 109 ++++++++++++++++++ .../function/breathe.mcfunction | 5 - .../function/check_gear.mcfunction | 5 - .../function/equipped.mcfunction | 5 - .../gm4_scuba_gear/function/init.mcfunction | 4 - .../function/lore/apply_flippers.mcfunction | 3 + .../function/lore/apply_wetsuit.mcfunction | 3 + .../gm4_scuba_gear/function/main.mcfunction | 8 -- .../function/remove_effect.mcfunction | 5 - .../gm4_recipes/scuba_helmet.json | 15 +-- .../gm4_recipes/scuba_tank.json | 28 ++--- .../item_modifier/flippers_lore.json | 46 ++++++++ .../item_modifier/wetsuit_lore.json | 31 +++++ .../predicate/in_deep_water.json | 47 ++++++++ .../data/gm4_scuba_gear/recipe/flippers.json | 58 ++++++++++ .../gm4_scuba_gear/recipe/scuba_helmet.json | 50 ++++++++ .../gm4_scuba_gear/recipe/scuba_tank.json | 53 +++++++++ .../data/gm4_scuba_gear/recipe/wetsuit.json | 51 ++++++++ .../minecraft/tags/enchantment/curses.json | 7 ++ 26 files changed, 767 insertions(+), 62 deletions(-) create mode 100644 gm4_scuba_gear/data/gm4_scuba_gear/advancement/equip_flippers.json create mode 100644 gm4_scuba_gear/data/gm4_scuba_gear/advancement/equip_wetsuit.json create mode 100644 gm4_scuba_gear/data/gm4_scuba_gear/advancement/recipes/flippers.json create mode 100644 gm4_scuba_gear/data/gm4_scuba_gear/advancement/recipes/scuba_helmet.json create mode 100644 gm4_scuba_gear/data/gm4_scuba_gear/advancement/recipes/scuba_tank.json create mode 100644 gm4_scuba_gear/data/gm4_scuba_gear/advancement/recipes/wetsuit.json create mode 100644 gm4_scuba_gear/data/gm4_scuba_gear/enchantment/flippers.json create mode 100644 gm4_scuba_gear/data/gm4_scuba_gear/enchantment/wetsuit.json delete mode 100644 gm4_scuba_gear/data/gm4_scuba_gear/function/breathe.mcfunction delete mode 100644 gm4_scuba_gear/data/gm4_scuba_gear/function/check_gear.mcfunction delete mode 100644 gm4_scuba_gear/data/gm4_scuba_gear/function/equipped.mcfunction create mode 100644 gm4_scuba_gear/data/gm4_scuba_gear/function/lore/apply_flippers.mcfunction create mode 100644 gm4_scuba_gear/data/gm4_scuba_gear/function/lore/apply_wetsuit.mcfunction delete mode 100644 gm4_scuba_gear/data/gm4_scuba_gear/function/main.mcfunction delete mode 100644 gm4_scuba_gear/data/gm4_scuba_gear/function/remove_effect.mcfunction create mode 100644 gm4_scuba_gear/data/gm4_scuba_gear/item_modifier/flippers_lore.json create mode 100644 gm4_scuba_gear/data/gm4_scuba_gear/item_modifier/wetsuit_lore.json create mode 100644 gm4_scuba_gear/data/gm4_scuba_gear/predicate/in_deep_water.json create mode 100644 gm4_scuba_gear/data/gm4_scuba_gear/recipe/flippers.json create mode 100644 gm4_scuba_gear/data/gm4_scuba_gear/recipe/scuba_helmet.json create mode 100644 gm4_scuba_gear/data/gm4_scuba_gear/recipe/scuba_tank.json create mode 100644 gm4_scuba_gear/data/gm4_scuba_gear/recipe/wetsuit.json create mode 100644 gm4_scuba_gear/data/minecraft/tags/enchantment/curses.json diff --git a/gm4_scuba_gear/data/gm4_scuba_gear/advancement/equip_flippers.json b/gm4_scuba_gear/data/gm4_scuba_gear/advancement/equip_flippers.json new file mode 100644 index 0000000000..bb8e8cec4a --- /dev/null +++ b/gm4_scuba_gear/data/gm4_scuba_gear/advancement/equip_flippers.json @@ -0,0 +1,46 @@ +{ + "criteria": { + "equip_flippers": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "player": [ + { + "condition": "minecraft:entity_properties", + "entity": "this", + "predicate": { + "equipment": { + "feet": { + "items": "minecraft:leather_boots", + "components": { + "minecraft:lore": [] + }, + "predicates": { + "minecraft:custom_data": { + "gm4_scuba_gear": { + "item": "flippers" + } + } + } + } + } + } + }], + "items": [ + { + "items": "minecraft:leather_boots", + "predicates": { + "minecraft:custom_data": { + "gm4_scuba_gear": { + "item": "flippers" + } + } + } + } + ] + } + } + }, + "rewards": { + "function": "gm4_scuba_gear:lore/apply_flippers" + } +} diff --git a/gm4_scuba_gear/data/gm4_scuba_gear/advancement/equip_wetsuit.json b/gm4_scuba_gear/data/gm4_scuba_gear/advancement/equip_wetsuit.json new file mode 100644 index 0000000000..9766bd55d8 --- /dev/null +++ b/gm4_scuba_gear/data/gm4_scuba_gear/advancement/equip_wetsuit.json @@ -0,0 +1,46 @@ +{ + "criteria": { + "equip_flippers": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "player": [ + { + "condition": "minecraft:entity_properties", + "entity": "this", + "predicate": { + "equipment": { + "legs": { + "items": "minecraft:leather_leggings", + "components": { + "minecraft:lore": [] + }, + "predicates": { + "minecraft:custom_data": { + "gm4_scuba_gear": { + "item": "wetsuit" + } + } + } + } + } + } + }], + "items": [ + { + "items": "minecraft:leather_leggings", + "predicates": { + "minecraft:custom_data": { + "gm4_scuba_gear": { + "item": "wetsuit" + } + } + } + } + ] + } + } + }, + "rewards": { + "function": "gm4_scuba_gear:lore/apply_wetsuit" + } +} diff --git a/gm4_scuba_gear/data/gm4_scuba_gear/advancement/recipes/flippers.json b/gm4_scuba_gear/data/gm4_scuba_gear/advancement/recipes/flippers.json new file mode 100644 index 0000000000..47e50c3da5 --- /dev/null +++ b/gm4_scuba_gear/data/gm4_scuba_gear/advancement/recipes/flippers.json @@ -0,0 +1,33 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_the_recipe": { + "conditions": { + "recipe": "gm4_scuba_gear:flippers" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "in_deep_water": { + "conditions": { + "player": [ + { + "condition": "minecraft:reference", + "name": "gm4_scuba_gear:in_deep_water" + } + ] + }, + "trigger": "minecraft:location" + } + }, + "requirements": [ + [ + "has_the_recipe", + "in_deep_water" + ] + ], + "rewards": { + "recipes": [ + "gm4_scuba_gear:flippers" + ] + } +} diff --git a/gm4_scuba_gear/data/gm4_scuba_gear/advancement/recipes/scuba_helmet.json b/gm4_scuba_gear/data/gm4_scuba_gear/advancement/recipes/scuba_helmet.json new file mode 100644 index 0000000000..418d4e1113 --- /dev/null +++ b/gm4_scuba_gear/data/gm4_scuba_gear/advancement/recipes/scuba_helmet.json @@ -0,0 +1,33 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_the_recipe": { + "conditions": { + "recipe": "gm4_scuba_gear:scuba_helmet" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "in_deep_water": { + "conditions": { + "player": [ + { + "condition": "minecraft:reference", + "name": "gm4_scuba_gear:in_deep_water" + } + ] + }, + "trigger": "minecraft:location" + } + }, + "requirements": [ + [ + "has_the_recipe", + "in_deep_water" + ] + ], + "rewards": { + "recipes": [ + "gm4_scuba_gear:scuba_helmet" + ] + } +} diff --git a/gm4_scuba_gear/data/gm4_scuba_gear/advancement/recipes/scuba_tank.json b/gm4_scuba_gear/data/gm4_scuba_gear/advancement/recipes/scuba_tank.json new file mode 100644 index 0000000000..81c752e33d --- /dev/null +++ b/gm4_scuba_gear/data/gm4_scuba_gear/advancement/recipes/scuba_tank.json @@ -0,0 +1,33 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_the_recipe": { + "conditions": { + "recipe": "gm4_scuba_gear:scuba_tank" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "in_deep_water": { + "conditions": { + "player": [ + { + "condition": "minecraft:reference", + "name": "gm4_scuba_gear:in_deep_water" + } + ] + }, + "trigger": "minecraft:location" + } + }, + "requirements": [ + [ + "has_the_recipe", + "in_deep_water" + ] + ], + "rewards": { + "recipes": [ + "gm4_scuba_gear:scuba_tank" + ] + } +} diff --git a/gm4_scuba_gear/data/gm4_scuba_gear/advancement/recipes/wetsuit.json b/gm4_scuba_gear/data/gm4_scuba_gear/advancement/recipes/wetsuit.json new file mode 100644 index 0000000000..7cbea64dde --- /dev/null +++ b/gm4_scuba_gear/data/gm4_scuba_gear/advancement/recipes/wetsuit.json @@ -0,0 +1,33 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_the_recipe": { + "conditions": { + "recipe": "gm4_scuba_gear:wetsuit" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "in_deep_water": { + "conditions": { + "player": [ + { + "condition": "minecraft:reference", + "name": "gm4_scuba_gear:in_deep_water" + } + ] + }, + "trigger": "minecraft:location" + } + }, + "requirements": [ + [ + "has_the_recipe", + "in_deep_water" + ] + ], + "rewards": { + "recipes": [ + "gm4_scuba_gear:wetsuit" + ] + } +} diff --git a/gm4_scuba_gear/data/gm4_scuba_gear/enchantment/flippers.json b/gm4_scuba_gear/data/gm4_scuba_gear/enchantment/flippers.json new file mode 100644 index 0000000000..01e4dda42f --- /dev/null +++ b/gm4_scuba_gear/data/gm4_scuba_gear/enchantment/flippers.json @@ -0,0 +1,72 @@ +{ + "description": "", + "supported_items": "minecraft:leather_boots", + "weight": 1, + "max_level": 1, + "min_cost": { + "base": 0, + "per_level_above_first": 0 + }, + "max_cost": { + "base": 0, + "per_level_above_first": 0 + }, + "anvil_cost": 0, + "slots": [ + "feet" + ], + "effects": { + "minecraft:location_changed": [ + { + "requirements": [ + { + "condition": "minecraft:inverted", + "term": { + "condition": "minecraft:entity_properties", + "entity": "this", + "predicate": { + "location": { + "fluid": { + "fluids": "#minecraft:water" + } + } + } + } + } + ], + "effect": { + "type": "minecraft:attribute", + "attribute": "minecraft:movement_speed", + "id": "gm4_scuba_gear:flippers/on_land", + "amount": -0.25, + "operation": "add_multiplied_base" + } + }, + { + "requirements": [ + { + "condition": "minecraft:entity_properties", + "entity": "this", + "predicate": { + "location": { + "fluid": { + "fluids": "#minecraft:water" + } + }, + "flags": { + "is_swimming": true + } + } + } + ], + "effect": { + "type": "minecraft:attribute", + "attribute": "minecraft:movement_speed", + "id": "gm4_scuba_gear:flippers/swim_speed", + "amount": 1, + "operation": "add_multiplied_base" + } + } + ] + } +} diff --git a/gm4_scuba_gear/data/gm4_scuba_gear/enchantment/wetsuit.json b/gm4_scuba_gear/data/gm4_scuba_gear/enchantment/wetsuit.json new file mode 100644 index 0000000000..e0670e4407 --- /dev/null +++ b/gm4_scuba_gear/data/gm4_scuba_gear/enchantment/wetsuit.json @@ -0,0 +1,109 @@ +{ + "description": "", + "supported_items": "minecraft:leather_leggings", + "weight": 1, + "max_level": 1, + "min_cost": { + "base": 0, + "per_level_above_first": 0 + }, + "max_cost": { + "base": 0, + "per_level_above_first": 0 + }, + "anvil_cost": 0, + "slots": [ + "legs" + ], + "effects": { + "minecraft:location_changed": [ + { + "requirements": [ + { + "condition": "minecraft:entity_properties", + "entity": "this", + "predicate": { + "type_specific": { + "type": "minecraft:player", + "input": { + "jump": false, + "sneak": false + } + }, + "location": { + "fluid": { + "fluids": "#minecraft:water" + } + } + } + } + ], + "effect": { + "type": "minecraft:attribute", + "attribute": "minecraft:gravity", + "id": "gm4_scuba_gear:wetsuit/neutral_buoyancy", + "amount": -1, + "operation": "add_multiplied_total" + } + }, + { + "requirements": [ + { + "condition": "minecraft:entity_properties", + "entity": "this", + "predicate": { + "type_specific": { + "type": "minecraft:player", + "input": { + "jump": true, + "sneak": false + } + }, + "location": { + "fluid": { + "fluids": "#minecraft:water" + } + } + } + } + ], + "effect": { + "type": "minecraft:attribute", + "attribute": "minecraft:gravity", + "id": "gm4_scuba_gear:wetsuit/negative_buoyancy", + "amount": -1.2, + "operation": "add_multiplied_total" + } + }, + { + "requirements": [ + { + "condition": "minecraft:entity_properties", + "entity": "this", + "predicate": { + "type_specific": { + "type": "minecraft:player", + "input": { + "jump": false, + "sneak": true + } + }, + "location": { + "fluid": { + "fluids": "#minecraft:water" + } + } + } + } + ], + "effect": { + "type": "minecraft:attribute", + "attribute": "minecraft:gravity", + "id": "gm4_scuba_gear:wetsuit/positive_buoyancy", + "amount": 1.2, + "operation": "add_multiplied_total" + } + } + ] + } +} diff --git a/gm4_scuba_gear/data/gm4_scuba_gear/function/breathe.mcfunction b/gm4_scuba_gear/data/gm4_scuba_gear/function/breathe.mcfunction deleted file mode 100644 index d0d73c095b..0000000000 --- a/gm4_scuba_gear/data/gm4_scuba_gear/function/breathe.mcfunction +++ /dev/null @@ -1,5 +0,0 @@ -# @s = players with SCUBA helmet and tank equipped -# run from equipped - -effect give @s minecraft:conduit_power 240 -tag @s add gm4_in_water diff --git a/gm4_scuba_gear/data/gm4_scuba_gear/function/check_gear.mcfunction b/gm4_scuba_gear/data/gm4_scuba_gear/function/check_gear.mcfunction deleted file mode 100644 index f7ab37900a..0000000000 --- a/gm4_scuba_gear/data/gm4_scuba_gear/function/check_gear.mcfunction +++ /dev/null @@ -1,5 +0,0 @@ -# @s = player in water -# run from main - -execute unless entity @s[predicate=gm4_scuba_gear:tank_equipped] run function gm4_scuba_gear:remove_effect -execute at @s anchored eyes positioned ^ ^ ^ unless predicate gm4_scuba_gear:in_water run function gm4_scuba_gear:remove_effect diff --git a/gm4_scuba_gear/data/gm4_scuba_gear/function/equipped.mcfunction b/gm4_scuba_gear/data/gm4_scuba_gear/function/equipped.mcfunction deleted file mode 100644 index f6eb8a502f..0000000000 --- a/gm4_scuba_gear/data/gm4_scuba_gear/function/equipped.mcfunction +++ /dev/null @@ -1,5 +0,0 @@ -# @s = player wearing a piece of scuba gear -# run from main - -execute if entity @s[tag=!gm4_in_water,predicate=gm4_scuba_gear:tank_equipped] at @s anchored eyes positioned ^ ^ ^ if predicate gm4_scuba_gear:in_water run function gm4_scuba_gear:breathe -effect give @s[scores={gm4_sg_swim=1..},predicate=gm4_scuba_gear:flippers_equipped] dolphins_grace 3 0 true diff --git a/gm4_scuba_gear/data/gm4_scuba_gear/function/init.mcfunction b/gm4_scuba_gear/data/gm4_scuba_gear/function/init.mcfunction index 734dc51f45..18b5813ced 100644 --- a/gm4_scuba_gear/data/gm4_scuba_gear/function/init.mcfunction +++ b/gm4_scuba_gear/data/gm4_scuba_gear/function/init.mcfunction @@ -1,9 +1,5 @@ -scoreboard objectives add gm4_sg_swim minecraft.custom:minecraft.swim_one_cm - execute unless score scuba_gear gm4_modules matches 1 run data modify storage gm4:log queue append value {type:"install",module:"Scuba Gear"} execute unless score scuba_gear gm4_earliest_version < scuba_gear gm4_modules run scoreboard players operation scuba_gear gm4_earliest_version = scuba_gear gm4_modules scoreboard players set scuba_gear gm4_modules 1 -schedule function gm4_scuba_gear:main 1t - #$moduleUpdateList diff --git a/gm4_scuba_gear/data/gm4_scuba_gear/function/lore/apply_flippers.mcfunction b/gm4_scuba_gear/data/gm4_scuba_gear/function/lore/apply_flippers.mcfunction new file mode 100644 index 0000000000..d5e2edb4b4 --- /dev/null +++ b/gm4_scuba_gear/data/gm4_scuba_gear/function/lore/apply_flippers.mcfunction @@ -0,0 +1,3 @@ + +item modify entity @s armor.feet gm4_scuba_gear:flippers_lore +advancement revoke @s only gm4_scuba_gear:equip_flippers diff --git a/gm4_scuba_gear/data/gm4_scuba_gear/function/lore/apply_wetsuit.mcfunction b/gm4_scuba_gear/data/gm4_scuba_gear/function/lore/apply_wetsuit.mcfunction new file mode 100644 index 0000000000..8b440494c5 --- /dev/null +++ b/gm4_scuba_gear/data/gm4_scuba_gear/function/lore/apply_wetsuit.mcfunction @@ -0,0 +1,3 @@ + +item modify entity @s armor.legs gm4_scuba_gear:wetsuit_lore +advancement revoke @s only gm4_scuba_gear:equip_wetsuit diff --git a/gm4_scuba_gear/data/gm4_scuba_gear/function/main.mcfunction b/gm4_scuba_gear/data/gm4_scuba_gear/function/main.mcfunction deleted file mode 100644 index cb59ce876a..0000000000 --- a/gm4_scuba_gear/data/gm4_scuba_gear/function/main.mcfunction +++ /dev/null @@ -1,8 +0,0 @@ -# check if SCUBA gear is in inventory -execute as @a[gamemode=!spectator,predicate=gm4_scuba_gear:scuba_gear_equipped] run function gm4_scuba_gear:equipped - -# reset scores and tags -scoreboard players reset @a gm4_sg_swim -execute as @a[tag=gm4_in_water] run function gm4_scuba_gear:check_gear - -schedule function gm4_scuba_gear:main 16t diff --git a/gm4_scuba_gear/data/gm4_scuba_gear/function/remove_effect.mcfunction b/gm4_scuba_gear/data/gm4_scuba_gear/function/remove_effect.mcfunction deleted file mode 100644 index ffce14b858..0000000000 --- a/gm4_scuba_gear/data/gm4_scuba_gear/function/remove_effect.mcfunction +++ /dev/null @@ -1,5 +0,0 @@ -# @s = players that no longer fit SCUBA requirements (removes gear or out of water) -# run from main - -effect clear @s minecraft:conduit_power -execute at @s anchored eyes positioned ^ ^ ^ unless predicate gm4_scuba_gear:in_water run tag @s remove gm4_in_water diff --git a/gm4_scuba_gear/data/gm4_scuba_gear/gm4_recipes/scuba_helmet.json b/gm4_scuba_gear/data/gm4_scuba_gear/gm4_recipes/scuba_helmet.json index 7d059cd3e5..ad39b0e801 100644 --- a/gm4_scuba_gear/data/gm4_scuba_gear/gm4_recipes/scuba_helmet.json +++ b/gm4_scuba_gear/data/gm4_scuba_gear/gm4_recipes/scuba_helmet.json @@ -2,18 +2,15 @@ "input": { "type": "shaped", "recipe": [ - "GTG", - "GPG" + "CCC", + "CGC" ], "key": { - "G": { - "item": "minecraft:gold_ingot" - }, - "T": { - "item": "minecraft:turtle_helmet" + "C": { + "item": "minecraft:copper_ingot" }, - "P": { - "item": "minecraft:glass_pane" + "G": { + "item": "minecraft:glass" } } }, diff --git a/gm4_scuba_gear/data/gm4_scuba_gear/gm4_recipes/scuba_tank.json b/gm4_scuba_gear/data/gm4_scuba_gear/gm4_recipes/scuba_tank.json index cf062071d8..1445fb1e1b 100644 --- a/gm4_scuba_gear/data/gm4_scuba_gear/gm4_recipes/scuba_tank.json +++ b/gm4_scuba_gear/data/gm4_scuba_gear/gm4_recipes/scuba_tank.json @@ -2,33 +2,19 @@ "input": { "type": "shaped", "recipe": [ - "GPG", - "SGS", - "GGG" + "C C", + "PCP", + "CCC" ], "key": { - "G": { - "item": "minecraft:gold_ingot" + "C": { + "item": "minecraft:copper_ingot" }, "P": [ { - "item": "minecraft:potion", - "components": {"minecraft:potion_contents":{"potion":"minecraft:water_breathing"}}, - "guidebook": { - "overlay_color": 10017472 - } - }, - { - "item": "minecraft:potion", - "components": {"minecraft:potion_contents":{"potion":"minecraft:long_water_breathing"}}, - "guidebook": { - "overlay_color": 10017472 - } + "item": "minecraft:decorated_pot" } - ], - "S": { - "item": "minecraft:turtle_scute" - } + ] } }, "output": { diff --git a/gm4_scuba_gear/data/gm4_scuba_gear/item_modifier/flippers_lore.json b/gm4_scuba_gear/data/gm4_scuba_gear/item_modifier/flippers_lore.json new file mode 100644 index 0000000000..d1e4874ba9 --- /dev/null +++ b/gm4_scuba_gear/data/gm4_scuba_gear/item_modifier/flippers_lore.json @@ -0,0 +1,46 @@ +{ + "function": "minecraft:set_lore", + "entity": "this", + "lore": [ + { + "translate": "item.modifiers.gm4.scuba_gear.swimming", + "fallback": "When swimming:", + "color": "gray", + "italic": false + }, + { + "translate": "attribute.modifier.plus.1", + "with": [ + "200", + { + "translate": "attribute.name.generic.movement_speed", + "fallback": "Speed" + } + ], + "color": "blue", + "italic": false + }, + { + "text": "" + }, + { + "translate": "item.modifiers.gm4.scuba_gear.on_land", + "fallback": "When on Land:", + "color": "gray", + "italic": false + }, + { + "translate": "attribute.modifier.take.1", + "with": [ + "25", + { + "translate": "attribute.name.generic.movement_speed", + "fallback": "Speed" + } + ], + "color": "red", + "italic": false + } + ], + "mode": "replace_all" +} diff --git a/gm4_scuba_gear/data/gm4_scuba_gear/item_modifier/wetsuit_lore.json b/gm4_scuba_gear/data/gm4_scuba_gear/item_modifier/wetsuit_lore.json new file mode 100644 index 0000000000..abee24df27 --- /dev/null +++ b/gm4_scuba_gear/data/gm4_scuba_gear/item_modifier/wetsuit_lore.json @@ -0,0 +1,31 @@ +{ + "function": "minecraft:set_lore", + "entity": "this", + "lore": [ + { + "translate": "item.modifiers.gm4.scuba_gear.in_water", + "fallback": "When in Water:", + "color": "gray", + "italic": false + }, + { + "translate": "item.modifiers.gm4.scuba_gear.neutral_bouyancy", + "fallback": "Neutral Bouyancy", + "color": "blue", + "italic": false + }, + { + "translate": "attribute.modifier.plus.1", + "with": [ + "20", + { + "translate": "item.modifiers.gm4.scuba_gear.vertical_swimming_speed", + "fallback": "Vertical Swimming Speed" + } + ], + "color": "blue", + "italic": false + } + ], + "mode": "replace_all" +} diff --git a/gm4_scuba_gear/data/gm4_scuba_gear/predicate/in_deep_water.json b/gm4_scuba_gear/data/gm4_scuba_gear/predicate/in_deep_water.json new file mode 100644 index 0000000000..9706b30cb9 --- /dev/null +++ b/gm4_scuba_gear/data/gm4_scuba_gear/predicate/in_deep_water.json @@ -0,0 +1,47 @@ +[ + { + "condition": "minecraft:location_check", + "offsetY": 0, + "predicate": { + "fluid": { + "fluids": "#minecraft:water" + } + } + }, + { + "condition": "minecraft:location_check", + "offsetY": 1, + "predicate": { + "fluid": { + "fluids": "#minecraft:water" + } + } + }, + { + "condition": "minecraft:location_check", + "offsetY": 2, + "predicate": { + "fluid": { + "fluids": "#minecraft:water" + } + } + }, + { + "condition": "minecraft:location_check", + "offsetY": 3, + "predicate": { + "fluid": { + "fluids": "#minecraft:water" + } + } + }, + { + "condition": "minecraft:location_check", + "offsetY": 4, + "predicate": { + "fluid": { + "fluids": "#minecraft:water" + } + } + } +] diff --git a/gm4_scuba_gear/data/gm4_scuba_gear/recipe/flippers.json b/gm4_scuba_gear/data/gm4_scuba_gear/recipe/flippers.json new file mode 100644 index 0000000000..4d09a53c49 --- /dev/null +++ b/gm4_scuba_gear/data/gm4_scuba_gear/recipe/flippers.json @@ -0,0 +1,58 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "equipment", + "pattern": [ + "C C", + "K K" + ], + "key": { + "C": [ + "minecraft:copper_ingot" + ], + "K": [ + "minecraft:dried_kelp" + ] + }, + "result": { + "id": "minecraft:leather_boots", + "components": { + "minecraft:item_name": "{\"translate\": \"item.gm4.flippers\",\"fallback\": \"Flippers\",\"italic\": false,\"color\": \"white\"}", + "minecraft:attribute_modifiers": [ + { + "type": "minecraft:armor", + "id": "gm4_scuba_gear:flippers/armor", + "amount": 1, + "operation": "add_value", + "slot": "feet" + }, + { + "type": "minecraft:water_movement_efficiency", + "id": "gm4_scuba_gear:flippers/water_movement_efficiency", + "amount": 1, + "operation": "add_value", + "slot": "feet" + } + ], + "minecraft:dyed_color": { + "rgb": 2367281, + "show_in_tooltip": false + }, + "minecraft:max_damage": 156, + "!minecraft:enchantable": {}, + "minecraft:custom_model_data": "item/flippers", + "minecraft:custom_data": { + "gm4_scuba_gear": { + "item": "flippers" + } + }, + "minecraft:enchantments": { + "levels": { + "gm4_scuba_gear:flippers": 1 + } + }, + "minecraft:enchantment_glint_override": false, + "minecraft:rarity": "common" + }, + "count": 1 + } +} diff --git a/gm4_scuba_gear/data/gm4_scuba_gear/recipe/scuba_helmet.json b/gm4_scuba_gear/data/gm4_scuba_gear/recipe/scuba_helmet.json new file mode 100644 index 0000000000..b82ace93a8 --- /dev/null +++ b/gm4_scuba_gear/data/gm4_scuba_gear/recipe/scuba_helmet.json @@ -0,0 +1,50 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "equipment", + "pattern": [ + "CCC", + "CGC" + ], + "key": { + "C": [ + "minecraft:copper_ingot" + ], + "G": [ + "minecraft:glass" + ] + }, + "result": { + "id": "minecraft:player_head", + "components": { + "minecraft:item_name": "\"SCUBA Helmet\"", + "minecraft:attribute_modifiers": [ + { + "type": "minecraft:armor", + "id": "gm4_scuba_gear:scuba_helmet/armor", + "amount": 3, + "operation": "add_value", + "slot": "head" + }, + { + "type": "minecraft:submerged_mining_speed", + "id": "gm4_scuba_gear:scuba_helmet/submerged_mining_speed", + "amount": 5, + "operation": "add_multiplied_total", + "slot": "head" + } + ], + "!minecraft:enchantable": {}, + "minecraft:custom_model_data": "item/scuba_helmet", + "minecraft:profile": "$scuba_helmet", + "minecraft:custom_data": { + "gm4_scuba_gear": { + "item": "helmet" + } + }, + "minecraft:max_damage": 132, + "minecraft:max_stack_size": 1, + "minecraft:rarity": "common" + }, + "count": 1 + } +} diff --git a/gm4_scuba_gear/data/gm4_scuba_gear/recipe/scuba_tank.json b/gm4_scuba_gear/data/gm4_scuba_gear/recipe/scuba_tank.json new file mode 100644 index 0000000000..7e0246b0ac --- /dev/null +++ b/gm4_scuba_gear/data/gm4_scuba_gear/recipe/scuba_tank.json @@ -0,0 +1,53 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "equipment", + "pattern": [ + "C C", + "PCP", + "CCC" + ], + "key": { + "C": [ + "minecraft:copper_ingot" + ], + "P": [ + "minecraft:decorated_pot" + ] + }, + "result": { + "id": "minecraft:leather_chestplate", + "components": { + "minecraft:item_name": "\"SCUBA Tank\"", + "minecraft:attribute_modifiers": [ + { + "type": "minecraft:armor", + "id": "gm4_scuba_gear:tank/armor", + "amount": 4, + "operation": "add_value", + "slot": "chest" + }, + { + "type": "minecraft:oxygen_bonus", + "id": "gm4_scuba_gear:tank/oxygen_bonus", + "amount": 16, + "operation": "add_value", + "slot": "chest" + } + ], + "minecraft:max_damage": 192, + "!minecraft:enchantable": {}, + "minecraft:custom_model_data": "item/scuba_tank", + "minecraft:trim": { + "material": "minecraft:copper", + "pattern": "minecraft:silence", + "show_in_tooltip": false + }, + "minecraft:custom_data": { + "gm4_scuba_gear": { + "item": "tank" + } + } + }, + "count": 1 + } +} diff --git a/gm4_scuba_gear/data/gm4_scuba_gear/recipe/wetsuit.json b/gm4_scuba_gear/data/gm4_scuba_gear/recipe/wetsuit.json new file mode 100644 index 0000000000..b5cd65fbd1 --- /dev/null +++ b/gm4_scuba_gear/data/gm4_scuba_gear/recipe/wetsuit.json @@ -0,0 +1,51 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "equipment", + "pattern": [ + "KCK", + "K K", + "K K" + ], + "key": { + "C": [ + "minecraft:copper_ingot" + ], + "K": [ + "minecraft:dried_kelp" + ] + }, + "result": { + "id": "minecraft:leather_leggings", + "components": { + "minecraft:item_name": "{\"translate\": \"item.gm4.wetsuit\",\"fallback\": \"Wetsuit\",\"italic\": false,\"color\": \"white\"}", + "minecraft:attribute_modifiers": [ + { + "type": "minecraft:armor", + "id": "gm4_scuba_gear:wetsuit/armor", + "amount": 2, + "operation": "add_value", + "slot": "legs" + } + ], + "minecraft:dyed_color": { + "rgb": 2367281, + "show_in_tooltip": false + }, + "minecraft:max_damage": 180, + "!minecraft:enchantable": {}, + "minecraft:custom_data": { + "gm4_scuba_gear": { + "item": "wetsuit" + } + }, + "minecraft:enchantments": { + "levels": { + "gm4_scuba_gear:wetsuit": 1 + } + }, + "minecraft:enchantment_glint_override": false, + "minecraft:rarity": "common" + }, + "count": 1 + } +} diff --git a/gm4_scuba_gear/data/minecraft/tags/enchantment/curses.json b/gm4_scuba_gear/data/minecraft/tags/enchantment/curses.json new file mode 100644 index 0000000000..c60d1bfddf --- /dev/null +++ b/gm4_scuba_gear/data/minecraft/tags/enchantment/curses.json @@ -0,0 +1,7 @@ +{ + "replace": false, + "values": [ + "gm4_scuba_gear:wetsuit", + "gm4_scuba_gear:flippers" + ] +} From 1a9ca551817011644009e4d17453abfa3522f9ee Mon Sep 17 00:00:00 2001 From: EpyonProjects <66185010+EpyonProjects@users.noreply.github.com> Date: Wed, 28 May 2025 14:21:15 -0400 Subject: [PATCH 02/12] Finished initial draft --- gm4/modeldata_registry.json | 1 + gm4_scuba_gear/README.md | 7 +- gm4_scuba_gear/assets/translations.csv | 12 +- gm4_scuba_gear/beet.yaml | 7 +- .../advancement/equip_flippers.json | 46 ----- .../advancement/equip_wetsuit.json | 46 ----- .../gm4_scuba_gear/enchantment/wetsuit.json | 178 ++++++++++++++---- .../function/check_recipes.mcfunction | 8 +- .../function/lore/apply_flippers.mcfunction | 3 - .../function/lore/apply_wetsuit.mcfunction | 3 - .../wetsuit_buoyancy/clear.mcfunction | 10 + .../wetsuit_buoyancy/negative.mcfunction | 10 + .../wetsuit_buoyancy/neutral.mcfunction | 10 + .../wetsuit_buoyancy/positive.mcfunction | 10 + .../gm4_scuba_gear/gm4_recipes/flippers.json | 15 +- .../gm4_scuba_gear/gm4_recipes/wetsuit.json | 28 +++ .../gm4_scuba_gear/guidebook/scuba_gear.json | 110 ++++++++--- .../item_modifier/flippers_lore.json | 46 ----- .../item_modifier/wetsuit_buoyancy/clear.json | 13 ++ .../wetsuit_buoyancy/negative.json | 13 ++ .../wetsuit_buoyancy/neutral.json | 13 ++ .../wetsuit_buoyancy/positive.json | 13 ++ .../item_modifier/wetsuit_lore.json | 31 --- .../loot_table/crafting/flippers.json | 48 ++--- .../loot_table/crafting/scuba_helmet.json | 48 ++--- .../loot_table/crafting/scuba_tank.json | 48 ++--- .../loot_table/crafting/wetsuit.json | 29 +++ .../loot_table/items/flippers.json | 74 ++++++-- .../loot_table/items/scuba_helmet.json | 12 +- .../loot_table/items/scuba_tank.json | 14 +- .../loot_table/items/wetsuit.json | 98 ++++++++++ .../gm4_scuba_gear/predicate/has_tags.json | 26 +++ .../predicate/scuba_gear_equipped.json | 53 ------ .../predicate/tank_equipped.json | 24 --- .../predicate/wetsuit_buoyancy/negative.json | 33 ++++ .../predicate/wetsuit_buoyancy/neutral.json | 51 +++++ .../predicate/wetsuit_buoyancy/positive.json | 33 ++++ .../data/gm4_scuba_gear/recipe/flippers.json | 59 +++++- .../gm4_scuba_gear/recipe/scuba_helmet.json | 2 +- .../data/gm4_scuba_gear/recipe/wetsuit.json | 62 +++++- .../test/craft_flippers.mcfunction | 8 +- ...nction => use_helmet_and_tank.mcfunction_} | 2 + .../enchantment/{curses.json => curse.json} | 0 43 files changed, 891 insertions(+), 466 deletions(-) delete mode 100644 gm4_scuba_gear/data/gm4_scuba_gear/advancement/equip_flippers.json delete mode 100644 gm4_scuba_gear/data/gm4_scuba_gear/advancement/equip_wetsuit.json delete mode 100644 gm4_scuba_gear/data/gm4_scuba_gear/function/lore/apply_flippers.mcfunction delete mode 100644 gm4_scuba_gear/data/gm4_scuba_gear/function/lore/apply_wetsuit.mcfunction create mode 100644 gm4_scuba_gear/data/gm4_scuba_gear/function/wetsuit_buoyancy/clear.mcfunction create mode 100644 gm4_scuba_gear/data/gm4_scuba_gear/function/wetsuit_buoyancy/negative.mcfunction create mode 100644 gm4_scuba_gear/data/gm4_scuba_gear/function/wetsuit_buoyancy/neutral.mcfunction create mode 100644 gm4_scuba_gear/data/gm4_scuba_gear/function/wetsuit_buoyancy/positive.mcfunction create mode 100644 gm4_scuba_gear/data/gm4_scuba_gear/gm4_recipes/wetsuit.json delete mode 100644 gm4_scuba_gear/data/gm4_scuba_gear/item_modifier/flippers_lore.json create mode 100644 gm4_scuba_gear/data/gm4_scuba_gear/item_modifier/wetsuit_buoyancy/clear.json create mode 100644 gm4_scuba_gear/data/gm4_scuba_gear/item_modifier/wetsuit_buoyancy/negative.json create mode 100644 gm4_scuba_gear/data/gm4_scuba_gear/item_modifier/wetsuit_buoyancy/neutral.json create mode 100644 gm4_scuba_gear/data/gm4_scuba_gear/item_modifier/wetsuit_buoyancy/positive.json delete mode 100644 gm4_scuba_gear/data/gm4_scuba_gear/item_modifier/wetsuit_lore.json create mode 100644 gm4_scuba_gear/data/gm4_scuba_gear/loot_table/crafting/wetsuit.json create mode 100644 gm4_scuba_gear/data/gm4_scuba_gear/loot_table/items/wetsuit.json create mode 100644 gm4_scuba_gear/data/gm4_scuba_gear/predicate/has_tags.json delete mode 100644 gm4_scuba_gear/data/gm4_scuba_gear/predicate/scuba_gear_equipped.json delete mode 100644 gm4_scuba_gear/data/gm4_scuba_gear/predicate/tank_equipped.json create mode 100644 gm4_scuba_gear/data/gm4_scuba_gear/predicate/wetsuit_buoyancy/negative.json create mode 100644 gm4_scuba_gear/data/gm4_scuba_gear/predicate/wetsuit_buoyancy/neutral.json create mode 100644 gm4_scuba_gear/data/gm4_scuba_gear/predicate/wetsuit_buoyancy/positive.json rename gm4_scuba_gear/data/gm4_scuba_gear/test/{use_helmet_and_tank.mcfunction => use_helmet_and_tank.mcfunction_} (96%) rename gm4_scuba_gear/data/minecraft/tags/enchantment/{curses.json => curse.json} (100%) diff --git a/gm4/modeldata_registry.json b/gm4/modeldata_registry.json index 3d0cd6842e..b5378dafbf 100644 --- a/gm4/modeldata_registry.json +++ b/gm4/modeldata_registry.json @@ -975,6 +975,7 @@ }, "leather_leggings": { "gm4_washing_tanks:guidebook_icon/washing_tanks": 1, + "gm4_scuba_gear:item/wetsuit": 2, "gm4_weighted_armour:shamir/helious": 103, "gm4_metallurgy:shamir/defuse": 106, "gm4_animi_shamir:shamir/animi": 124 diff --git a/gm4_scuba_gear/README.md b/gm4_scuba_gear/README.md index 0c0a639b52..543d26ffae 100644 --- a/gm4_scuba_gear/README.md +++ b/gm4_scuba_gear/README.md @@ -3,6 +3,7 @@ Ease ocean exploration with craftable scuba gear! ### Features -- Adds Flippers which allow players to swim faster in Water. -- Adds the SCUBA Tank and Helmet which gives 4 minutes of conduit power when submerged. -- When worn on land, the player is given a slowness debuff. +- Adds the Wetsuit and Flippers which aids players in underwater movement. +- When worn Flippers are on land, the player is given a slowness debuff. +- Adds the SCUBA Tank which adds 4 minutes of submerged air time. +- Adds the SCUBA Helmet which hastens underwater mining diff --git a/gm4_scuba_gear/assets/translations.csv b/gm4_scuba_gear/assets/translations.csv index 4a1251fbe6..6f8157c515 100644 --- a/gm4_scuba_gear/assets/translations.csv +++ b/gm4_scuba_gear/assets/translations.csv @@ -2,6 +2,7 @@ key,en_us item.gm4.flippers,Flippers item.gm4.scuba_helmet,SCUBA Helmet item.gm4.scuba_tank,SCUBA Tank +item.gm4.wetsuit,Wetsuit advancement.gm4.scuba_gear.title,Things Are Going Swimmingly! advancement.gm4.scuba_gear.description,Suit up with a full set of SCUBA gear text.gm4.guidebook.module_desc.scuba_gear,Ease ocean exploration with craftable scuba gear! @@ -9,6 +10,13 @@ text.gm4.guidebook.scuba_gear.description,SCUBA Gear can be crafted in a Custom text.gm4.guidebook.scuba_gear.crafting_flippers,Flippers can be crafted with the following recipe: text.gm4.guidebook.scuba_gear.crafting_scuba_helmet,The SCUBA Helmet can be crafted with the following recipe: text.gm4.guidebook.scuba_gear.crafting_scuba_tank,The SCUBA Tank can be crafted with the following recipe: -text.gm4.guidebook.scuba_gear.scuba_tank_extended,"An extended water breathing potion can be used to craft the tank, but it won't provide any extra benefits.\n\nA SCUBA tank and helmet must be used in conjunction." +text.gm4.guidebook.scuba_gear.crafting_wetsuit,The Wetsuit can be crafted with the following recipe: text.gm4.guidebook.scuba_gear.usage_flippers,"Flippers allow the user to swim much faster, but land traversal is greatly slowed." -text.gm4.guidebook.scuba_gear.usage_scuba_tank,Wearing both the scuba tank and helmet will grant 4 minutes of Conduit Power when underwater. +text.gm4.guidebook.scuba_gear.usage_wetsuit,"The Wetsuit allows the user to swim up or down much faster, and maintains their current depth." +text.gm4.guidebook.scuba_gear.usage_scuba_tank,Wearing the scuba tank adds 4 minutes of underwater breathing time. +text.gm4.guidebook.scuba_gear.usage_scuba_helmet,Wearing the scuba helmet increases underwater mining speed by 6 times. +item.modifiers.gm4.scuba_gear.in_water,"When in Water:" +item.modifiers.gm4.scuba_gear.on_land,"When on Land:" +item.modifiers.gm4.scuba_gear.swimming,"When swimming:" +item.modifiers.gm4.scuba_gear.neutral_buoyancy,"Neutral Buoyancy" +item.modifiers.gm4.scuba_gear.vertical_swimming_speed,"Vertical Swimming Speed" diff --git a/gm4_scuba_gear/beet.yaml b/gm4_scuba_gear/beet.yaml index f76d2457f8..55fd384171 100644 --- a/gm4_scuba_gear/beet.yaml +++ b/gm4_scuba_gear/beet.yaml @@ -1,6 +1,6 @@ id: gm4_scuba_gear name: SCUBA Gear -version: 1.6.X +version: 2.0.X data_pack: load: . @@ -30,6 +30,8 @@ meta: credits: Creator: - BPR + Updated by: + - TheEpyonProject Textures by: - BPR Icon Design: @@ -44,6 +46,9 @@ meta: - item: player_head reference: item/scuba_helmet template: generated + - item: leather_leggings + reference: item/wetsuit + template: generated_overlay - item: player_head reference: gui/advancement/scuba_gear template: diff --git a/gm4_scuba_gear/data/gm4_scuba_gear/advancement/equip_flippers.json b/gm4_scuba_gear/data/gm4_scuba_gear/advancement/equip_flippers.json deleted file mode 100644 index bb8e8cec4a..0000000000 --- a/gm4_scuba_gear/data/gm4_scuba_gear/advancement/equip_flippers.json +++ /dev/null @@ -1,46 +0,0 @@ -{ - "criteria": { - "equip_flippers": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "player": [ - { - "condition": "minecraft:entity_properties", - "entity": "this", - "predicate": { - "equipment": { - "feet": { - "items": "minecraft:leather_boots", - "components": { - "minecraft:lore": [] - }, - "predicates": { - "minecraft:custom_data": { - "gm4_scuba_gear": { - "item": "flippers" - } - } - } - } - } - } - }], - "items": [ - { - "items": "minecraft:leather_boots", - "predicates": { - "minecraft:custom_data": { - "gm4_scuba_gear": { - "item": "flippers" - } - } - } - } - ] - } - } - }, - "rewards": { - "function": "gm4_scuba_gear:lore/apply_flippers" - } -} diff --git a/gm4_scuba_gear/data/gm4_scuba_gear/advancement/equip_wetsuit.json b/gm4_scuba_gear/data/gm4_scuba_gear/advancement/equip_wetsuit.json deleted file mode 100644 index 9766bd55d8..0000000000 --- a/gm4_scuba_gear/data/gm4_scuba_gear/advancement/equip_wetsuit.json +++ /dev/null @@ -1,46 +0,0 @@ -{ - "criteria": { - "equip_flippers": { - "trigger": "minecraft:inventory_changed", - "conditions": { - "player": [ - { - "condition": "minecraft:entity_properties", - "entity": "this", - "predicate": { - "equipment": { - "legs": { - "items": "minecraft:leather_leggings", - "components": { - "minecraft:lore": [] - }, - "predicates": { - "minecraft:custom_data": { - "gm4_scuba_gear": { - "item": "wetsuit" - } - } - } - } - } - } - }], - "items": [ - { - "items": "minecraft:leather_leggings", - "predicates": { - "minecraft:custom_data": { - "gm4_scuba_gear": { - "item": "wetsuit" - } - } - } - } - ] - } - } - }, - "rewards": { - "function": "gm4_scuba_gear:lore/apply_wetsuit" - } -} diff --git a/gm4_scuba_gear/data/gm4_scuba_gear/enchantment/wetsuit.json b/gm4_scuba_gear/data/gm4_scuba_gear/enchantment/wetsuit.json index e0670e4407..45385b8cfc 100644 --- a/gm4_scuba_gear/data/gm4_scuba_gear/enchantment/wetsuit.json +++ b/gm4_scuba_gear/data/gm4_scuba_gear/enchantment/wetsuit.json @@ -16,38 +16,134 @@ "legs" ], "effects": { - "minecraft:location_changed": [ + "minecraft:tick": [ { "requirements": [ { - "condition": "minecraft:entity_properties", - "entity": "this", + "condition": "minecraft:all_of", + "terms": [ + { + "condition": "minecraft:inverted", + "term": { + "condition": "minecraft:location_check", + "predicate": { + "fluid": { + "fluids": "#minecraft:water" + } + } + } + }, + { + "condition": "minecraft:any_of", + "terms": [ + { + "condition": "minecraft:entity_properties", + "entity": "this", + "predicate": { + "nbt": "{Tags:[\"gm4_sg_buoyancy_neutral\"]}" + } + }, + { + "condition": "minecraft:entity_properties", + "entity": "this", + "predicate": { + "nbt": "{Tags:[\"gm4_sg_buoyancy_negative\"]}" + } + }, + { + "condition": "minecraft:entity_properties", + "entity": "this", + "predicate": { + "nbt": "{Tags:[\"gm4_sg_buoyancy_positive\"]}" + } + } + ] + } + ] + } + ], + "effect": { + "type": "minecraft:run_function", + "function": "gm4_scuba_gear:wetsuit_buoyancy/clear" + } + }, + { + "requirements": [ + { + "condition": "minecraft:location_check", "predicate": { - "type_specific": { - "type": "minecraft:player", - "input": { - "jump": false, - "sneak": false + "fluid": { + "fluids": "#minecraft:water" + } + } + }, + { + "condition": "minecraft:any_of", + "terms": [ + { + "condition": "minecraft:entity_properties", + "entity": "this", + "predicate": { + "type_specific": { + "type": "minecraft:player", + "input": { + "jump": false, + "sneak": false + } + } } }, - "location": { - "fluid": { - "fluids": "#minecraft:water" + { + "condition": "minecraft:entity_properties", + "entity": "this", + "predicate": { + "type_specific": { + "type": "minecraft:player", + "input": { + "jump": true, + "sneak": true + } + } } } + ] + }, + { + "condition": "minecraft:inverted", + "term": { + "condition": "minecraft:entity_properties", + "entity": "this", + "predicate": { + "nbt": "{Tags:[\"gm4_sg_buoyancy_neutral\"]}" + } } } ], "effect": { - "type": "minecraft:attribute", - "attribute": "minecraft:gravity", - "id": "gm4_scuba_gear:wetsuit/neutral_buoyancy", - "amount": -1, - "operation": "add_multiplied_total" + "type": "minecraft:run_function", + "function": "gm4_scuba_gear:wetsuit_buoyancy/neutral" } }, { "requirements": [ + { + "condition": "minecraft:location_check", + "predicate": { + "fluid": { + "fluids": "#minecraft:water" + } + } + }, + { + "condition": "minecraft:inverted", + "term": { + "condition": "minecraft:entity_properties", + "entity": "this", + "predicate": { + "nbt": "{Tags:[\"gm4_sg_buoyancy_negative\"]}" + } + } + }, { "condition": "minecraft:entity_properties", "entity": "this", @@ -55,28 +151,38 @@ "type_specific": { "type": "minecraft:player", "input": { - "jump": true, - "sneak": false - } - }, - "location": { - "fluid": { - "fluids": "#minecraft:water" + "jump": false, + "sneak": true } } } } ], "effect": { - "type": "minecraft:attribute", - "attribute": "minecraft:gravity", - "id": "gm4_scuba_gear:wetsuit/negative_buoyancy", - "amount": -1.2, - "operation": "add_multiplied_total" + "type": "minecraft:run_function", + "function": "gm4_scuba_gear:wetsuit_buoyancy/negative" } }, { "requirements": [ + { + "condition": "minecraft:location_check", + "predicate": { + "fluid": { + "fluids": "#minecraft:water" + } + } + }, + { + "condition": "minecraft:inverted", + "term": { + "condition": "minecraft:entity_properties", + "entity": "this", + "predicate": { + "nbt": "{Tags:[\"gm4_sg_buoyancy_positive\"]}" + } + } + }, { "condition": "minecraft:entity_properties", "entity": "this", @@ -84,24 +190,16 @@ "type_specific": { "type": "minecraft:player", "input": { - "jump": false, - "sneak": true - } - }, - "location": { - "fluid": { - "fluids": "#minecraft:water" + "jump": true, + "sneak": false } } } } ], "effect": { - "type": "minecraft:attribute", - "attribute": "minecraft:gravity", - "id": "gm4_scuba_gear:wetsuit/positive_buoyancy", - "amount": 1.2, - "operation": "add_multiplied_total" + "type": "minecraft:run_function", + "function": "gm4_scuba_gear:wetsuit_buoyancy/positive" } } ] diff --git a/gm4_scuba_gear/data/gm4_scuba_gear/function/check_recipes.mcfunction b/gm4_scuba_gear/data/gm4_scuba_gear/function/check_recipes.mcfunction index 6e1f30d2e4..fdc6916a10 100644 --- a/gm4_scuba_gear/data/gm4_scuba_gear/function/check_recipes.mcfunction +++ b/gm4_scuba_gear/data/gm4_scuba_gear/function/check_recipes.mcfunction @@ -1,4 +1,4 @@ -execute if score $crafted gm4_crafting matches 0 store success score $crafted gm4_crafting if score $slot_count gm4_crafting matches 6 if score $stack_size gm4_crafting matches ..64 if data storage gm4_custom_crafters:temp/crafter {Items:[{Slot:0b,id:"minecraft:gold_ingot"},{Slot:1b,id:"minecraft:turtle_helmet"},{Slot:2b,id:"minecraft:gold_ingot"},{Slot:3b,id:"minecraft:gold_ingot"},{Slot:4b,id:"minecraft:glass_pane"},{Slot:5b,id:"minecraft:gold_ingot"}]} run loot replace block ~ ~ ~ container.0 loot gm4_scuba_gear:crafting/scuba_helmet -execute if score $crafted gm4_crafting matches 0 store success score $crafted gm4_crafting if score $slot_count gm4_crafting matches 9 if score $stack_size gm4_crafting matches 1 if data storage gm4_custom_crafters:temp/crafter {Items:[{Slot:0b,id:"minecraft:gold_ingot"},{Slot:1b,id:"minecraft:potion",components:{"minecraft:potion_contents":{potion:"minecraft:water_breathing"}}},{Slot:2b,id:"minecraft:gold_ingot"},{Slot:3b,id:"minecraft:turtle_scute"},{Slot:4b,id:"minecraft:gold_ingot"},{Slot:5b,id:"minecraft:turtle_scute"},{Slot:6b,id:"minecraft:gold_ingot"},{Slot:7b,id:"minecraft:gold_ingot"},{Slot:8b,id:"minecraft:gold_ingot"}]} run loot replace block ~ ~ ~ container.0 loot gm4_scuba_gear:crafting/scuba_tank -execute if score $crafted gm4_crafting matches 0 store success score $crafted gm4_crafting if score $slot_count gm4_crafting matches 9 if score $stack_size gm4_crafting matches 1 if data storage gm4_custom_crafters:temp/crafter {Items:[{Slot:0b,id:"minecraft:gold_ingot"},{Slot:1b,id:"minecraft:potion",components:{"minecraft:potion_contents":{potion:"minecraft:long_water_breathing"}}},{Slot:2b,id:"minecraft:gold_ingot"},{Slot:3b,id:"minecraft:turtle_scute"},{Slot:4b,id:"minecraft:gold_ingot"},{Slot:5b,id:"minecraft:turtle_scute"},{Slot:6b,id:"minecraft:gold_ingot"},{Slot:7b,id:"minecraft:gold_ingot"},{Slot:8b,id:"minecraft:gold_ingot"}]} run loot replace block ~ ~ ~ container.0 loot gm4_scuba_gear:crafting/scuba_tank -execute if score $crafted gm4_crafting matches 0 store success score $crafted gm4_crafting if score $slot_count gm4_crafting matches 6 if score $stack_size gm4_crafting matches 1 if data storage gm4_custom_crafters:temp/crafter {Items:[{Slot:0b,id:"minecraft:turtle_scute"},{Slot:2b,id:"minecraft:turtle_scute"},{Slot:3b,id:"minecraft:rabbit_hide"},{Slot:5b,id:"minecraft:rabbit_hide"},{Slot:6b,id:"minecraft:rabbit_hide"},{Slot:8b,id:"minecraft:rabbit_hide"}]} run loot replace block ~ ~ ~ container.0 loot gm4_scuba_gear:crafting/flippers +execute if score $crafted gm4_crafting matches 0 store success score $crafted gm4_crafting if score $slot_count gm4_crafting matches 6 if score $stack_size gm4_crafting matches ..64 if data storage gm4_custom_crafters:temp/crafter {Items:[{Slot:0b,id:"minecraft:copper_ingot"},{Slot:1b,id:"minecraft:copper_ingot"},{Slot:2b,id:"minecraft:copper_ingot"},{Slot:3b,id:"minecraft:copper_ingot"},{Slot:4b,id:"minecraft:glass"},{Slot:5b,id:"minecraft:copper_ingot"}]} run loot replace block ~ ~ ~ container.0 loot gm4_scuba_gear:crafting/scuba_helmet +execute if score $crafted gm4_crafting matches 0 store success score $crafted gm4_crafting if score $slot_count gm4_crafting matches 8 if score $stack_size gm4_crafting matches 1 if data storage gm4_custom_crafters:temp/crafter {Items:[{Slot:0b,id:"minecraft:copper_ingot"},{Slot:2b,id:"minecraft:copper_ingot"},{Slot:3b,id:"minecraft:decorated_pot"},{Slot:4b,id:"minecraft:copper_ingot"},{Slot:5b,id:"minecraft:decorated_pot"},{Slot:6b,id:"minecraft:copper_ingot"},{Slot:7b,id:"minecraft:copper_ingot"},{Slot:8b,id:"minecraft:copper_ingot"}]} run loot replace block ~ ~ ~ container.0 loot gm4_scuba_gear:crafting/scuba_tank +execute if score $crafted gm4_crafting matches 0 store success score $crafted gm4_crafting if score $slot_count gm4_crafting matches 7 if score $stack_size gm4_crafting matches 1 if data storage gm4_custom_crafters:temp/crafter {Items:[{Slot:0b,id:"minecraft:dried_kelp"},{Slot:1b,id:"minecraft:copper_ingot"},{Slot:2b,id:"minecraft:dried_kelp"},{Slot:3b,id:"minecraft:dried_kelp"},{Slot:5b,id:"minecraft:dried_kelp"},{Slot:6b,id:"minecraft:dried_kelp"},{Slot:8b,id:"minecraft:dried_kelp"}]} run loot replace block ~ ~ ~ container.0 loot gm4_scuba_gear:crafting/scuba_tank +execute if score $crafted gm4_crafting matches 0 store success score $crafted gm4_crafting if score $slot_count gm4_crafting matches 4 if score $stack_size gm4_crafting matches 1 if data storage gm4_custom_crafters:temp/crafter {Items:[{Slot:3b,id:"minecraft:copper_ingot"},{Slot:5b,id:"minecraft:copper_ingot"},{Slot:6b,id:"minecraft:dried_kelp"},{Slot:8b,id:"minecraft:dried_kelp"}]} run loot replace block ~ ~ ~ container.0 loot gm4_scuba_gear:crafting/flippers diff --git a/gm4_scuba_gear/data/gm4_scuba_gear/function/lore/apply_flippers.mcfunction b/gm4_scuba_gear/data/gm4_scuba_gear/function/lore/apply_flippers.mcfunction deleted file mode 100644 index d5e2edb4b4..0000000000 --- a/gm4_scuba_gear/data/gm4_scuba_gear/function/lore/apply_flippers.mcfunction +++ /dev/null @@ -1,3 +0,0 @@ - -item modify entity @s armor.feet gm4_scuba_gear:flippers_lore -advancement revoke @s only gm4_scuba_gear:equip_flippers diff --git a/gm4_scuba_gear/data/gm4_scuba_gear/function/lore/apply_wetsuit.mcfunction b/gm4_scuba_gear/data/gm4_scuba_gear/function/lore/apply_wetsuit.mcfunction deleted file mode 100644 index 8b440494c5..0000000000 --- a/gm4_scuba_gear/data/gm4_scuba_gear/function/lore/apply_wetsuit.mcfunction +++ /dev/null @@ -1,3 +0,0 @@ - -item modify entity @s armor.legs gm4_scuba_gear:wetsuit_lore -advancement revoke @s only gm4_scuba_gear:equip_wetsuit diff --git a/gm4_scuba_gear/data/gm4_scuba_gear/function/wetsuit_buoyancy/clear.mcfunction b/gm4_scuba_gear/data/gm4_scuba_gear/function/wetsuit_buoyancy/clear.mcfunction new file mode 100644 index 0000000000..c0fd8c9847 --- /dev/null +++ b/gm4_scuba_gear/data/gm4_scuba_gear/function/wetsuit_buoyancy/clear.mcfunction @@ -0,0 +1,10 @@ +# removes wetsuit attributes when out of water +# @s = player wearing wetsuit +# located at @s +# run from enchant, gm4_scuba_gear:enchantment/wetsuit + +item modify entity @s armor.legs gm4_scuba_gear:wetsuit_buoyancy/clear + +tag @s remove gm4_sg_buoyancy_positive +tag @s remove gm4_sg_buoyancy_neutral +tag @s remove gm4_sg_buoyancy_negative diff --git a/gm4_scuba_gear/data/gm4_scuba_gear/function/wetsuit_buoyancy/negative.mcfunction b/gm4_scuba_gear/data/gm4_scuba_gear/function/wetsuit_buoyancy/negative.mcfunction new file mode 100644 index 0000000000..32e307d4bd --- /dev/null +++ b/gm4_scuba_gear/data/gm4_scuba_gear/function/wetsuit_buoyancy/negative.mcfunction @@ -0,0 +1,10 @@ +# increases player gravity when actively sinking +# @s = player wearing wetsuit, sneak input +# located at @s, in water +# run from enchant, gm4_scuba_gear:enchantment/wetsuit + +item modify entity @s armor.legs gm4_scuba_gear:wetsuit_buoyancy/negative + +tag @s remove gm4_sg_buoyancy_positive +tag @s remove gm4_sg_buoyancy_neutral +tag @s add gm4_sg_buoyancy_negative diff --git a/gm4_scuba_gear/data/gm4_scuba_gear/function/wetsuit_buoyancy/neutral.mcfunction b/gm4_scuba_gear/data/gm4_scuba_gear/function/wetsuit_buoyancy/neutral.mcfunction new file mode 100644 index 0000000000..ccda2bcdfa --- /dev/null +++ b/gm4_scuba_gear/data/gm4_scuba_gear/function/wetsuit_buoyancy/neutral.mcfunction @@ -0,0 +1,10 @@ +# negates player gravity to maintain vertical position +# @s = player wearing wetsuit, not sneak or jump input +# located at @s, in water +# run from enchant, gm4_scuba_gear:enchantment/wetsuit + +item modify entity @s armor.legs gm4_scuba_gear:wetsuit_buoyancy/neutral + +tag @s remove gm4_sg_buoyancy_positive +tag @s remove gm4_sg_buoyancy_negative +tag @s add gm4_sg_buoyancy_neutral diff --git a/gm4_scuba_gear/data/gm4_scuba_gear/function/wetsuit_buoyancy/positive.mcfunction b/gm4_scuba_gear/data/gm4_scuba_gear/function/wetsuit_buoyancy/positive.mcfunction new file mode 100644 index 0000000000..b5711c668f --- /dev/null +++ b/gm4_scuba_gear/data/gm4_scuba_gear/function/wetsuit_buoyancy/positive.mcfunction @@ -0,0 +1,10 @@ +# decreases player gravity when actively ascending +# @s = player wearing wetsuit, jump input +# located at @s, in water +# run from enchant, gm4_scuba_gear:enchantment/wetsuit + +item modify entity @s armor.legs gm4_scuba_gear:wetsuit_buoyancy/negative + +tag @s remove gm4_sg_buoyancy_negative +tag @s remove gm4_sg_buoyancy_neutral +tag @s add gm4_sg_buoyancy_positive diff --git a/gm4_scuba_gear/data/gm4_scuba_gear/gm4_recipes/flippers.json b/gm4_scuba_gear/data/gm4_scuba_gear/gm4_recipes/flippers.json index dee6bfcba2..2d6c461b99 100644 --- a/gm4_scuba_gear/data/gm4_scuba_gear/gm4_recipes/flippers.json +++ b/gm4_scuba_gear/data/gm4_scuba_gear/gm4_recipes/flippers.json @@ -2,16 +2,15 @@ "input": { "type": "shaped", "recipe": [ - "S S", - "R R", - "R R" + "C C", + "K K" ], "key": { - "S": { - "item": "minecraft:turtle_scute" + "C": { + "item": "minecraft:copper_ingot" }, - "R": { - "item": "minecraft:rabbit_hide" + "K": { + "item": "minecraft:dried_kelp" } } }, @@ -21,7 +20,7 @@ "name": "gm4_scuba_gear:items/flippers", "count": 1, "guidebook": { - "display_color": 11009871 + "display_color": 2367281 } } } diff --git a/gm4_scuba_gear/data/gm4_scuba_gear/gm4_recipes/wetsuit.json b/gm4_scuba_gear/data/gm4_scuba_gear/gm4_recipes/wetsuit.json new file mode 100644 index 0000000000..5ae5942c2a --- /dev/null +++ b/gm4_scuba_gear/data/gm4_scuba_gear/gm4_recipes/wetsuit.json @@ -0,0 +1,28 @@ +{ + "input": { + "type": "shaped", + "recipe": [ + "KCK", + "K K", + "K K" + ], + "key": { + "K": { + "item": "minecraft:dried_kelp" + }, + "C": { + "item": "minecraft:copper_ingot" + } + } + }, + "output": { + "result": { + "type": "loot_table", + "name": "gm4_scuba_gear:items/wetsuit", + "count": 1, + "guidebook": { + "display_color": 2367281 + } + } + } +} diff --git a/gm4_scuba_gear/data/gm4_scuba_gear/guidebook/scuba_gear.json b/gm4_scuba_gear/data/gm4_scuba_gear/guidebook/scuba_gear.json index 36dd9d602b..c0225c8e8b 100644 --- a/gm4_scuba_gear/data/gm4_scuba_gear/guidebook/scuba_gear.json +++ b/gm4_scuba_gear/data/gm4_scuba_gear/guidebook/scuba_gear.json @@ -6,68 +6,70 @@ "id": "minecraft:horn_coral" }, "criteria": { - "obtain_scute": { + "obtain_copper": { "trigger": "minecraft:inventory_changed", "conditions": { "items": [ { "items": [ - "minecraft:turtle_scute" + "minecraft:copper_ingot" ] } ] } }, - "obtain_water_breathing": { + "obtain_dried_kelp": { "trigger": "minecraft:inventory_changed", "conditions": { "items": [ { - "items": "minecraft:potion", - "predicates": { - "minecraft:potion_contents": "minecraft:water_breathing" - } + "items": [ + "minecraft:dried_kelp" + ] } ] } }, - "obtain_turtle_helmet": { + "obtain_scuba_helmet": { "trigger": "minecraft:inventory_changed", "conditions": { "items": [ { "items": [ - "minecraft:turtle_helmet" - ] + "minecraft:player_head" + ], + "predicates": { + "minecraft:custom_data": "{gm4_scuba_gear:{item:\"helmet\"}}" + } } ] } }, - "obtain_scuba_helmet": { + "obtain_scuba_tank": { "trigger": "minecraft:inventory_changed", "conditions": { "items": [ { "items": [ - "minecraft:player_head" + "minecraft:golden_chestplate" ], "predicates": { - "minecraft:custom_data": "{gm4_scuba_gear:{item:\"helmet\"}}" + "minecraft:custom_data": "{gm4_scuba_gear:{item:\"tank\"}}" } } ] } }, - "obtain_scuba_tank": { + "obtain_wetsuit": { "trigger": "minecraft:inventory_changed", "conditions": { "items": [ { "items": [ - "minecraft:golden_chestplate" + "minecraft:leather_leggings" ], "predicates": { - "minecraft:custom_data": "{gm4_scuba_gear:{item:\"tank\"}}" + "minecraft:custom_data": "{gm4_scuba_gear:{item:\"wetsuit\"}}" } } ] @@ -101,7 +103,7 @@ }, { "translate": "text.gm4.guidebook.scuba_gear.description", - "fallback": "SCUBA Gear can be crafted in a Custom Crafter to aid in ocean travel.\n\nScutes and gold are main components for each piece." + "fallback": "SCUBA Gear can be crafted to aid in ocean travel.\n\nCopper and dried kelp are main components for each piece." } ] ] @@ -111,7 +113,7 @@ "enable": [], "requirements": [ [ - "obtain_scute" + "obtain_dried_kelp" ] ], "pages": [ @@ -128,12 +130,34 @@ ] ] }, + { + "name": "crafting_wetsuit", + "enable": [], + "requirements": [ + [ + "obtain_dried_kelp" + ] + ], + "pages": [ + [ + { + "translate": "text.gm4.guidebook.scuba_gear.crafting_wetsuit", + "fallback": "The Wetsuit can be crafted with the following recipe:" + }, + "\n", + { + "insert": "recipe", + "recipe": "gm4_scuba_gear:wetsuit" + } + ] + ] + }, { "name": "crafting_scuba_helmet", "enable": [], "requirements": [ [ - "obtain_turtle_helmet" + "obtain_copper" ] ], "pages": [ @@ -155,10 +179,7 @@ "enable": [], "requirements": [ [ - "obtain_scute" - ], - [ - "obtain_water_breathing" + "obtain_copper" ] ], "pages": [ @@ -172,12 +193,6 @@ "insert": "recipe", "recipe": "gm4_scuba_gear:scuba_tank" } - ], - [ - { - "translate": "text.gm4.guidebook.scuba_gear.scuba_tank_extended", - "fallback": "An extended water breathing potion can be used to craft the tank, but it won't provide any extra benefits.\n\nA SCUBA tank and helmet must be used in conjunction." - } ] ] }, @@ -198,12 +213,28 @@ ] ] }, + { + "name": "usage_wetsuit", + "enable": [], + "requirements": [ + [ + "obtain_wetsuit" + ] + ], + "pages": [ + [ + { + "translate": "text.gm4.guidebook.scuba_gear.usage_wetsuit", + "fallback": "The Wetsuit allows the user to swim up or down much faster, and maintains their current depth." + } + ] + ] + }, { "name": "usage_scuba_tank", "enable": [], "requirements": [ [ - "obtain_scuba_helmet", "obtain_scuba_tank" ] ], @@ -211,7 +242,24 @@ [ { "translate": "text.gm4.guidebook.scuba_gear.usage_scuba_tank", - "fallback": "Wearing both the scuba tank and helmet will grant 4 minutes of Conduit Power when underwater." + "fallback": "Wearing the scuba tank adds 4 minutes of underwater breathing time." + } + ] + ] + }, + { + "name": "usage_scuba_helmet", + "enable": [], + "requirements": [ + [ + "obtain_scuba_helmet" + ] + ], + "pages": [ + [ + { + "translate": "text.gm4.guidebook.scuba_gear.usage_scuba_helmet", + "fallback": "Wearing the scuba helmet increases underwater mining speed by 6 times." } ] ] diff --git a/gm4_scuba_gear/data/gm4_scuba_gear/item_modifier/flippers_lore.json b/gm4_scuba_gear/data/gm4_scuba_gear/item_modifier/flippers_lore.json deleted file mode 100644 index d1e4874ba9..0000000000 --- a/gm4_scuba_gear/data/gm4_scuba_gear/item_modifier/flippers_lore.json +++ /dev/null @@ -1,46 +0,0 @@ -{ - "function": "minecraft:set_lore", - "entity": "this", - "lore": [ - { - "translate": "item.modifiers.gm4.scuba_gear.swimming", - "fallback": "When swimming:", - "color": "gray", - "italic": false - }, - { - "translate": "attribute.modifier.plus.1", - "with": [ - "200", - { - "translate": "attribute.name.generic.movement_speed", - "fallback": "Speed" - } - ], - "color": "blue", - "italic": false - }, - { - "text": "" - }, - { - "translate": "item.modifiers.gm4.scuba_gear.on_land", - "fallback": "When on Land:", - "color": "gray", - "italic": false - }, - { - "translate": "attribute.modifier.take.1", - "with": [ - "25", - { - "translate": "attribute.name.generic.movement_speed", - "fallback": "Speed" - } - ], - "color": "red", - "italic": false - } - ], - "mode": "replace_all" -} diff --git a/gm4_scuba_gear/data/gm4_scuba_gear/item_modifier/wetsuit_buoyancy/clear.json b/gm4_scuba_gear/data/gm4_scuba_gear/item_modifier/wetsuit_buoyancy/clear.json new file mode 100644 index 0000000000..20a9552762 --- /dev/null +++ b/gm4_scuba_gear/data/gm4_scuba_gear/item_modifier/wetsuit_buoyancy/clear.json @@ -0,0 +1,13 @@ +{ + "function": "minecraft:set_attributes", + "modifiers": [ + { + "attribute": "minecraft:gravity", + "id": "gm4_scuba_gear:wetsuit_buoyancy", + "amount": 0, + "operation": "add_value", + "slot": "legs" + } + ], + "replace": false +} diff --git a/gm4_scuba_gear/data/gm4_scuba_gear/item_modifier/wetsuit_buoyancy/negative.json b/gm4_scuba_gear/data/gm4_scuba_gear/item_modifier/wetsuit_buoyancy/negative.json new file mode 100644 index 0000000000..026c6bf0f1 --- /dev/null +++ b/gm4_scuba_gear/data/gm4_scuba_gear/item_modifier/wetsuit_buoyancy/negative.json @@ -0,0 +1,13 @@ +{ + "function": "minecraft:set_attributes", + "modifiers": [ + { + "attribute": "minecraft:gravity", + "id": "gm4_scuba_gear:wetsuit_buoyancy", + "amount": -1.2, + "operation": "add_multiplied_total", + "slot": "legs" + } + ], + "replace": false +} diff --git a/gm4_scuba_gear/data/gm4_scuba_gear/item_modifier/wetsuit_buoyancy/neutral.json b/gm4_scuba_gear/data/gm4_scuba_gear/item_modifier/wetsuit_buoyancy/neutral.json new file mode 100644 index 0000000000..61482ff4ce --- /dev/null +++ b/gm4_scuba_gear/data/gm4_scuba_gear/item_modifier/wetsuit_buoyancy/neutral.json @@ -0,0 +1,13 @@ +{ + "function": "minecraft:set_attributes", + "modifiers": [ + { + "attribute": "minecraft:gravity", + "id": "gm4_scuba_gear:wetsuit_buoyancy", + "amount": -1, + "operation": "add_multiplied_total", + "slot": "legs" + } + ], + "replace": false +} diff --git a/gm4_scuba_gear/data/gm4_scuba_gear/item_modifier/wetsuit_buoyancy/positive.json b/gm4_scuba_gear/data/gm4_scuba_gear/item_modifier/wetsuit_buoyancy/positive.json new file mode 100644 index 0000000000..f52309c571 --- /dev/null +++ b/gm4_scuba_gear/data/gm4_scuba_gear/item_modifier/wetsuit_buoyancy/positive.json @@ -0,0 +1,13 @@ +{ + "function": "minecraft:set_attributes", + "modifiers": [ + { + "attribute": "minecraft:gravity", + "id": "gm4_scuba_gear:wetsuit_buoyancy", + "amount": 1.2, + "operation": "add_multiplied_total", + "slot": "legs" + } + ], + "replace": false +} diff --git a/gm4_scuba_gear/data/gm4_scuba_gear/item_modifier/wetsuit_lore.json b/gm4_scuba_gear/data/gm4_scuba_gear/item_modifier/wetsuit_lore.json deleted file mode 100644 index abee24df27..0000000000 --- a/gm4_scuba_gear/data/gm4_scuba_gear/item_modifier/wetsuit_lore.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "function": "minecraft:set_lore", - "entity": "this", - "lore": [ - { - "translate": "item.modifiers.gm4.scuba_gear.in_water", - "fallback": "When in Water:", - "color": "gray", - "italic": false - }, - { - "translate": "item.modifiers.gm4.scuba_gear.neutral_bouyancy", - "fallback": "Neutral Bouyancy", - "color": "blue", - "italic": false - }, - { - "translate": "attribute.modifier.plus.1", - "with": [ - "20", - { - "translate": "item.modifiers.gm4.scuba_gear.vertical_swimming_speed", - "fallback": "Vertical Swimming Speed" - } - ], - "color": "blue", - "italic": false - } - ], - "mode": "replace_all" -} diff --git a/gm4_scuba_gear/data/gm4_scuba_gear/loot_table/crafting/flippers.json b/gm4_scuba_gear/data/gm4_scuba_gear/loot_table/crafting/flippers.json index b617166679..4539fc9033 100644 --- a/gm4_scuba_gear/data/gm4_scuba_gear/loot_table/crafting/flippers.json +++ b/gm4_scuba_gear/data/gm4_scuba_gear/loot_table/crafting/flippers.json @@ -1,29 +1,29 @@ { - "type": "minecraft:generic", - "pools": [ + "type": "minecraft:generic", + "pools": [ + { + "rolls": 8, + "entries": [ { - "rolls": 8, - "entries": [ - { - "type": "minecraft:loot_table", - "value": "gm4:air" - } - ] - }, + "type": "minecraft:loot_table", + "value": "gm4:air" + } + ] + }, + { + "rolls": 1, + "entries": [ { - "rolls": 1, - "entries": [ - { - "type": "minecraft:loot_table", - "value": "gm4_scuba_gear:items/flippers", - "functions": [ - { - "function": "minecraft:set_count", - "count": 1 - } - ] - } - ] + "type": "minecraft:loot_table", + "value": "gm4_scuba_gear:items/flippers", + "functions": [ + { + "function": "minecraft:set_count", + "count": 1 + } + ] } - ] + ] + } + ] } diff --git a/gm4_scuba_gear/data/gm4_scuba_gear/loot_table/crafting/scuba_helmet.json b/gm4_scuba_gear/data/gm4_scuba_gear/loot_table/crafting/scuba_helmet.json index ce285b5b03..65f15e7b23 100644 --- a/gm4_scuba_gear/data/gm4_scuba_gear/loot_table/crafting/scuba_helmet.json +++ b/gm4_scuba_gear/data/gm4_scuba_gear/loot_table/crafting/scuba_helmet.json @@ -1,29 +1,29 @@ { - "type": "minecraft:generic", - "pools": [ + "type": "minecraft:generic", + "pools": [ + { + "rolls": 8, + "entries": [ { - "rolls": 8, - "entries": [ - { - "type": "minecraft:loot_table", - "value": "gm4:air" - } - ] - }, + "type": "minecraft:loot_table", + "value": "gm4:air" + } + ] + }, + { + "rolls": 1, + "entries": [ { - "rolls": 1, - "entries": [ - { - "type": "minecraft:loot_table", - "value": "gm4_scuba_gear:items/scuba_helmet", - "functions": [ - { - "function": "minecraft:set_count", - "count": 1 - } - ] - } - ] + "type": "minecraft:loot_table", + "value": "gm4_scuba_gear:items/scuba_helmet", + "functions": [ + { + "function": "minecraft:set_count", + "count": 1 + } + ] } - ] + ] + } + ] } diff --git a/gm4_scuba_gear/data/gm4_scuba_gear/loot_table/crafting/scuba_tank.json b/gm4_scuba_gear/data/gm4_scuba_gear/loot_table/crafting/scuba_tank.json index 2c3968fa39..93b6f257bb 100644 --- a/gm4_scuba_gear/data/gm4_scuba_gear/loot_table/crafting/scuba_tank.json +++ b/gm4_scuba_gear/data/gm4_scuba_gear/loot_table/crafting/scuba_tank.json @@ -1,29 +1,29 @@ { - "type": "minecraft:generic", - "pools": [ + "type": "minecraft:generic", + "pools": [ + { + "rolls": 8, + "entries": [ { - "rolls": 8, - "entries": [ - { - "type": "minecraft:loot_table", - "value": "gm4:air" - } - ] - }, + "type": "minecraft:loot_table", + "value": "gm4:air" + } + ] + }, + { + "rolls": 1, + "entries": [ { - "rolls": 1, - "entries": [ - { - "type": "minecraft:loot_table", - "value": "gm4_scuba_gear:items/scuba_tank", - "functions": [ - { - "function": "minecraft:set_count", - "count": 1 - } - ] - } - ] + "type": "minecraft:loot_table", + "value": "gm4_scuba_gear:items/scuba_tank", + "functions": [ + { + "function": "minecraft:set_count", + "count": 1 + } + ] } - ] + ] + } + ] } diff --git a/gm4_scuba_gear/data/gm4_scuba_gear/loot_table/crafting/wetsuit.json b/gm4_scuba_gear/data/gm4_scuba_gear/loot_table/crafting/wetsuit.json new file mode 100644 index 0000000000..b028d6a2dd --- /dev/null +++ b/gm4_scuba_gear/data/gm4_scuba_gear/loot_table/crafting/wetsuit.json @@ -0,0 +1,29 @@ +{ + "type": "minecraft:generic", + "pools": [ + { + "rolls": 8, + "entries": [ + { + "type": "minecraft:loot_table", + "value": "gm4:air" + } + ] + }, + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:loot_table", + "value": "gm4_scuba_gear:items/wetsuit", + "functions": [ + { + "function": "minecraft:set_count", + "count": 1 + } + ] + } + ] + } + ] +} diff --git a/gm4_scuba_gear/data/gm4_scuba_gear/loot_table/items/flippers.json b/gm4_scuba_gear/data/gm4_scuba_gear/loot_table/items/flippers.json index a00523ea6c..490a5d2ca6 100644 --- a/gm4_scuba_gear/data/gm4_scuba_gear/loot_table/items/flippers.json +++ b/gm4_scuba_gear/data/gm4_scuba_gear/loot_table/items/flippers.json @@ -7,32 +7,24 @@ "type": "minecraft:item", "name": "minecraft:leather_boots", "functions": [ + { + "function": "minecraft:set_enchantments", + "enchantments": { + "gm4_scuba_gear:flippers": 1 + } + }, { "function": "minecraft:set_components", "components": { - "minecraft:dyed_color": 11009871, + "minecraft:dyed_color": 2367281, "minecraft:tooltip_display": { "hidden_components": [ "minecraft:dyed_color" ] }, - "minecraft:attribute_modifiers": [ - { - "type": "minecraft:armor", - "id": "gm4_scuba_gear:flippers_armor", - "slot": "feet", - "amount": 1, - "operation": "add_value" - }, - { - "type": "minecraft:movement_speed", - "id": "gm4_scuba_gear:flippers_movement_speed", - "slot": "feet", - "amount": -0.4, - "operation": "add_multiplied_base" - } - ], - "minecraft:custom_model_data": "item/flippers" + "minecraft:custom_model_data": "item/flippers", + "minecraft:enchantment_glint_override": false, + "minecraft:rarity": "common" } }, { @@ -44,8 +36,54 @@ "name": { "translate": "item.gm4.flippers", "fallback": "Flippers", + "color": "white", "italic": false } + }, + { + "function": "minecraft:set_lore", + "lore": [ + { + "translate": "item.modifiers.gm4.scuba_gear.swimming", + "fallback": "When swimming:", + "color": "gray", + "italic": false + }, + { + "translate": "attribute.modifier.plus.1", + "with": [ + "200", + { + "translate": "attribute.name.generic.movement_speed", + "fallback": "Speed" + } + ], + "color": "blue", + "italic": false + }, + { + "text": "" + }, + { + "translate": "item.modifiers.gm4.scuba_gear.on_land", + "fallback": "When on Land:", + "color": "gray", + "italic": false + }, + { + "translate": "attribute.modifier.take.1", + "with": [ + "25", + { + "translate": "attribute.name.generic.movement_speed", + "fallback": "Speed" + } + ], + "color": "red", + "italic": false + } + ], + "mode": "replace_all" } ] } diff --git a/gm4_scuba_gear/data/gm4_scuba_gear/loot_table/items/scuba_helmet.json b/gm4_scuba_gear/data/gm4_scuba_gear/loot_table/items/scuba_helmet.json index cace400166..214c5a60b6 100644 --- a/gm4_scuba_gear/data/gm4_scuba_gear/loot_table/items/scuba_helmet.json +++ b/gm4_scuba_gear/data/gm4_scuba_gear/loot_table/items/scuba_helmet.json @@ -13,17 +13,17 @@ "minecraft:attribute_modifiers": [ { "type": "minecraft:armor", - "id": "gm4_scuba_gear:helmet_armor", + "id": "minecraft:armor.helmet", "slot": "head", - "amount": 2, + "amount": 3, "operation": "add_value" }, { - "type": "minecraft:attack_speed", - "id": "gm4_scuba_gear:helmet_attack_speed", + "type": "minecraft:submerged_mining_speed", + "id": "gm4_scuba_gear:scuba_helmet/submerged_mining_speed", "slot": "head", - "amount": -0.5, - "operation": "add_value" + "amount": 5, + "operation": "add_multiplied_total" } ], "minecraft:custom_model_data": "item/scuba_helmet", diff --git a/gm4_scuba_gear/data/gm4_scuba_gear/loot_table/items/scuba_tank.json b/gm4_scuba_gear/data/gm4_scuba_gear/loot_table/items/scuba_tank.json index 91b00dc533..4d28f12a6f 100644 --- a/gm4_scuba_gear/data/gm4_scuba_gear/loot_table/items/scuba_tank.json +++ b/gm4_scuba_gear/data/gm4_scuba_gear/loot_table/items/scuba_tank.json @@ -11,19 +11,19 @@ "function": "minecraft:set_components", "components": { "minecraft:attribute_modifiers": [ - { - "type": "minecraft:movement_speed", - "id": "gm4_scuba_gear:tank_movement_speed", - "slot": "chest", - "amount": -0.1, - "operation": "add_multiplied_base" - }, { "type": "minecraft:armor", "slot": "chest", "id": "gm4_scuba_gear:tank_armor", "amount": 4, "operation": "add_value" + }, + { + "type": "minecraft:oxygen_bonus", + "id": "gm4_scuba_gear:tank/oxygen_bonus", + "amount": 16, + "operation": "add_value", + "slot": "chest" } ], "minecraft:custom_model_data": "item/scuba_tank" diff --git a/gm4_scuba_gear/data/gm4_scuba_gear/loot_table/items/wetsuit.json b/gm4_scuba_gear/data/gm4_scuba_gear/loot_table/items/wetsuit.json new file mode 100644 index 0000000000..3965a74068 --- /dev/null +++ b/gm4_scuba_gear/data/gm4_scuba_gear/loot_table/items/wetsuit.json @@ -0,0 +1,98 @@ +{ + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:leather_leggings", + "functions": [ + { + "function": "minecraft:set_enchantments", + "enchantments": { + "gm4_scuba_gear:wetsuit": 1 + } + }, + { + "function": "minecraft:set_components", + "components": { + "minecraft:dyed_color": 2367281, + "minecraft:tooltip_display": { + "hidden_components": [ + "minecraft:attribute_modifiers", + "minecraft:dyed_color" + ] + }, + "minecraft:custom_model_data": "item/wetsuit", + "minecraft:enchantment_glint_override": false, + "minecraft:rarity": "common" + } + }, + { + "function": "minecraft:set_custom_data", + "tag": "{gm4_scuba_gear:{item:'wetsuit'}}" + }, + { + "function": "minecraft:set_name", + "name": { + "translate": "item.gm4.wetsuit", + "fallback": "Wetsuit", + "color": "white", + "italic": false + } + }, + { + "function": "minecraft:set_lore", + "lore": [ + { + "translate": "item.modifiers.gm4.scuba_gear.in_water", + "fallback": "When in Water:", + "color": "gray", + "italic": false + }, + { + "translate": "item.modifiers.gm4.scuba_gear.neutral_buoyancy", + "fallback": "Neutral Buoyancy", + "color": "blue", + "italic": false + }, + { + "translate": "attribute.modifier.plus.1", + "with": [ + "20", + { + "translate": "item.modifiers.gm4.scuba_gear.vertical_swimming_speed", + "fallback": "Vertical Swimming Speed" + } + ], + "color": "blue", + "italic": false + }, + { + "text": "" + }, + { + "translate": "item.modifiers.legs", + "color": "gray", + "italic": false + }, + { + "translate": "attribute.modifier.plus.0", + "with": [ + "2", + { + "translate": "attribute.name.armor" + } + ], + "color": "blue", + "italic": false + } + ], + "mode": "replace_all" + } + ] + } + ] + } + ] +} diff --git a/gm4_scuba_gear/data/gm4_scuba_gear/predicate/has_tags.json b/gm4_scuba_gear/data/gm4_scuba_gear/predicate/has_tags.json new file mode 100644 index 0000000000..a11ceba37f --- /dev/null +++ b/gm4_scuba_gear/data/gm4_scuba_gear/predicate/has_tags.json @@ -0,0 +1,26 @@ +[ + { + "condition": "minecraft:any_of", + "terms": [ + { + "condition": "minecraft:entity_properties", + "entity": "this", + "predicate": { + "nbt": "{Tags:[\"gm4_sg_buoyancy_neutral\"]}" + } + }, { + "condition": "minecraft:entity_properties", + "entity": "this", + "predicate": { + "nbt": "{Tags:[\"gm4_sg_buoyancy_negative\"]}" + } + }, { + "condition": "minecraft:entity_properties", + "entity": "this", + "predicate": { + "nbt": "{Tags:[\"gm4_sg_buoyancy_positive\"]}" + } + } + ] + } +] diff --git a/gm4_scuba_gear/data/gm4_scuba_gear/predicate/scuba_gear_equipped.json b/gm4_scuba_gear/data/gm4_scuba_gear/predicate/scuba_gear_equipped.json deleted file mode 100644 index 2c03fce34f..0000000000 --- a/gm4_scuba_gear/data/gm4_scuba_gear/predicate/scuba_gear_equipped.json +++ /dev/null @@ -1,53 +0,0 @@ -{ - "condition": "minecraft:any_of", - "terms": [ - { - "condition": "minecraft:entity_properties", - "entity": "this", - "predicate": { - "equipment": { - "head": { - "items": [ - "minecraft:player_head" - ], - "predicates": { - "minecraft:custom_data": "{gm4_scuba_gear:{item:\"helmet\"}}" - } - } - } - } - }, - { - "condition": "minecraft:entity_properties", - "entity": "this", - "predicate": { - "equipment": { - "chest": { - "items": [ - "minecraft:golden_chestplate" - ], - "predicates": { - "minecraft:custom_data": "{gm4_scuba_gear:{item:\"tank\"}}" - } - } - } - } - }, - { - "condition": "minecraft:entity_properties", - "entity": "this", - "predicate": { - "equipment": { - "feet": { - "items": [ - "minecraft:leather_boots" - ], - "predicates": { - "minecraft:custom_data": "{gm4_scuba_gear:{item:\"flippers\"}}" - } - } - } - } - } - ] -} diff --git a/gm4_scuba_gear/data/gm4_scuba_gear/predicate/tank_equipped.json b/gm4_scuba_gear/data/gm4_scuba_gear/predicate/tank_equipped.json deleted file mode 100644 index dd9fa94cf8..0000000000 --- a/gm4_scuba_gear/data/gm4_scuba_gear/predicate/tank_equipped.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "condition": "minecraft:entity_properties", - "entity": "this", - "predicate": { - "equipment": { - "head": { - "items": [ - "minecraft:player_head" - ], - "predicates": { - "minecraft:custom_data": "{gm4_scuba_gear:{item:\"helmet\"}}" - } - }, - "chest": { - "items": [ - "minecraft:golden_chestplate" - ], - "predicates": { - "minecraft:custom_data": "{gm4_scuba_gear:{item:\"tank\"}}" - } - } - } - } -} diff --git a/gm4_scuba_gear/data/gm4_scuba_gear/predicate/wetsuit_buoyancy/negative.json b/gm4_scuba_gear/data/gm4_scuba_gear/predicate/wetsuit_buoyancy/negative.json new file mode 100644 index 0000000000..840ca610bc --- /dev/null +++ b/gm4_scuba_gear/data/gm4_scuba_gear/predicate/wetsuit_buoyancy/negative.json @@ -0,0 +1,33 @@ +[ + { + "condition": "minecraft:location_check", + "predicate": { + "fluid": { + "fluids": "#minecraft:water" + } + } + }, + { + "condition": "minecraft:inverted", + "term": { + "condition": "minecraft:entity_properties", + "entity": "this", + "predicate": { + "nbt": "{Tags:[\"gm4_sg_buoyancy_negative\"]}" + } + } + }, + { + "condition": "minecraft:entity_properties", + "entity": "this", + "predicate": { + "type_specific": { + "type": "minecraft:player", + "input": { + "jump": false, + "sneak": true + } + } + } + } +] diff --git a/gm4_scuba_gear/data/gm4_scuba_gear/predicate/wetsuit_buoyancy/neutral.json b/gm4_scuba_gear/data/gm4_scuba_gear/predicate/wetsuit_buoyancy/neutral.json new file mode 100644 index 0000000000..46287300f4 --- /dev/null +++ b/gm4_scuba_gear/data/gm4_scuba_gear/predicate/wetsuit_buoyancy/neutral.json @@ -0,0 +1,51 @@ +[ + { + "condition": "minecraft:location_check", + "predicate": { + "fluid": { + "fluids": "#minecraft:water" + } + } + }, + { + "condition": "minecraft:any_of", + "terms": [ + { + "condition": "minecraft:entity_properties", + "entity": "this", + "predicate": { + "type_specific": { + "type": "minecraft:player", + "input": { + "jump": false, + "sneak": false + } + } + } + }, + { + "condition": "minecraft:entity_properties", + "entity": "this", + "predicate": { + "type_specific": { + "type": "minecraft:player", + "input": { + "jump": true, + "sneak": true + } + } + } + } + ] + }, + { + "condition": "minecraft:inverted", + "term": { + "condition": "minecraft:entity_properties", + "entity": "this", + "predicate": { + "nbt": "{Tags:[\"gm4_sg_buoyancy_neutral\"]}" + } + } + } +] diff --git a/gm4_scuba_gear/data/gm4_scuba_gear/predicate/wetsuit_buoyancy/positive.json b/gm4_scuba_gear/data/gm4_scuba_gear/predicate/wetsuit_buoyancy/positive.json new file mode 100644 index 0000000000..52ba7e43dd --- /dev/null +++ b/gm4_scuba_gear/data/gm4_scuba_gear/predicate/wetsuit_buoyancy/positive.json @@ -0,0 +1,33 @@ +[ + { + "condition": "minecraft:location_check", + "predicate": { + "fluid": { + "fluids": "#minecraft:water" + } + } + }, + { + "condition": "minecraft:inverted", + "term": { + "condition": "minecraft:entity_properties", + "entity": "this", + "predicate": { + "nbt": "{Tags:[\"gm4_sg_buoyancy_positive\"]}" + } + } + }, + { + "condition": "minecraft:entity_properties", + "entity": "this", + "predicate": { + "type_specific": { + "type": "minecraft:player", + "input": { + "jump": true, + "sneak": false + } + } + } + } +] diff --git a/gm4_scuba_gear/data/gm4_scuba_gear/recipe/flippers.json b/gm4_scuba_gear/data/gm4_scuba_gear/recipe/flippers.json index 4d09a53c49..0846f0c73d 100644 --- a/gm4_scuba_gear/data/gm4_scuba_gear/recipe/flippers.json +++ b/gm4_scuba_gear/data/gm4_scuba_gear/recipe/flippers.json @@ -33,10 +33,7 @@ "slot": "feet" } ], - "minecraft:dyed_color": { - "rgb": 2367281, - "show_in_tooltip": false - }, + "minecraft:dyed_color": 2367281, "minecraft:max_damage": 156, "!minecraft:enchantable": {}, "minecraft:custom_model_data": "item/flippers", @@ -46,13 +43,57 @@ } }, "minecraft:enchantments": { - "levels": { - "gm4_scuba_gear:flippers": 1 - } + "gm4_scuba_gear:flippers": 1 }, "minecraft:enchantment_glint_override": false, - "minecraft:rarity": "common" - }, + "minecraft:rarity": "common", + "minecraft:tooltip_display": { + "hidden_components": [ + "minecraft:dyed_color" + ] + }, + "minecraft:lore": [ + { + "translate": "item.modifiers.gm4.scuba_gear.swimming", + "fallback": "When swimming:", + "color": "gray", + "italic": false + }, + { + "translate": "attribute.modifier.plus.1", + "with": [ + "200", + { + "translate": "attribute.name.generic.movement_speed", + "fallback": "Speed" + } + ], + "color": "blue", + "italic": false + }, + { + "text": "" + }, + { + "translate": "item.modifiers.gm4.scuba_gear.on_land", + "fallback": "When on Land:", + "color": "gray", + "italic": false + }, + { + "translate": "attribute.modifier.take.1", + "with": [ + "25", + { + "translate": "attribute.name.generic.movement_speed", + "fallback": "Speed" + } + ], + "color": "red", + "italic": false + } + ] + }, "count": 1 } } diff --git a/gm4_scuba_gear/data/gm4_scuba_gear/recipe/scuba_helmet.json b/gm4_scuba_gear/data/gm4_scuba_gear/recipe/scuba_helmet.json index b82ace93a8..2bbbb11cdd 100644 --- a/gm4_scuba_gear/data/gm4_scuba_gear/recipe/scuba_helmet.json +++ b/gm4_scuba_gear/data/gm4_scuba_gear/recipe/scuba_helmet.json @@ -20,7 +20,7 @@ "minecraft:attribute_modifiers": [ { "type": "minecraft:armor", - "id": "gm4_scuba_gear:scuba_helmet/armor", + "id": "minecraft:armor.helmet", "amount": 3, "operation": "add_value", "slot": "head" diff --git a/gm4_scuba_gear/data/gm4_scuba_gear/recipe/wetsuit.json b/gm4_scuba_gear/data/gm4_scuba_gear/recipe/wetsuit.json index b5cd65fbd1..cf431f1507 100644 --- a/gm4_scuba_gear/data/gm4_scuba_gear/recipe/wetsuit.json +++ b/gm4_scuba_gear/data/gm4_scuba_gear/recipe/wetsuit.json @@ -27,10 +27,7 @@ "slot": "legs" } ], - "minecraft:dyed_color": { - "rgb": 2367281, - "show_in_tooltip": false - }, + "minecraft:dyed_color": 2367281, "minecraft:max_damage": 180, "!minecraft:enchantable": {}, "minecraft:custom_data": { @@ -39,12 +36,61 @@ } }, "minecraft:enchantments": { - "levels": { - "gm4_scuba_gear:wetsuit": 1 - } + "gm4_scuba_gear:wetsuit": 1 }, "minecraft:enchantment_glint_override": false, - "minecraft:rarity": "common" + "minecraft:rarity": "common", + "minecraft:tooltip_display": { + "hidden_components": [ + "minecraft:attribute_modifiers", + "minecraft:dyed_color" + ] + }, + "minecraft:lore": [ + { + "translate": "item.modifiers.gm4.scuba_gear.in_water", + "fallback": "When in Water:", + "color": "gray", + "italic": false + }, + { + "translate": "item.modifiers.gm4.scuba_gear.neutral_buoyancy", + "fallback": "Neutral Buoyancy", + "color": "blue", + "italic": false + }, + { + "translate": "attribute.modifier.plus.1", + "with": [ + "20", + { + "translate": "item.modifiers.gm4.scuba_gear.vertical_swimming_speed", + "fallback": "Vertical Swimming Speed" + } + ], + "color": "blue", + "italic": false + }, + { + "text": "" + }, + { + "translate": "item.modifiers.legs", + "color": "gray", + "italic": false + }, + { + "translate": "attribute.modifier.plus.0", + "with": [ + "2", + { + "translate": "attribute.name.armor" + } + ], + "color": "blue", + "italic": false + } + ] }, "count": 1 } diff --git a/gm4_scuba_gear/data/gm4_scuba_gear/test/craft_flippers.mcfunction b/gm4_scuba_gear/data/gm4_scuba_gear/test/craft_flippers.mcfunction index dfd10f20c0..ec70a4f874 100644 --- a/gm4_scuba_gear/data/gm4_scuba_gear/test/craft_flippers.mcfunction +++ b/gm4_scuba_gear/data/gm4_scuba_gear/test/craft_flippers.mcfunction @@ -2,9 +2,9 @@ item replace block ~1 ~1 ~1 container.0 with turtle_scute item replace block ~1 ~1 ~1 container.2 with turtle_scute -item replace block ~1 ~1 ~1 container.3 with rabbit_hide -item replace block ~1 ~1 ~1 container.5 with rabbit_hide -item replace block ~1 ~1 ~1 container.6 with rabbit_hide -item replace block ~1 ~1 ~1 container.8 with rabbit_hide +item replace block ~1 ~1 ~1 container.3 with dried_kelp +item replace block ~1 ~1 ~1 container.5 with dried_kelp +item replace block ~1 ~1 ~1 container.6 with dried_kelp +item replace block ~1 ~1 ~1 container.8 with dried_kelp await items block ~1 ~1 ~1 container.* minecraft:leather_boots[custom_data~{gm4_scuba_gear:{item:"flippers"}}] diff --git a/gm4_scuba_gear/data/gm4_scuba_gear/test/use_helmet_and_tank.mcfunction b/gm4_scuba_gear/data/gm4_scuba_gear/test/use_helmet_and_tank.mcfunction_ similarity index 96% rename from gm4_scuba_gear/data/gm4_scuba_gear/test/use_helmet_and_tank.mcfunction rename to gm4_scuba_gear/data/gm4_scuba_gear/test/use_helmet_and_tank.mcfunction_ index 548b8e17a8..ac6640a866 100644 --- a/gm4_scuba_gear/data/gm4_scuba_gear/test/use_helmet_and_tank.mcfunction +++ b/gm4_scuba_gear/data/gm4_scuba_gear/test/use_helmet_and_tank.mcfunction_ @@ -1,3 +1,5 @@ +# TEST IS INVALID WITH REWORK + # @template gm4:test_tube # @dummy ~1.5 ~1 ~1.5 diff --git a/gm4_scuba_gear/data/minecraft/tags/enchantment/curses.json b/gm4_scuba_gear/data/minecraft/tags/enchantment/curse.json similarity index 100% rename from gm4_scuba_gear/data/minecraft/tags/enchantment/curses.json rename to gm4_scuba_gear/data/minecraft/tags/enchantment/curse.json From 9def8205fc326abe6f390811fbd0cd25d1896ece Mon Sep 17 00:00:00 2001 From: EpyonProjects <66185010+EpyonProjects@users.noreply.github.com> Date: Wed, 28 May 2025 14:23:21 -0400 Subject: [PATCH 03/12] Update guidebook description to match readme --- gm4_scuba_gear/assets/translations.csv | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gm4_scuba_gear/assets/translations.csv b/gm4_scuba_gear/assets/translations.csv index 6f8157c515..e0f5c7edec 100644 --- a/gm4_scuba_gear/assets/translations.csv +++ b/gm4_scuba_gear/assets/translations.csv @@ -6,7 +6,7 @@ item.gm4.wetsuit,Wetsuit advancement.gm4.scuba_gear.title,Things Are Going Swimmingly! advancement.gm4.scuba_gear.description,Suit up with a full set of SCUBA gear text.gm4.guidebook.module_desc.scuba_gear,Ease ocean exploration with craftable scuba gear! -text.gm4.guidebook.scuba_gear.description,SCUBA Gear can be crafted in a Custom Crafter to aid in ocean travel.\n\nScutes and gold are main components for each piece. +text.gm4.guidebook.scuba_gear.description,SCUBA Gear can be crafted to aid in ocean travel.\n\nCopper and dried kelp are main components for each piece. text.gm4.guidebook.scuba_gear.crafting_flippers,Flippers can be crafted with the following recipe: text.gm4.guidebook.scuba_gear.crafting_scuba_helmet,The SCUBA Helmet can be crafted with the following recipe: text.gm4.guidebook.scuba_gear.crafting_scuba_tank,The SCUBA Tank can be crafted with the following recipe: From a559116e9bb693341dc60af5847e65d852617eba Mon Sep 17 00:00:00 2001 From: EpyonProjects <66185010+EpyonProjects@users.noreply.github.com> Date: Mon, 2 Jun 2025 18:01:35 -0400 Subject: [PATCH 04/12] Fixed texts and unified attributes - updated helmet texture --- gm4/skin_cache.json | 12 +- gm4_scuba_gear/assets/translations.csv | 1 - .../gm4_scuba_gear/enchantment/flippers.json | 26 +--- .../function/check_recipes.mcfunction | 3 +- .../loot_table/items/flippers.json | 121 ++++++++---------- .../loot_table/items/scuba_helmet.json | 29 +++-- .../loot_table/items/scuba_tank.json | 38 ++++-- .../loot_table/items/wetsuit.json | 116 +++++++---------- .../data/gm4_scuba_gear/recipe/flippers.json | 37 ++---- .../gm4_scuba_gear/recipe/scuba_helmet.json | 13 +- .../gm4_scuba_gear/recipe/scuba_tank.json | 28 ++-- .../data/gm4_scuba_gear/recipe/wetsuit.json | 39 ++---- .../gm4_scuba_gear/skins/scuba_helmet.png | Bin 2334 -> 1169 bytes .../test/craft_flippers.mcfunction | 6 +- 14 files changed, 194 insertions(+), 275 deletions(-) diff --git a/gm4/skin_cache.json b/gm4/skin_cache.json index 505748697a..d063583b23 100644 --- a/gm4/skin_cache.json +++ b/gm4/skin_cache.json @@ -706,13 +706,13 @@ }, "gm4_scuba_gear:scuba_helmet": { "uuid": [ - -68336571, - 19415274, - -1818733955, - -1859858872 + -1411342862, + -1228846809, + -1234065086, + 1387403600 ], - "value": "ewogICJ0aW1lc3RhbXAiIDogMTYyODUzNDg1MTY2MCwKICAicHJvZmlsZUlkIiA6ICJmMGIzYmRkMjEwNDg0Y2VlYjZhNTQyYmZiOGEyNTdiMiIsCiAgInByb2ZpbGVOYW1lIiA6ICJBbm9uaW1ZVFQiLAogICJzaWduYXR1cmVSZXF1aXJlZCIgOiB0cnVlLAogICJ0ZXh0dXJlcyIgOiB7CiAgICAiU0tJTiIgOiB7CiAgICAgICJ1cmwiIDogImh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNDExZTAyOTJlZTgzZDUwZTQzM2MxNTkxNzE5OGZhNDRjYjZkMTMyODhiNmFhNjZmYmUzY2QxZTZkZjY1OGRhNCIsCiAgICAgICJtZXRhZGF0YSIgOiB7CiAgICAgICAgIm1vZGVsIiA6ICJzbGltIgogICAgICB9CiAgICB9CiAgfQp9", - "hash": "9b2ea1635d53878417688b505a8875422100d314", + "value": "eyd0ZXh0dXJlcyc6IHsnU0tJTic6IHsndXJsJzogJ2h0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZWY2YWVlYzM2ZjQ2MmRlYjUzOTc0NWFhMzY4MThiNmQ0NGIwYzk1OGViNTY4NTJlYTAyZTM0YzMzZmRiZGZmMCd9fX0=", + "hash": "4a257159fd9d30ceff7484d393efe9ed2e399abf", "parent_module": "gm4_scuba_gear" }, "gm4_smelteries:smeltery": { diff --git a/gm4_scuba_gear/assets/translations.csv b/gm4_scuba_gear/assets/translations.csv index e0f5c7edec..1967bd88c0 100644 --- a/gm4_scuba_gear/assets/translations.csv +++ b/gm4_scuba_gear/assets/translations.csv @@ -17,6 +17,5 @@ text.gm4.guidebook.scuba_gear.usage_scuba_tank,Wearing the scuba tank adds 4 min text.gm4.guidebook.scuba_gear.usage_scuba_helmet,Wearing the scuba helmet increases underwater mining speed by 6 times. item.modifiers.gm4.scuba_gear.in_water,"When in Water:" item.modifiers.gm4.scuba_gear.on_land,"When on Land:" -item.modifiers.gm4.scuba_gear.swimming,"When swimming:" item.modifiers.gm4.scuba_gear.neutral_buoyancy,"Neutral Buoyancy" item.modifiers.gm4.scuba_gear.vertical_swimming_speed,"Vertical Swimming Speed" diff --git a/gm4_scuba_gear/data/gm4_scuba_gear/enchantment/flippers.json b/gm4_scuba_gear/data/gm4_scuba_gear/enchantment/flippers.json index 01e4dda42f..f5f607a2c7 100644 --- a/gm4_scuba_gear/data/gm4_scuba_gear/enchantment/flippers.json +++ b/gm4_scuba_gear/data/gm4_scuba_gear/enchantment/flippers.json @@ -1,5 +1,6 @@ { "description": "", + "exclusive_set": "minecraft:depth_strider", "supported_items": "minecraft:leather_boots", "weight": 1, "max_level": 1, @@ -41,31 +42,6 @@ "amount": -0.25, "operation": "add_multiplied_base" } - }, - { - "requirements": [ - { - "condition": "minecraft:entity_properties", - "entity": "this", - "predicate": { - "location": { - "fluid": { - "fluids": "#minecraft:water" - } - }, - "flags": { - "is_swimming": true - } - } - } - ], - "effect": { - "type": "minecraft:attribute", - "attribute": "minecraft:movement_speed", - "id": "gm4_scuba_gear:flippers/swim_speed", - "amount": 1, - "operation": "add_multiplied_base" - } } ] } diff --git a/gm4_scuba_gear/data/gm4_scuba_gear/function/check_recipes.mcfunction b/gm4_scuba_gear/data/gm4_scuba_gear/function/check_recipes.mcfunction index fdc6916a10..10a107e24b 100644 --- a/gm4_scuba_gear/data/gm4_scuba_gear/function/check_recipes.mcfunction +++ b/gm4_scuba_gear/data/gm4_scuba_gear/function/check_recipes.mcfunction @@ -1,4 +1,5 @@ execute if score $crafted gm4_crafting matches 0 store success score $crafted gm4_crafting if score $slot_count gm4_crafting matches 6 if score $stack_size gm4_crafting matches ..64 if data storage gm4_custom_crafters:temp/crafter {Items:[{Slot:0b,id:"minecraft:copper_ingot"},{Slot:1b,id:"minecraft:copper_ingot"},{Slot:2b,id:"minecraft:copper_ingot"},{Slot:3b,id:"minecraft:copper_ingot"},{Slot:4b,id:"minecraft:glass"},{Slot:5b,id:"minecraft:copper_ingot"}]} run loot replace block ~ ~ ~ container.0 loot gm4_scuba_gear:crafting/scuba_helmet execute if score $crafted gm4_crafting matches 0 store success score $crafted gm4_crafting if score $slot_count gm4_crafting matches 8 if score $stack_size gm4_crafting matches 1 if data storage gm4_custom_crafters:temp/crafter {Items:[{Slot:0b,id:"minecraft:copper_ingot"},{Slot:2b,id:"minecraft:copper_ingot"},{Slot:3b,id:"minecraft:decorated_pot"},{Slot:4b,id:"minecraft:copper_ingot"},{Slot:5b,id:"minecraft:decorated_pot"},{Slot:6b,id:"minecraft:copper_ingot"},{Slot:7b,id:"minecraft:copper_ingot"},{Slot:8b,id:"minecraft:copper_ingot"}]} run loot replace block ~ ~ ~ container.0 loot gm4_scuba_gear:crafting/scuba_tank -execute if score $crafted gm4_crafting matches 0 store success score $crafted gm4_crafting if score $slot_count gm4_crafting matches 7 if score $stack_size gm4_crafting matches 1 if data storage gm4_custom_crafters:temp/crafter {Items:[{Slot:0b,id:"minecraft:dried_kelp"},{Slot:1b,id:"minecraft:copper_ingot"},{Slot:2b,id:"minecraft:dried_kelp"},{Slot:3b,id:"minecraft:dried_kelp"},{Slot:5b,id:"minecraft:dried_kelp"},{Slot:6b,id:"minecraft:dried_kelp"},{Slot:8b,id:"minecraft:dried_kelp"}]} run loot replace block ~ ~ ~ container.0 loot gm4_scuba_gear:crafting/scuba_tank +execute if score $crafted gm4_crafting matches 0 store success score $crafted gm4_crafting if score $slot_count gm4_crafting matches 7 if score $stack_size gm4_crafting matches 1 if data storage gm4_custom_crafters:temp/crafter {Items:[{Slot:0b,id:"minecraft:dried_kelp"},{Slot:1b,id:"minecraft:copper_ingot"},{Slot:2b,id:"minecraft:dried_kelp"},{Slot:3b,id:"minecraft:dried_kelp"},{Slot:5b,id:"minecraft:dried_kelp"},{Slot:6b,id:"minecraft:dried_kelp"},{Slot:8b,id:"minecraft:dried_kelp"}]} run loot replace block ~ ~ ~ container.0 loot gm4_scuba_gear:crafting/wetsuit +execute if score $crafted gm4_crafting matches 0 store success score $crafted gm4_crafting if score $slot_count gm4_crafting matches 4 if score $stack_size gm4_crafting matches 1 if data storage gm4_custom_crafters:temp/crafter {Items:[{Slot:0b,id:"minecraft:copper_ingot"},{Slot:2b,id:"minecraft:copper_ingot"},{Slot:3b,id:"minecraft:dried_kelp"},{Slot:5b,id:"minecraft:dried_kelp"}]} run loot replace block ~ ~ ~ container.0 loot gm4_scuba_gear:crafting/flippers execute if score $crafted gm4_crafting matches 0 store success score $crafted gm4_crafting if score $slot_count gm4_crafting matches 4 if score $stack_size gm4_crafting matches 1 if data storage gm4_custom_crafters:temp/crafter {Items:[{Slot:3b,id:"minecraft:copper_ingot"},{Slot:5b,id:"minecraft:copper_ingot"},{Slot:6b,id:"minecraft:dried_kelp"},{Slot:8b,id:"minecraft:dried_kelp"}]} run loot replace block ~ ~ ~ container.0 loot gm4_scuba_gear:crafting/flippers diff --git a/gm4_scuba_gear/data/gm4_scuba_gear/loot_table/items/flippers.json b/gm4_scuba_gear/data/gm4_scuba_gear/loot_table/items/flippers.json index 490a5d2ca6..7f3c41e26d 100644 --- a/gm4_scuba_gear/data/gm4_scuba_gear/loot_table/items/flippers.json +++ b/gm4_scuba_gear/data/gm4_scuba_gear/loot_table/items/flippers.json @@ -7,83 +7,70 @@ "type": "minecraft:item", "name": "minecraft:leather_boots", "functions": [ - { - "function": "minecraft:set_enchantments", - "enchantments": { - "gm4_scuba_gear:flippers": 1 - } - }, { "function": "minecraft:set_components", "components": { + "minecraft:item_name": { + "translate": "item.gm4.flippers", + "fallback": "Flippers", + "color": "white", + "italic": false + }, + "minecraft:attribute_modifiers": [ + { + "type": "minecraft:armor", + "id": "minecraft:generic.armor", + "amount": 1, + "operation": "add_value", + "slot": "feet" + }, + { + "type": "minecraft:water_movement_efficiency", + "id": "gm4_scuba_gear:flippers/water_movement_efficiency", + "amount": 1, + "operation": "add_value", + "slot": "feet" + } + ], + "minecraft:custom_data": { + "gm4_scuba_gear": { + "item": "flippers" + } + }, + "minecraft:custom_model_data": "item/flippers", "minecraft:dyed_color": 2367281, + "!minecraft:enchantable": {}, + "minecraft:enchantments": { + "gm4_scuba_gear:flippers": 1 + }, + "minecraft:enchantment_glint_override": false, + "minecraft:max_damage": 156, "minecraft:tooltip_display": { "hidden_components": [ "minecraft:dyed_color" ] }, - "minecraft:custom_model_data": "item/flippers", - "minecraft:enchantment_glint_override": false, - "minecraft:rarity": "common" - } - }, - { - "function": "minecraft:set_custom_data", - "tag": "{gm4_scuba_gear:{item:'flippers'}}" - }, - { - "function": "minecraft:set_name", - "name": { - "translate": "item.gm4.flippers", - "fallback": "Flippers", - "color": "white", - "italic": false + "minecraft:lore": [ + { + "translate": "item.modifiers.gm4.scuba_gear.on_land", + "fallback": "When on Land:", + "color": "gray", + "italic": false + }, + { + "translate": "attribute.modifier.take.1", + "with": [ + "25", + { + "translate": "attribute.name.generic.movement_speed", + "fallback": "Speed" + } + ], + "color": "red", + "italic": false + } + ] } - }, - { - "function": "minecraft:set_lore", - "lore": [ - { - "translate": "item.modifiers.gm4.scuba_gear.swimming", - "fallback": "When swimming:", - "color": "gray", - "italic": false - }, - { - "translate": "attribute.modifier.plus.1", - "with": [ - "200", - { - "translate": "attribute.name.generic.movement_speed", - "fallback": "Speed" - } - ], - "color": "blue", - "italic": false - }, - { - "text": "" - }, - { - "translate": "item.modifiers.gm4.scuba_gear.on_land", - "fallback": "When on Land:", - "color": "gray", - "italic": false - }, - { - "translate": "attribute.modifier.take.1", - "with": [ - "25", - { - "translate": "attribute.name.generic.movement_speed", - "fallback": "Speed" - } - ], - "color": "red", - "italic": false - } - ], - "mode": "replace_all" } ] } diff --git a/gm4_scuba_gear/data/gm4_scuba_gear/loot_table/items/scuba_helmet.json b/gm4_scuba_gear/data/gm4_scuba_gear/loot_table/items/scuba_helmet.json index 214c5a60b6..9dfd596247 100644 --- a/gm4_scuba_gear/data/gm4_scuba_gear/loot_table/items/scuba_helmet.json +++ b/gm4_scuba_gear/data/gm4_scuba_gear/loot_table/items/scuba_helmet.json @@ -10,6 +10,11 @@ { "function": "minecraft:set_components", "components": { + "minecraft:item_name": { + "translate": "item.gm4.scuba_helmet", + "fallback": "SCUBA Helmet", + "italic": false + }, "minecraft:attribute_modifiers": [ { "type": "minecraft:armor", @@ -26,21 +31,17 @@ "operation": "add_multiplied_total" } ], + "minecraft:custom_data": { + "gm4_scuba_gear": { + "item": "helmet" + } + }, + "!minecraft:enchantable": {}, + "minecraft:max_damage": 132, + "minecraft:max_stack_size": 1, "minecraft:custom_model_data": "item/scuba_helmet", - "minecraft:profile": "$scuba_helmet" - } - }, - { - "function": "minecraft:set_custom_data", - "tag": "{gm4_scuba_gear:{item:'helmet'}}" - }, - { - "function": "minecraft:set_name", - "name": { - "translate": "item.gm4.scuba_helmet", - "fallback": "SCUBA Helmet", - "italic": false, - "color": "white" + "minecraft:profile": "$scuba_helmet", + "minecraft:rarity": "common" } } ] diff --git a/gm4_scuba_gear/data/gm4_scuba_gear/loot_table/items/scuba_tank.json b/gm4_scuba_gear/data/gm4_scuba_gear/loot_table/items/scuba_tank.json index 4d28f12a6f..40472e849b 100644 --- a/gm4_scuba_gear/data/gm4_scuba_gear/loot_table/items/scuba_tank.json +++ b/gm4_scuba_gear/data/gm4_scuba_gear/loot_table/items/scuba_tank.json @@ -5,11 +5,16 @@ "entries": [ { "type": "minecraft:item", - "name": "minecraft:golden_chestplate", + "name": "minecraft:leather_chestplate", "functions": [ { "function": "minecraft:set_components", "components": { + "minecraft:item_name": { + "translate": "item.gm4.scuba_tank", + "fallback": "SCUBA Tank", + "italic": false + }, "minecraft:attribute_modifiers": [ { "type": "minecraft:armor", @@ -26,19 +31,24 @@ "slot": "chest" } ], - "minecraft:custom_model_data": "item/scuba_tank" - } - }, - { - "function": "minecraft:set_custom_data", - "tag": "{gm4_scuba_gear:{item:'tank'}}" - }, - { - "function": "minecraft:set_name", - "name": { - "translate": "item.gm4.scuba_tank", - "fallback": "SCUBA Tank", - "italic": false + "minecraft:custom_data": { + "gm4_scuba_gear": { + "item": "tank" + } + }, + "minecraft:custom_model_data": "item/scuba_tank", + "!minecraft:enchantable": {}, + "minecraft:max_damage": 192, + "minecraft:tooltip_display": { + "hidden_components": [ + "minecraft:dyed_color", + "minecraft:trim" + ] + }, + "minecraft:trim": { + "material": "minecraft:copper", + "pattern": "minecraft:silence" + } } } ] diff --git a/gm4_scuba_gear/data/gm4_scuba_gear/loot_table/items/wetsuit.json b/gm4_scuba_gear/data/gm4_scuba_gear/loot_table/items/wetsuit.json index 3965a74068..a4b81471b6 100644 --- a/gm4_scuba_gear/data/gm4_scuba_gear/loot_table/items/wetsuit.json +++ b/gm4_scuba_gear/data/gm4_scuba_gear/loot_table/items/wetsuit.json @@ -7,88 +7,60 @@ "type": "minecraft:item", "name": "minecraft:leather_leggings", "functions": [ - { - "function": "minecraft:set_enchantments", - "enchantments": { - "gm4_scuba_gear:wetsuit": 1 - } - }, { "function": "minecraft:set_components", "components": { + "minecraft:item_name": { + "translate": "item.gm4.wetsuit", + "fallback": "Wetsuit", + "color": "white", + "italic": false + }, + "minecraft:custom_data": { + "gm4_scuba_gear": { + "item": "wetsuit" + } + }, + "minecraft:custom_model_data": "item/wetsuit", + "minecraft:enchantments": { + "gm4_scuba_gear:wetsuit": 1 + }, + "minecraft:enchantment_glint_override": false, + "minecraft:max_damage": 180, + "!minecraft:enchantable": {}, "minecraft:dyed_color": 2367281, "minecraft:tooltip_display": { "hidden_components": [ - "minecraft:attribute_modifiers", "minecraft:dyed_color" ] }, - "minecraft:custom_model_data": "item/wetsuit", - "minecraft:enchantment_glint_override": false, - "minecraft:rarity": "common" - } - }, - { - "function": "minecraft:set_custom_data", - "tag": "{gm4_scuba_gear:{item:'wetsuit'}}" - }, - { - "function": "minecraft:set_name", - "name": { - "translate": "item.gm4.wetsuit", - "fallback": "Wetsuit", - "color": "white", - "italic": false + "minecraft:lore": [ + { + "translate": "item.modifiers.gm4.scuba_gear.in_water", + "fallback": "When in Water:", + "color": "gray", + "italic": false + }, + { + "translate": "item.modifiers.gm4.scuba_gear.neutral_buoyancy", + "fallback": "Neutral Buoyancy", + "color": "blue", + "italic": false + }, + { + "translate": "attribute.modifier.plus.1", + "with": [ + "20", + { + "translate": "item.modifiers.gm4.scuba_gear.vertical_swimming_speed", + "fallback": "Vertical Swimming Speed" + } + ], + "color": "blue", + "italic": false + } + ] } - }, - { - "function": "minecraft:set_lore", - "lore": [ - { - "translate": "item.modifiers.gm4.scuba_gear.in_water", - "fallback": "When in Water:", - "color": "gray", - "italic": false - }, - { - "translate": "item.modifiers.gm4.scuba_gear.neutral_buoyancy", - "fallback": "Neutral Buoyancy", - "color": "blue", - "italic": false - }, - { - "translate": "attribute.modifier.plus.1", - "with": [ - "20", - { - "translate": "item.modifiers.gm4.scuba_gear.vertical_swimming_speed", - "fallback": "Vertical Swimming Speed" - } - ], - "color": "blue", - "italic": false - }, - { - "text": "" - }, - { - "translate": "item.modifiers.legs", - "color": "gray", - "italic": false - }, - { - "translate": "attribute.modifier.plus.0", - "with": [ - "2", - { - "translate": "attribute.name.armor" - } - ], - "color": "blue", - "italic": false - } - ], - "mode": "replace_all" } ] } diff --git a/gm4_scuba_gear/data/gm4_scuba_gear/recipe/flippers.json b/gm4_scuba_gear/data/gm4_scuba_gear/recipe/flippers.json index 0846f0c73d..b326caa988 100644 --- a/gm4_scuba_gear/data/gm4_scuba_gear/recipe/flippers.json +++ b/gm4_scuba_gear/data/gm4_scuba_gear/recipe/flippers.json @@ -16,11 +16,16 @@ "result": { "id": "minecraft:leather_boots", "components": { - "minecraft:item_name": "{\"translate\": \"item.gm4.flippers\",\"fallback\": \"Flippers\",\"italic\": false,\"color\": \"white\"}", + "minecraft:item_name": { + "translate": "item.gm4.flippers", + "fallback": "Flippers", + "color": "white", + "italic": false + }, "minecraft:attribute_modifiers": [ { "type": "minecraft:armor", - "id": "gm4_scuba_gear:flippers/armor", + "id": "minecraft:generic.armor", "amount": 1, "operation": "add_value", "slot": "feet" @@ -33,47 +38,25 @@ "slot": "feet" } ], - "minecraft:dyed_color": 2367281, - "minecraft:max_damage": 156, - "!minecraft:enchantable": {}, "minecraft:custom_model_data": "item/flippers", "minecraft:custom_data": { "gm4_scuba_gear": { "item": "flippers" } }, + "minecraft:dyed_color": 2367281, + "!minecraft:enchantable": {}, "minecraft:enchantments": { "gm4_scuba_gear:flippers": 1 }, "minecraft:enchantment_glint_override": false, - "minecraft:rarity": "common", + "minecraft:max_damage": 156, "minecraft:tooltip_display": { "hidden_components": [ "minecraft:dyed_color" ] }, "minecraft:lore": [ - { - "translate": "item.modifiers.gm4.scuba_gear.swimming", - "fallback": "When swimming:", - "color": "gray", - "italic": false - }, - { - "translate": "attribute.modifier.plus.1", - "with": [ - "200", - { - "translate": "attribute.name.generic.movement_speed", - "fallback": "Speed" - } - ], - "color": "blue", - "italic": false - }, - { - "text": "" - }, { "translate": "item.modifiers.gm4.scuba_gear.on_land", "fallback": "When on Land:", diff --git a/gm4_scuba_gear/data/gm4_scuba_gear/recipe/scuba_helmet.json b/gm4_scuba_gear/data/gm4_scuba_gear/recipe/scuba_helmet.json index 2bbbb11cdd..73f0da672f 100644 --- a/gm4_scuba_gear/data/gm4_scuba_gear/recipe/scuba_helmet.json +++ b/gm4_scuba_gear/data/gm4_scuba_gear/recipe/scuba_helmet.json @@ -16,7 +16,12 @@ "result": { "id": "minecraft:player_head", "components": { - "minecraft:item_name": "\"SCUBA Helmet\"", + "minecraft:item_name": { + "translate": "item.gm4.scuba_helmet", + "fallback": "SCUBA Helmet", + "color": "white", + "italic": false + }, "minecraft:attribute_modifiers": [ { "type": "minecraft:armor", @@ -33,16 +38,16 @@ "slot": "head" } ], - "!minecraft:enchantable": {}, - "minecraft:custom_model_data": "item/scuba_helmet", - "minecraft:profile": "$scuba_helmet", "minecraft:custom_data": { "gm4_scuba_gear": { "item": "helmet" } }, + "minecraft:custom_model_data": "item/scuba_helmet", + "!minecraft:enchantable": {}, "minecraft:max_damage": 132, "minecraft:max_stack_size": 1, + "minecraft:profile": "$scuba_helmet", "minecraft:rarity": "common" }, "count": 1 diff --git a/gm4_scuba_gear/data/gm4_scuba_gear/recipe/scuba_tank.json b/gm4_scuba_gear/data/gm4_scuba_gear/recipe/scuba_tank.json index 7e0246b0ac..dc8ed03673 100644 --- a/gm4_scuba_gear/data/gm4_scuba_gear/recipe/scuba_tank.json +++ b/gm4_scuba_gear/data/gm4_scuba_gear/recipe/scuba_tank.json @@ -17,7 +17,12 @@ "result": { "id": "minecraft:leather_chestplate", "components": { - "minecraft:item_name": "\"SCUBA Tank\"", + "minecraft:item_name": { + "translate": "item.gm4.scuba_tank", + "fallback": "SCUBA Tank", + "color": "white", + "italic": false + }, "minecraft:attribute_modifiers": [ { "type": "minecraft:armor", @@ -34,18 +39,23 @@ "slot": "chest" } ], - "minecraft:max_damage": 192, - "!minecraft:enchantable": {}, - "minecraft:custom_model_data": "item/scuba_tank", - "minecraft:trim": { - "material": "minecraft:copper", - "pattern": "minecraft:silence", - "show_in_tooltip": false - }, "minecraft:custom_data": { "gm4_scuba_gear": { "item": "tank" } + }, + "minecraft:custom_model_data": "item/scuba_tank", + "!minecraft:enchantable": {}, + "minecraft:max_damage": 192, + "minecraft:tooltip_display": { + "hidden_components": [ + "minecraft:dyed_color", + "minecraft:trim" + ] + }, + "minecraft:trim": { + "material": "minecraft:copper", + "pattern": "minecraft:silence" } }, "count": 1 diff --git a/gm4_scuba_gear/data/gm4_scuba_gear/recipe/wetsuit.json b/gm4_scuba_gear/data/gm4_scuba_gear/recipe/wetsuit.json index cf431f1507..0b778bcb84 100644 --- a/gm4_scuba_gear/data/gm4_scuba_gear/recipe/wetsuit.json +++ b/gm4_scuba_gear/data/gm4_scuba_gear/recipe/wetsuit.json @@ -17,24 +17,21 @@ "result": { "id": "minecraft:leather_leggings", "components": { - "minecraft:item_name": "{\"translate\": \"item.gm4.wetsuit\",\"fallback\": \"Wetsuit\",\"italic\": false,\"color\": \"white\"}", - "minecraft:attribute_modifiers": [ - { - "type": "minecraft:armor", - "id": "gm4_scuba_gear:wetsuit/armor", - "amount": 2, - "operation": "add_value", - "slot": "legs" - } - ], - "minecraft:dyed_color": 2367281, + "minecraft:item_name": { + "translate": "item.gm4.wetsuit", + "fallback": "Wetsuit", + "color": "white", + "italic": false + }, "minecraft:max_damage": 180, "!minecraft:enchantable": {}, + "minecraft:dyed_color": 2367281, "minecraft:custom_data": { "gm4_scuba_gear": { "item": "wetsuit" } }, + "minecraft:custom_model_data": "item/wetsuit", "minecraft:enchantments": { "gm4_scuba_gear:wetsuit": 1 }, @@ -42,7 +39,6 @@ "minecraft:rarity": "common", "minecraft:tooltip_display": { "hidden_components": [ - "minecraft:attribute_modifiers", "minecraft:dyed_color" ] }, @@ -70,25 +66,6 @@ ], "color": "blue", "italic": false - }, - { - "text": "" - }, - { - "translate": "item.modifiers.legs", - "color": "gray", - "italic": false - }, - { - "translate": "attribute.modifier.plus.0", - "with": [ - "2", - { - "translate": "attribute.name.armor" - } - ], - "color": "blue", - "italic": false } ] }, diff --git a/gm4_scuba_gear/data/gm4_scuba_gear/skins/scuba_helmet.png b/gm4_scuba_gear/data/gm4_scuba_gear/skins/scuba_helmet.png index 68991f14bab72140ef9b403db054e34db5aa19ad..cfa199451ac6ba657ee5177b0004325c36273942 100644 GIT binary patch delta 1149 zcmV-@1cLjX5|IgzBYyw^b5ch_0Itp)=>Px(F-b&0RCt{2mrZCJR}jblTQ+#{Do%>p zi)^E8Xut=REhNx`RFXIc6R@D#!jsiIJ+!hX9BGG;#@=ldsbDE*T+6f+jb;#k@z zd3Gq_*IgHuU_Md97E2)~g{H1VdL5(KO6FelAje=6~^XC8BAevM^MhzSp~ljsJ=f&=Is*7QHCWN z!iD?7Meg){r95@n&)X$&=f_VR5$QgD;)tjTGNhG~ip}@kn<5BZP6IzQdH?{+#lK+a zs;C3Nc7H&UeV=_)HI~^xR{;RXdFlk&p@iS+tf8wI%@w74ODD+MAh6R7TCpuFlo4T& zwZX-)v>&vmRlXN$7zY7hdVUFKW^V!j9?ssv)o%xPE!L_J$OA|Lk~tWLv&mDt_9ymQ zU!fGAo?mKG2s*fa{yVHpjNszk2Ux9^u`)4&uYZ5Og~PXh5_3A~13S(WWaRMNf4so1et!&`QZM;a|?>HIF|Ow_@mK-0Dxz;cfyJ3`6YbS_c@~1rkfV1UB8N_mDgg< zUi$5vZw-POi{sbj-$XWKhZ6qT}S=>lpWuE5&MS7L#ci4i=l zyhhA4gifJSMWIDM49UbXWB{L9W+pY@Clkk-^ex8|Cr=KOT&8b19uNqEc*I#26zZXm z)^<)808(G{i|f!mIn%ZXHm1hK2A%XfF`6qX-3zJ^?8~8KYcDU48t%C!!QiPFbu;m48t%C!!QiP zFbu;m48t%C!!QiPFbwnm<8SF3$AUWmHVXg%01jnXNoGw=04e|g00;m8000000Mb*F P00000NkvXXu0mjfD5V_; literal 2334 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 Date: Tue, 17 Jun 2025 16:04:23 -0400 Subject: [PATCH 05/12] Fix recipe test --- .../data/gm4_scuba_gear/test/craft_flippers.mcfunction | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gm4_scuba_gear/data/gm4_scuba_gear/test/craft_flippers.mcfunction b/gm4_scuba_gear/data/gm4_scuba_gear/test/craft_flippers.mcfunction index 26fc84a547..6728c57919 100644 --- a/gm4_scuba_gear/data/gm4_scuba_gear/test/craft_flippers.mcfunction +++ b/gm4_scuba_gear/data/gm4_scuba_gear/test/craft_flippers.mcfunction @@ -1,7 +1,7 @@ # @template gm4_custom_crafters:test_platform -item replace block ~1 ~1 ~1 container.3 with turtle_scute -item replace block ~1 ~1 ~1 container.5 with turtle_scute +item replace block ~1 ~1 ~1 container.3 with copper_ingot +item replace block ~1 ~1 ~1 container.5 with copper_ingot item replace block ~1 ~1 ~1 container.6 with dried_kelp item replace block ~1 ~1 ~1 container.8 with dried_kelp From cababf2266c9269c11ae6d791a8569164721041b Mon Sep 17 00:00:00 2001 From: EpyonProjects <66185010+EpyonProjects@users.noreply.github.com> Date: Thu, 6 Nov 2025 02:08:46 -0500 Subject: [PATCH 06/12] Oh my goodness, what is this, a commit? - I should be asleep - Addressed all of the concerns Beeps had - Should have checked again at literally any point because this really was not much --- gm4_scuba_gear/README.md | 4 +- .../gm4_scuba_gear/enchantment/wetsuit.json | 48 ++++++----------- .../function/check_recipes.mcfunction | 3 +- .../gm4_scuba_gear/function/init.mcfunction | 2 + .../wetsuit_buoyancy/clear.mcfunction | 4 +- .../wetsuit_buoyancy/negative.mcfunction | 4 +- .../wetsuit_buoyancy/neutral.mcfunction | 4 +- .../wetsuit_buoyancy/positive.mcfunction | 4 +- .../gm4_scuba_gear/guidebook/scuba_gear.json | 2 +- .../gm4_scuba_gear/predicate/has_tags.json | 26 ---------- .../predicate/wetsuit_buoyancy/negative.json | 33 ------------ .../predicate/wetsuit_buoyancy/neutral.json | 51 ------------------- .../predicate/wetsuit_buoyancy/positive.json | 33 ------------ .../test/use_helmet_and_tank.mcfunction_ | 32 ------------ 14 files changed, 26 insertions(+), 224 deletions(-) delete mode 100644 gm4_scuba_gear/data/gm4_scuba_gear/predicate/has_tags.json delete mode 100644 gm4_scuba_gear/data/gm4_scuba_gear/predicate/wetsuit_buoyancy/negative.json delete mode 100644 gm4_scuba_gear/data/gm4_scuba_gear/predicate/wetsuit_buoyancy/neutral.json delete mode 100644 gm4_scuba_gear/data/gm4_scuba_gear/predicate/wetsuit_buoyancy/positive.json delete mode 100644 gm4_scuba_gear/data/gm4_scuba_gear/test/use_helmet_and_tank.mcfunction_ diff --git a/gm4_scuba_gear/README.md b/gm4_scuba_gear/README.md index 543d26ffae..594fddd31d 100644 --- a/gm4_scuba_gear/README.md +++ b/gm4_scuba_gear/README.md @@ -4,6 +4,6 @@ Ease ocean exploration with craftable scuba gear! ### Features - Adds the Wetsuit and Flippers which aids players in underwater movement. -- When worn Flippers are on land, the player is given a slowness debuff. +- When wearing Flippers are on land, players are given a slowness debuff. - Adds the SCUBA Tank which adds 4 minutes of submerged air time. -- Adds the SCUBA Helmet which hastens underwater mining +- Adds the SCUBA Helmet which hastens underwater mining. diff --git a/gm4_scuba_gear/data/gm4_scuba_gear/enchantment/wetsuit.json b/gm4_scuba_gear/data/gm4_scuba_gear/enchantment/wetsuit.json index 45385b8cfc..9cd1e8ccfa 100644 --- a/gm4_scuba_gear/data/gm4_scuba_gear/enchantment/wetsuit.json +++ b/gm4_scuba_gear/data/gm4_scuba_gear/enchantment/wetsuit.json @@ -34,30 +34,14 @@ } }, { - "condition": "minecraft:any_of", - "terms": [ - { - "condition": "minecraft:entity_properties", - "entity": "this", - "predicate": { - "nbt": "{Tags:[\"gm4_sg_buoyancy_neutral\"]}" - } - }, - { - "condition": "minecraft:entity_properties", - "entity": "this", - "predicate": { - "nbt": "{Tags:[\"gm4_sg_buoyancy_negative\"]}" - } - }, - { - "condition": "minecraft:entity_properties", - "entity": "this", - "predicate": { - "nbt": "{Tags:[\"gm4_sg_buoyancy_positive\"]}" - } + "condition": "minecraft:entity_scores", + "entity": "this", + "scores": { + "gm4_sg_buoyancy": { + "min": -1, + "max": 1 } - ] + } } ] } @@ -111,10 +95,10 @@ { "condition": "minecraft:inverted", "term": { - "condition": "minecraft:entity_properties", + "condition": "minecraft:entity_scores", "entity": "this", - "predicate": { - "nbt": "{Tags:[\"gm4_sg_buoyancy_neutral\"]}" + "scores": { + "gm4_sg_buoyancy": 0 } } } @@ -137,10 +121,10 @@ { "condition": "minecraft:inverted", "term": { - "condition": "minecraft:entity_properties", + "condition": "minecraft:entity_scores", "entity": "this", - "predicate": { - "nbt": "{Tags:[\"gm4_sg_buoyancy_negative\"]}" + "scores": { + "gm4_sg_buoyancy": -1 } } }, @@ -176,10 +160,10 @@ { "condition": "minecraft:inverted", "term": { - "condition": "minecraft:entity_properties", + "condition": "minecraft:entity_scores", "entity": "this", - "predicate": { - "nbt": "{Tags:[\"gm4_sg_buoyancy_positive\"]}" + "scores": { + "gm4_sg_buoyancy": 1 } } }, diff --git a/gm4_scuba_gear/data/gm4_scuba_gear/function/check_recipes.mcfunction b/gm4_scuba_gear/data/gm4_scuba_gear/function/check_recipes.mcfunction index 10a107e24b..da29749297 100644 --- a/gm4_scuba_gear/data/gm4_scuba_gear/function/check_recipes.mcfunction +++ b/gm4_scuba_gear/data/gm4_scuba_gear/function/check_recipes.mcfunction @@ -1,5 +1,4 @@ -execute if score $crafted gm4_crafting matches 0 store success score $crafted gm4_crafting if score $slot_count gm4_crafting matches 6 if score $stack_size gm4_crafting matches ..64 if data storage gm4_custom_crafters:temp/crafter {Items:[{Slot:0b,id:"minecraft:copper_ingot"},{Slot:1b,id:"minecraft:copper_ingot"},{Slot:2b,id:"minecraft:copper_ingot"},{Slot:3b,id:"minecraft:copper_ingot"},{Slot:4b,id:"minecraft:glass"},{Slot:5b,id:"minecraft:copper_ingot"}]} run loot replace block ~ ~ ~ container.0 loot gm4_scuba_gear:crafting/scuba_helmet +execute if score $crafted gm4_crafting matches 0 store success score $crafted gm4_crafting if score $slot_count gm4_crafting matches 6 if score $stack_size gm4_crafting matches ..1 if data storage gm4_custom_crafters:temp/crafter {Items:[{Slot:0b,id:"minecraft:copper_ingot"},{Slot:1b,id:"minecraft:copper_ingot"},{Slot:2b,id:"minecraft:copper_ingot"},{Slot:3b,id:"minecraft:copper_ingot"},{Slot:4b,id:"minecraft:glass"},{Slot:5b,id:"minecraft:copper_ingot"}]} run loot replace block ~ ~ ~ container.0 loot gm4_scuba_gear:crafting/scuba_helmet execute if score $crafted gm4_crafting matches 0 store success score $crafted gm4_crafting if score $slot_count gm4_crafting matches 8 if score $stack_size gm4_crafting matches 1 if data storage gm4_custom_crafters:temp/crafter {Items:[{Slot:0b,id:"minecraft:copper_ingot"},{Slot:2b,id:"minecraft:copper_ingot"},{Slot:3b,id:"minecraft:decorated_pot"},{Slot:4b,id:"minecraft:copper_ingot"},{Slot:5b,id:"minecraft:decorated_pot"},{Slot:6b,id:"minecraft:copper_ingot"},{Slot:7b,id:"minecraft:copper_ingot"},{Slot:8b,id:"minecraft:copper_ingot"}]} run loot replace block ~ ~ ~ container.0 loot gm4_scuba_gear:crafting/scuba_tank execute if score $crafted gm4_crafting matches 0 store success score $crafted gm4_crafting if score $slot_count gm4_crafting matches 7 if score $stack_size gm4_crafting matches 1 if data storage gm4_custom_crafters:temp/crafter {Items:[{Slot:0b,id:"minecraft:dried_kelp"},{Slot:1b,id:"minecraft:copper_ingot"},{Slot:2b,id:"minecraft:dried_kelp"},{Slot:3b,id:"minecraft:dried_kelp"},{Slot:5b,id:"minecraft:dried_kelp"},{Slot:6b,id:"minecraft:dried_kelp"},{Slot:8b,id:"minecraft:dried_kelp"}]} run loot replace block ~ ~ ~ container.0 loot gm4_scuba_gear:crafting/wetsuit execute if score $crafted gm4_crafting matches 0 store success score $crafted gm4_crafting if score $slot_count gm4_crafting matches 4 if score $stack_size gm4_crafting matches 1 if data storage gm4_custom_crafters:temp/crafter {Items:[{Slot:0b,id:"minecraft:copper_ingot"},{Slot:2b,id:"minecraft:copper_ingot"},{Slot:3b,id:"minecraft:dried_kelp"},{Slot:5b,id:"minecraft:dried_kelp"}]} run loot replace block ~ ~ ~ container.0 loot gm4_scuba_gear:crafting/flippers -execute if score $crafted gm4_crafting matches 0 store success score $crafted gm4_crafting if score $slot_count gm4_crafting matches 4 if score $stack_size gm4_crafting matches 1 if data storage gm4_custom_crafters:temp/crafter {Items:[{Slot:3b,id:"minecraft:copper_ingot"},{Slot:5b,id:"minecraft:copper_ingot"},{Slot:6b,id:"minecraft:dried_kelp"},{Slot:8b,id:"minecraft:dried_kelp"}]} run loot replace block ~ ~ ~ container.0 loot gm4_scuba_gear:crafting/flippers diff --git a/gm4_scuba_gear/data/gm4_scuba_gear/function/init.mcfunction b/gm4_scuba_gear/data/gm4_scuba_gear/function/init.mcfunction index 18b5813ced..b437cf9e7d 100644 --- a/gm4_scuba_gear/data/gm4_scuba_gear/function/init.mcfunction +++ b/gm4_scuba_gear/data/gm4_scuba_gear/function/init.mcfunction @@ -1,3 +1,5 @@ +scoreboard objectives add gm4_sg_buoyancy dummy + execute unless score scuba_gear gm4_modules matches 1 run data modify storage gm4:log queue append value {type:"install",module:"Scuba Gear"} execute unless score scuba_gear gm4_earliest_version < scuba_gear gm4_modules run scoreboard players operation scuba_gear gm4_earliest_version = scuba_gear gm4_modules scoreboard players set scuba_gear gm4_modules 1 diff --git a/gm4_scuba_gear/data/gm4_scuba_gear/function/wetsuit_buoyancy/clear.mcfunction b/gm4_scuba_gear/data/gm4_scuba_gear/function/wetsuit_buoyancy/clear.mcfunction index c0fd8c9847..a3e8e056da 100644 --- a/gm4_scuba_gear/data/gm4_scuba_gear/function/wetsuit_buoyancy/clear.mcfunction +++ b/gm4_scuba_gear/data/gm4_scuba_gear/function/wetsuit_buoyancy/clear.mcfunction @@ -5,6 +5,4 @@ item modify entity @s armor.legs gm4_scuba_gear:wetsuit_buoyancy/clear -tag @s remove gm4_sg_buoyancy_positive -tag @s remove gm4_sg_buoyancy_neutral -tag @s remove gm4_sg_buoyancy_negative +scoreboard players reset @s gm4_sg_buoyancy diff --git a/gm4_scuba_gear/data/gm4_scuba_gear/function/wetsuit_buoyancy/negative.mcfunction b/gm4_scuba_gear/data/gm4_scuba_gear/function/wetsuit_buoyancy/negative.mcfunction index 32e307d4bd..fe39dd3ba9 100644 --- a/gm4_scuba_gear/data/gm4_scuba_gear/function/wetsuit_buoyancy/negative.mcfunction +++ b/gm4_scuba_gear/data/gm4_scuba_gear/function/wetsuit_buoyancy/negative.mcfunction @@ -5,6 +5,4 @@ item modify entity @s armor.legs gm4_scuba_gear:wetsuit_buoyancy/negative -tag @s remove gm4_sg_buoyancy_positive -tag @s remove gm4_sg_buoyancy_neutral -tag @s add gm4_sg_buoyancy_negative +scoreboard players set @s gm4_sg_buoyancy -1 diff --git a/gm4_scuba_gear/data/gm4_scuba_gear/function/wetsuit_buoyancy/neutral.mcfunction b/gm4_scuba_gear/data/gm4_scuba_gear/function/wetsuit_buoyancy/neutral.mcfunction index ccda2bcdfa..dfe48c5eec 100644 --- a/gm4_scuba_gear/data/gm4_scuba_gear/function/wetsuit_buoyancy/neutral.mcfunction +++ b/gm4_scuba_gear/data/gm4_scuba_gear/function/wetsuit_buoyancy/neutral.mcfunction @@ -5,6 +5,4 @@ item modify entity @s armor.legs gm4_scuba_gear:wetsuit_buoyancy/neutral -tag @s remove gm4_sg_buoyancy_positive -tag @s remove gm4_sg_buoyancy_negative -tag @s add gm4_sg_buoyancy_neutral +scoreboard players set @s gm4_sg_buoyancy 0 diff --git a/gm4_scuba_gear/data/gm4_scuba_gear/function/wetsuit_buoyancy/positive.mcfunction b/gm4_scuba_gear/data/gm4_scuba_gear/function/wetsuit_buoyancy/positive.mcfunction index b5711c668f..659a7fe452 100644 --- a/gm4_scuba_gear/data/gm4_scuba_gear/function/wetsuit_buoyancy/positive.mcfunction +++ b/gm4_scuba_gear/data/gm4_scuba_gear/function/wetsuit_buoyancy/positive.mcfunction @@ -5,6 +5,4 @@ item modify entity @s armor.legs gm4_scuba_gear:wetsuit_buoyancy/negative -tag @s remove gm4_sg_buoyancy_negative -tag @s remove gm4_sg_buoyancy_neutral -tag @s add gm4_sg_buoyancy_positive +scoreboard players set @s gm4_sg_buoyancy 1 diff --git a/gm4_scuba_gear/data/gm4_scuba_gear/guidebook/scuba_gear.json b/gm4_scuba_gear/data/gm4_scuba_gear/guidebook/scuba_gear.json index c0225c8e8b..330681be37 100644 --- a/gm4_scuba_gear/data/gm4_scuba_gear/guidebook/scuba_gear.json +++ b/gm4_scuba_gear/data/gm4_scuba_gear/guidebook/scuba_gear.json @@ -51,7 +51,7 @@ "items": [ { "items": [ - "minecraft:golden_chestplate" + "minecraft:leather_chestplate" ], "predicates": { "minecraft:custom_data": "{gm4_scuba_gear:{item:\"tank\"}}" diff --git a/gm4_scuba_gear/data/gm4_scuba_gear/predicate/has_tags.json b/gm4_scuba_gear/data/gm4_scuba_gear/predicate/has_tags.json deleted file mode 100644 index a11ceba37f..0000000000 --- a/gm4_scuba_gear/data/gm4_scuba_gear/predicate/has_tags.json +++ /dev/null @@ -1,26 +0,0 @@ -[ - { - "condition": "minecraft:any_of", - "terms": [ - { - "condition": "minecraft:entity_properties", - "entity": "this", - "predicate": { - "nbt": "{Tags:[\"gm4_sg_buoyancy_neutral\"]}" - } - }, { - "condition": "minecraft:entity_properties", - "entity": "this", - "predicate": { - "nbt": "{Tags:[\"gm4_sg_buoyancy_negative\"]}" - } - }, { - "condition": "minecraft:entity_properties", - "entity": "this", - "predicate": { - "nbt": "{Tags:[\"gm4_sg_buoyancy_positive\"]}" - } - } - ] - } -] diff --git a/gm4_scuba_gear/data/gm4_scuba_gear/predicate/wetsuit_buoyancy/negative.json b/gm4_scuba_gear/data/gm4_scuba_gear/predicate/wetsuit_buoyancy/negative.json deleted file mode 100644 index 840ca610bc..0000000000 --- a/gm4_scuba_gear/data/gm4_scuba_gear/predicate/wetsuit_buoyancy/negative.json +++ /dev/null @@ -1,33 +0,0 @@ -[ - { - "condition": "minecraft:location_check", - "predicate": { - "fluid": { - "fluids": "#minecraft:water" - } - } - }, - { - "condition": "minecraft:inverted", - "term": { - "condition": "minecraft:entity_properties", - "entity": "this", - "predicate": { - "nbt": "{Tags:[\"gm4_sg_buoyancy_negative\"]}" - } - } - }, - { - "condition": "minecraft:entity_properties", - "entity": "this", - "predicate": { - "type_specific": { - "type": "minecraft:player", - "input": { - "jump": false, - "sneak": true - } - } - } - } -] diff --git a/gm4_scuba_gear/data/gm4_scuba_gear/predicate/wetsuit_buoyancy/neutral.json b/gm4_scuba_gear/data/gm4_scuba_gear/predicate/wetsuit_buoyancy/neutral.json deleted file mode 100644 index 46287300f4..0000000000 --- a/gm4_scuba_gear/data/gm4_scuba_gear/predicate/wetsuit_buoyancy/neutral.json +++ /dev/null @@ -1,51 +0,0 @@ -[ - { - "condition": "minecraft:location_check", - "predicate": { - "fluid": { - "fluids": "#minecraft:water" - } - } - }, - { - "condition": "minecraft:any_of", - "terms": [ - { - "condition": "minecraft:entity_properties", - "entity": "this", - "predicate": { - "type_specific": { - "type": "minecraft:player", - "input": { - "jump": false, - "sneak": false - } - } - } - }, - { - "condition": "minecraft:entity_properties", - "entity": "this", - "predicate": { - "type_specific": { - "type": "minecraft:player", - "input": { - "jump": true, - "sneak": true - } - } - } - } - ] - }, - { - "condition": "minecraft:inverted", - "term": { - "condition": "minecraft:entity_properties", - "entity": "this", - "predicate": { - "nbt": "{Tags:[\"gm4_sg_buoyancy_neutral\"]}" - } - } - } -] diff --git a/gm4_scuba_gear/data/gm4_scuba_gear/predicate/wetsuit_buoyancy/positive.json b/gm4_scuba_gear/data/gm4_scuba_gear/predicate/wetsuit_buoyancy/positive.json deleted file mode 100644 index 52ba7e43dd..0000000000 --- a/gm4_scuba_gear/data/gm4_scuba_gear/predicate/wetsuit_buoyancy/positive.json +++ /dev/null @@ -1,33 +0,0 @@ -[ - { - "condition": "minecraft:location_check", - "predicate": { - "fluid": { - "fluids": "#minecraft:water" - } - } - }, - { - "condition": "minecraft:inverted", - "term": { - "condition": "minecraft:entity_properties", - "entity": "this", - "predicate": { - "nbt": "{Tags:[\"gm4_sg_buoyancy_positive\"]}" - } - } - }, - { - "condition": "minecraft:entity_properties", - "entity": "this", - "predicate": { - "type_specific": { - "type": "minecraft:player", - "input": { - "jump": true, - "sneak": false - } - } - } - } -] diff --git a/gm4_scuba_gear/data/gm4_scuba_gear/test/use_helmet_and_tank.mcfunction_ b/gm4_scuba_gear/data/gm4_scuba_gear/test/use_helmet_and_tank.mcfunction_ deleted file mode 100644 index ac6640a866..0000000000 --- a/gm4_scuba_gear/data/gm4_scuba_gear/test/use_helmet_and_tank.mcfunction_ +++ /dev/null @@ -1,32 +0,0 @@ -# TEST IS INVALID WITH REWORK - -# @template gm4:test_tube -# @dummy ~1.5 ~1 ~1.5 - -setblock ~1 ~1 ~1 water -setblock ~1 ~2 ~1 water -loot replace entity @s armor.head loot gm4_scuba_gear:items/scuba_helmet -loot replace entity @s armor.chest loot gm4_scuba_gear:items/scuba_tank - -await entity @s[nbt={active_effects:[{id:"minecraft:conduit_power"}]}] - -# remove tank -item replace entity @s armor.chest with air - -await not entity @s[nbt={active_effects:[{id:"minecraft:conduit_power"}]}] - -# readd tank -loot replace entity @s armor.chest loot gm4_scuba_gear:items/scuba_tank - -await delay 1s - -assert not entity @s[nbt={active_effects:[{id:"minecraft:conduit_power"}]}] - -# refresh air -setblock ~1 ~2 ~1 air - -await delay 1s - -setblock ~1 ~2 ~1 water - -await entity @s[nbt={active_effects:[{id:"minecraft:conduit_power"}]}] From 5778abbbe22cbf733e2948ebf43a9cc785e5ef30 Mon Sep 17 00:00:00 2001 From: EpyonProjects <66185010+EpyonProjects@users.noreply.github.com> Date: Thu, 13 Nov 2025 15:37:40 -0500 Subject: [PATCH 07/12] Actually address all of the changes Beeps had - Before putting it onto public server --- gm4_scuba_gear/README.md | 2 +- .../data/gm4_scuba_gear/function/check_recipes.mcfunction | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/gm4_scuba_gear/README.md b/gm4_scuba_gear/README.md index 594fddd31d..5d8f207de8 100644 --- a/gm4_scuba_gear/README.md +++ b/gm4_scuba_gear/README.md @@ -4,6 +4,6 @@ Ease ocean exploration with craftable scuba gear! ### Features - Adds the Wetsuit and Flippers which aids players in underwater movement. -- When wearing Flippers are on land, players are given a slowness debuff. +- When wearing Flippers on land, players are given a slowness debuff. - Adds the SCUBA Tank which adds 4 minutes of submerged air time. - Adds the SCUBA Helmet which hastens underwater mining. diff --git a/gm4_scuba_gear/data/gm4_scuba_gear/function/check_recipes.mcfunction b/gm4_scuba_gear/data/gm4_scuba_gear/function/check_recipes.mcfunction index da29749297..dfd3940db0 100644 --- a/gm4_scuba_gear/data/gm4_scuba_gear/function/check_recipes.mcfunction +++ b/gm4_scuba_gear/data/gm4_scuba_gear/function/check_recipes.mcfunction @@ -1,4 +1,4 @@ -execute if score $crafted gm4_crafting matches 0 store success score $crafted gm4_crafting if score $slot_count gm4_crafting matches 6 if score $stack_size gm4_crafting matches ..1 if data storage gm4_custom_crafters:temp/crafter {Items:[{Slot:0b,id:"minecraft:copper_ingot"},{Slot:1b,id:"minecraft:copper_ingot"},{Slot:2b,id:"minecraft:copper_ingot"},{Slot:3b,id:"minecraft:copper_ingot"},{Slot:4b,id:"minecraft:glass"},{Slot:5b,id:"minecraft:copper_ingot"}]} run loot replace block ~ ~ ~ container.0 loot gm4_scuba_gear:crafting/scuba_helmet +execute if score $crafted gm4_crafting matches 0 store success score $crafted gm4_crafting if score $slot_count gm4_crafting matches 6 if score $stack_size gm4_crafting matches 1 if data storage gm4_custom_crafters:temp/crafter {Items:[{Slot:0b,id:"minecraft:copper_ingot"},{Slot:1b,id:"minecraft:copper_ingot"},{Slot:2b,id:"minecraft:copper_ingot"},{Slot:3b,id:"minecraft:copper_ingot"},{Slot:4b,id:"minecraft:glass"},{Slot:5b,id:"minecraft:copper_ingot"}]} run loot replace block ~ ~ ~ container.0 loot gm4_scuba_gear:crafting/scuba_helmet execute if score $crafted gm4_crafting matches 0 store success score $crafted gm4_crafting if score $slot_count gm4_crafting matches 8 if score $stack_size gm4_crafting matches 1 if data storage gm4_custom_crafters:temp/crafter {Items:[{Slot:0b,id:"minecraft:copper_ingot"},{Slot:2b,id:"minecraft:copper_ingot"},{Slot:3b,id:"minecraft:decorated_pot"},{Slot:4b,id:"minecraft:copper_ingot"},{Slot:5b,id:"minecraft:decorated_pot"},{Slot:6b,id:"minecraft:copper_ingot"},{Slot:7b,id:"minecraft:copper_ingot"},{Slot:8b,id:"minecraft:copper_ingot"}]} run loot replace block ~ ~ ~ container.0 loot gm4_scuba_gear:crafting/scuba_tank execute if score $crafted gm4_crafting matches 0 store success score $crafted gm4_crafting if score $slot_count gm4_crafting matches 7 if score $stack_size gm4_crafting matches 1 if data storage gm4_custom_crafters:temp/crafter {Items:[{Slot:0b,id:"minecraft:dried_kelp"},{Slot:1b,id:"minecraft:copper_ingot"},{Slot:2b,id:"minecraft:dried_kelp"},{Slot:3b,id:"minecraft:dried_kelp"},{Slot:5b,id:"minecraft:dried_kelp"},{Slot:6b,id:"minecraft:dried_kelp"},{Slot:8b,id:"minecraft:dried_kelp"}]} run loot replace block ~ ~ ~ container.0 loot gm4_scuba_gear:crafting/wetsuit execute if score $crafted gm4_crafting matches 0 store success score $crafted gm4_crafting if score $slot_count gm4_crafting matches 4 if score $stack_size gm4_crafting matches 1 if data storage gm4_custom_crafters:temp/crafter {Items:[{Slot:0b,id:"minecraft:copper_ingot"},{Slot:2b,id:"minecraft:copper_ingot"},{Slot:3b,id:"minecraft:dried_kelp"},{Slot:5b,id:"minecraft:dried_kelp"}]} run loot replace block ~ ~ ~ container.0 loot gm4_scuba_gear:crafting/flippers From 9f4754f3446897b6cc68be4716e65bece9beefad Mon Sep 17 00:00:00 2001 From: EpyonProjects <66185010+EpyonProjects@users.noreply.github.com> Date: Thu, 13 Nov 2025 16:33:04 -0500 Subject: [PATCH 08/12] Fix Scuba advancement for all gear --- .../gm4_scuba_gear/predicate/all_gear_equipped.json | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/gm4_scuba_gear/data/gm4_scuba_gear/predicate/all_gear_equipped.json b/gm4_scuba_gear/data/gm4_scuba_gear/predicate/all_gear_equipped.json index f1bc0a3403..d5cb801507 100644 --- a/gm4_scuba_gear/data/gm4_scuba_gear/predicate/all_gear_equipped.json +++ b/gm4_scuba_gear/data/gm4_scuba_gear/predicate/all_gear_equipped.json @@ -13,12 +13,20 @@ }, "chest": { "items": [ - "minecraft:golden_chestplate" + "minecraft:leather_chestplate" ], "predicates": { "minecraft:custom_data": "{gm4_scuba_gear:{item:\"tank\"}}" } }, + "legs": { + "items": [ + "minecraft:leather_chestplate" + ], + "predicates": { + "minecraft:custom_data": "{gm4_scuba_gear:{item:\"wetsuit\"}}" + } + }, "feet": { "items": [ "minecraft:leather_boots" From a26c682b44abe1e8a4000d90c89184bb42e36dd4 Mon Sep 17 00:00:00 2001 From: BPR02 Date: Mon, 17 Nov 2025 03:28:56 -0800 Subject: [PATCH 09/12] Add custom armor assets (RP required) Requires PR #1215 --- gm4/modeldata_registry.json | 4 +- .../gm4_scuba_gear/equipment/scuba.json | 26 ++ .../entity/equipment/humanoid/scuba.png | Bin 0 -> 1720 bytes .../equipment/humanoid/scuba_overlay.png | Bin 0 -> 156 bytes .../equipment/humanoid_leggings/scuba.png | Bin 0 -> 885 bytes .../humanoid_leggings/scuba_overlay.png | Bin 0 -> 382 bytes .../gm4_scuba_gear/textures/item/flippers.png | Bin 328 -> 236 bytes .../textures/item/flippers_overlay.png | Bin 178 -> 239 bytes .../textures/item/scuba_helmet.png | Bin 498 -> 445 bytes .../textures/item/scuba_tank.png | Bin 583 -> 371 bytes .../gm4_scuba_gear/textures/item/wetsuit.png | Bin 0 -> 170 bytes .../textures/item/wetsuit_overlay.png | Bin 0 -> 332 bytes .../textures/misc/scuba_helmet.png | Bin 0 -> 26147 bytes .../assets/minecraft/items/leather_boots.json | 342 ++++++++++++++++++ .../minecraft/items/leather_leggings.json | 342 ++++++++++++++++++ gm4_scuba_gear/beet.yaml | 24 +- .../loot_table/items/flippers.json | 10 +- .../loot_table/items/scuba_helmet.json | 7 +- .../loot_table/items/scuba_tank.json | 11 +- .../loot_table/items/wetsuit.json | 8 +- .../data/gm4_scuba_gear/recipe/flippers.json | 4 + .../gm4_scuba_gear/recipe/scuba_helmet.json | 7 +- .../gm4_scuba_gear/recipe/scuba_tank.json | 4 + .../data/gm4_scuba_gear/recipe/wetsuit.json | 4 + 24 files changed, 769 insertions(+), 24 deletions(-) create mode 100644 gm4_scuba_gear/assets/gm4_scuba_gear/equipment/scuba.json create mode 100644 gm4_scuba_gear/assets/gm4_scuba_gear/textures/entity/equipment/humanoid/scuba.png create mode 100644 gm4_scuba_gear/assets/gm4_scuba_gear/textures/entity/equipment/humanoid/scuba_overlay.png create mode 100644 gm4_scuba_gear/assets/gm4_scuba_gear/textures/entity/equipment/humanoid_leggings/scuba.png create mode 100644 gm4_scuba_gear/assets/gm4_scuba_gear/textures/entity/equipment/humanoid_leggings/scuba_overlay.png create mode 100644 gm4_scuba_gear/assets/gm4_scuba_gear/textures/item/wetsuit.png create mode 100644 gm4_scuba_gear/assets/gm4_scuba_gear/textures/item/wetsuit_overlay.png create mode 100644 gm4_scuba_gear/assets/gm4_scuba_gear/textures/misc/scuba_helmet.png create mode 100644 gm4_scuba_gear/assets/minecraft/items/leather_boots.json create mode 100644 gm4_scuba_gear/assets/minecraft/items/leather_leggings.json diff --git a/gm4/modeldata_registry.json b/gm4/modeldata_registry.json index b5378dafbf..0e5c203bd7 100644 --- a/gm4/modeldata_registry.json +++ b/gm4/modeldata_registry.json @@ -639,7 +639,6 @@ "gm4_animi_shamir:shamir/animi": 124 }, "golden_chestplate": { - "gm4_scuba_gear:item/scuba_tank": 1, "gm4_zauber_cauldrons:item/zauber_armor/health_boost": 2, "gm4_zauber_cauldrons:item/zauber_armor/attack_boost": 3, "gm4_zauber_cauldrons:item/zauber_armor/speed_boost": 4, @@ -962,6 +961,7 @@ }, "leather_chestplate": { "gm4_combat_expanded:gui/advancement/combat_expanded_identify": 1, + "gm4_scuba_gear:item/scuba_tank": 2, "gm4_weighted_armour:shamir/helious": 103, "gm4_metallurgy:shamir/defuse": 106, "gm4_iacio_shamir:shamir/iacio": 122, @@ -969,6 +969,8 @@ }, "leather_helmet": { "gm4_tower_structures:item/pirate_hat": 2, + "gm4_scuba_gear:item/scuba_helmet": 9, + "gm4_scuba_gear:gui/advancement/scuba_gear": 48, "gm4_weighted_armour:shamir/helious": 103, "gm4_metallurgy:shamir/defuse": 106, "gm4_animi_shamir:shamir/animi": 124 diff --git a/gm4_scuba_gear/assets/gm4_scuba_gear/equipment/scuba.json b/gm4_scuba_gear/assets/gm4_scuba_gear/equipment/scuba.json new file mode 100644 index 0000000000..ca6a9f9942 --- /dev/null +++ b/gm4_scuba_gear/assets/gm4_scuba_gear/equipment/scuba.json @@ -0,0 +1,26 @@ +{ + "layers": { + "humanoid": [ + { + "texture": "gm4_scuba_gear:scuba" + }, + { + "dyeable": { + "color_when_undyed": 2321353 + }, + "texture": "gm4_scuba_gear:scuba_overlay" + } + ], + "humanoid_leggings": [ + { + "texture": "gm4_scuba_gear:scuba" + }, + { + "dyeable": { + "color_when_undyed": 2321353 + }, + "texture": "gm4_scuba_gear:scuba_overlay" + } + ] + } +} diff --git a/gm4_scuba_gear/assets/gm4_scuba_gear/textures/entity/equipment/humanoid/scuba.png b/gm4_scuba_gear/assets/gm4_scuba_gear/textures/entity/equipment/humanoid/scuba.png new file mode 100644 index 0000000000000000000000000000000000000000..e2ecd8b60f449ee5f5a4ed44c5cecb768553f588 GIT binary patch literal 1720 zcmV;p21ogcP)nlx!>=_c!%O^imjaU%iOrmJAtVp?QSWHJL&W?*n&MovEr_d1suy#oW= zw|_F3bI&=?x##(x=j~hx4V>CuDoTnS3CFs>9@G-2_H>t|IVlMYAFL7pxhvNKps#CO zly!Al6H1C5IL+WRgU9E`>@NbKw545=twD|psY26#WFG_+vzL{3g&t&rxq(mi|Ha4x=MOcA9E+7F z_r0c4K2`rG83KMtX)t%?TD-F^5E~Q$4nMz6Wf2E1_9XRQeX_~V&LZM>rO zob+zXE5hcTBGA_h!0*;NRGZYoyDhJXh$n9;4F1;FUdFO~hAKhz-lGXluUHy!^( zB`?RWOJOS+-XYw+Xbj6-y@s(|6E^RZb{6P7(Iy>jd^4`U^32AKMDgXHe>y02o@i6%g$Ax+@9kG9pGdyD(1hFPr=-|HNwGt*wC+Nax(>*) zS^)4(1OXV#v2#TP#RkdpNK;%tbPIE?m6gk)1(VU|<;x@qa7=(Ja6jSLK$=x)2S$e< zy2grrSHk|-0&b|tNeNMp^^ONw<(&dd=-oa)PFseeJTXK7)YrYt(@lHCTo)+YTP<{< z2yV}9oVEK{yXKJ>Hiq>-yz?qsY!tL`jA|3?x`$Hbe zYb(W!Sx

2eUy`Mk4u$Cj@{4GlRd(;_OWy(}DYxIqkUndaR%em?&HgfH5-- zfTrW0NaeMaLN@ubz18BazrN3fO{JO&YT>}e9_jG&>qPD{3v#w_`}_W*x`r`7uRvoa=I$=R5dFh2XtCF+E4-J|jdxgDF0E~~1 zV=x#Q_1#@M=Dr7L63~3O5rE5=FSBvuMt1Msy`UH61xFSnx75%iATKX^sj=JbNiVuA z#}?OTn=#CHZ$Dnd`g?YkT>$K^-u%!QkSIPRiX%&bq`n8t7c=H~!y40tA3Fd0bdQt? z_@H`gQYYok&X4Omxnq+!xnq;4m@%u?`Jj5Mc-5p&dhJv&zrsBM&j0V0=A6uBIU@F7 zM#ndI0I*roRrCHc=muaccrVrMX(D9;Hvg)SwrgLh`gEa)(w5VvE))@g@e%cna@Bf; z5R1{kJ01U(0DhgnURaFLpgDK##YW0G{bM;_`1)U+ntd;B zEf)akhUhlr@$?;=1fYX!SU?n?Y0AkKz^oPg{i6#K!1jt~MY=)%f3bj{JtX<# zf!62i*lTm_-CO<$@neO=?2WJaaHCT919WwDQB+i zI3U1?{j|Z%=?fE9FKL>l7c}X=m3R8drTi+MlYr=p{&774L2-xobECA^Zhd=h_MF`g zUYrecJ_~>M0LoV#(=rn*JiA{$p~q1(^=!Ph<7M8MDSXqd8Q2d1tz+bP0l+XkK D`kFQg literal 0 HcmV?d00001 diff --git a/gm4_scuba_gear/assets/gm4_scuba_gear/textures/entity/equipment/humanoid_leggings/scuba.png b/gm4_scuba_gear/assets/gm4_scuba_gear/textures/entity/equipment/humanoid_leggings/scuba.png new file mode 100644 index 0000000000000000000000000000000000000000..ea43138f0ae81bbd160380cdb75dcefdde538c5a GIT binary patch literal 885 zcmV-*1B(2KP)mZ3Iq0GCvi(+S_b@)Ecu<^`TX9!``#HcGBPqUGBPqU zGBPqUGBW-*4s$2k`wCuIr{6b5ObxaN%MJA@XWQ2EjDV#5N)F zNGXw0qU$+yJ*Vt6V-AYe+3@1UYcyR1mOIc(3x&e2ZP6t_keGjgHadEy4NxqO^L+JH zmqWOAqlD|2Kqva4m%s0~__opLsTuuhP`{`O2upO^_aK;|Bs{OFW=u+{gzLy*vkhPv zhPn?i3JN} z6BTMltyZJ@U`g542TRmywJvQ5Z6WgLdXA+xTYTQwRJ+1{EDLRrL89B1rVD(()ei3o zbR;T-wr$6>B`ojXS_8wn;NIj3=2q4@bof~6!2XmW0L!uf}^G^T0NXfz5}HE03P3 znfCn_GqcmG(f}HbM$CTtWR>}s@40?oqKdA z-#5Of;0(jSG))Y{P|r=%>{`dYd_vo@ES|5v;>u~k(wi-$lvtJ(^WQ79UTQxa%y5zp zbT1Wf97lcdZU-U9abnNHe)r#bvBd5N+Q*M?QynxM$7wHD9&+{C9QAq~f?#_k&$exK zzg&5!l42MJQ>6)>K3PSGJX58K@ZD)X?T<)(${HO#(~b%vz~#%AAlM0d*>s3#xx4_t zt(&*;ye5lx?05AW@0_*{hB!9C>L_t(IjqQ#x4uU`s00%VZ2V@^`oxXrd8+-&x$2%_3zg)6^ z;2ZQj0Bp4)IUA4IpoNxBwaLzG7XJMCC1qI#=Un*YIp@NmC?+qBaaC0S)O9_3B<_x< z6Y004R=004l4008;_ z004mK002@5009+P0026d000+n*IFNt0002aNklL)5JYEB*FYMurBo0p zI3UC@z{D+VTY)AiAjH7fEm*P}*b?^8=`Om@j{GnEVYAY_9e*;Us`y4Xe5rrHZvfoi z4KwRBO)$n_-*?0q>HXeXLn#FS=seGB17_B3+t6A=?;Rp?`DBbitrhb;1Asc`UVvvf z=Zs}peyo~v#=5Q_kUKN0h@kh5S}UxzNGV;yB64YDtwpUBBBJ!%LI^=)jO3hC?>(iI z6ad8-5kk;$944uhqTYKtjzfoGAON7hKc>e3m7{1M#X{B+00000NkvXXu0mjfD7bu^ diff --git a/gm4_scuba_gear/assets/gm4_scuba_gear/textures/item/flippers_overlay.png b/gm4_scuba_gear/assets/gm4_scuba_gear/textures/item/flippers_overlay.png index 8fca7781bbbab46a11435b54dcff044c4f3e523f..100f8a7517260e6777795fb9e28485d52a32d6b6 100644 GIT binary patch delta 211 zcmV;^04)Eq0q+5jB!9L^L_t(IjqQ&;3c^4Tg zYc@N!DQ@==3qRnxQIL6|eVG>^5158S381JkTzhx`I-r_LVBp)Kw?b3z1;QarLi`<1&%p{?@?Hya9p4O1iSD_iX?G N002ovPDHLkV1mL!V`u;X delta 150 zcmaFQxQTIsNB1UUHK{h`|hhC0Z&&ymvv4FO#o5QF%|#- diff --git a/gm4_scuba_gear/assets/gm4_scuba_gear/textures/item/scuba_helmet.png b/gm4_scuba_gear/assets/gm4_scuba_gear/textures/item/scuba_helmet.png index 1fd07b8c6bd0cfdd0dc1ad782cfb3bf2e8441f47..9541c0d028f5f47535323a5e9f00179ef69d1998 100644 GIT binary patch delta 420 zcmV;V0bBm^1HA)~BYy#eNkl6|QKxy1TZhJ3Y?8l{>e4r#DZY=l?$c=Y8P6Pn{Q- z8i-h4_}2OTAAW zipI7O>m6MVm-f1j6~x;DCsGdI_8tJQ%PX~e)9yYeQV#L9@OK5xFp=~hP|>Rdlssj< z3P9i+`yHxgn19X;(&8DKVG@O;q6=qvo*epKtvb_s{Uq~`1-%xmZ0bu_!Z)==In(S$}dd7zVNW{AVh&|>2YWr)3 zSrg+flJfe7a&SmrtB;cU71qYD&@#n}y9VA>9_b8tRvr21q3p^3-}4DjRHYAX9X8WNB|8RBvx=!KdMT0004fNkl)1=5s9Q)Xgpltc}hl$%V=#&Yu7C?r`RQOZJj&%y#DO@Bz_T?|EPj+M!EbBFv_ zr?0+W-}!&%NJ0qyGm;*ldOBHDq$lDmyp{e8aCN7NfY(Ln=9=EENoMVj(ysuk!F&N= zH0E=6x6Ai)N#3p$H-X|XiI-PFme~-~j?W(OP2Wgy6L{>hXm0>HuS}(f=N1`WP0&D8 zfUoAsK#){fW`ASnfK0QI+VTv-d+QpA3ZOVl!aGnJGlyFJ_~s6A&ve8fp25wZ0i&Hc z!qrxY(zVP`SwGE7J=h9zX??1p?x+uMOA*S*KHjmgK44|`9Dv4@dXi4ws5|N-(`>|M zwJ^SL7za?54Zun;61zWu&1wPA2YfEl*H+BwRa8@NU{Y#ZzXio%67Cwo{F;Hw`*)T3 z{3`4nav|(juG6=c;MR*Cm%-TF_h2oMxV3Uf!93zYfJ+ zq_#IDK-H>ncbHMSaezK|QMD@cM@FbuY=X%>fVhb#VP+0&sl$fF)`GSfb|3eFYZAM*&!$pF&py0O)GK!+lqn+gOqJ6Jyj` zp8%BW4YHvilgo=T8wxty6gJJRHI{aFq(@*#A9fBU-roR-J-_mJeyJo&WlUkyE))S6 z+&}R+aDLiRRZ_LE)BLClS`F{c?Lv`@y#r@%pp!(7&X@^nG{0^DxOysZn#(KcgdtP$ rD5kI-?(2Y`mvye3$>o)9{GY@(Q~#5vAoXd500000NkvXXu0mjfy04(i delta 559 zcmV+~0?_^Q0>=c9BYyx1a7bBm000XU000XU0RWnu7ytkOAY({UO#lFTCjbC|g8%^f zWB>qw(f|NPyZo&W$9{>FaOIsgCx%}GQ-RCwB?Q@=}FVH7=I)DnlpLDCK} zDmsV_ciy@8p7TCI5|4@c@}y5`s$>(JDYL4+nKFe0ki`6( zXA*Fx-=QPWh_9(X4gyVa%R4JRCbGg+mS83^Q8^(iyU!#h5c~XE=91tZ)40iH0084d zgU}SW1Zj#Jet%DKTMJXALHR{Ky@g2F2jB_-5DELRdzAaXh__2$;PJblGl)+s`jOD?i@ZdsS0Ji$Fxeq$s3e4%tRyXs?h)yK|uKQ*<-vAcByNeCfO?#6H7$J*SrW7L=Lo}k5>cf12> xqY#c7)F_a*<`eyX>k+5vbNfHHCU{Id3;?0W`Upt3D{=q;002ovPDHLkV1mOJ_!|HK diff --git a/gm4_scuba_gear/assets/gm4_scuba_gear/textures/item/wetsuit.png b/gm4_scuba_gear/assets/gm4_scuba_gear/textures/item/wetsuit.png new file mode 100644 index 0000000000000000000000000000000000000000..f508f89e7ffc8f5feae9986766887b41b2e8bb41 GIT binary patch literal 170 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`g`O^sAr`%FC+y}tV8G+jDqgVs z)YN4k*xqezdbT5S%N+3!EMDTD3Yi*3G(TD0m1VbDG`~D^Eo;M!N`^((sy&#fGmlApXWjd~`?=hscdx}54&7b8`%g_Pt4D;w VJhKT7j+K;D=D-|Jt&RP)`Rg~I-S1xcryk58%niK zsn+d%M8d`R*`8RH6||o5F}(u-q%0svf;q>_>ocr1n;6<>B*9<+%n#6d26OKHL;}_t z{F-1T13>wGu8^{T)>B%-isSJy(0e{VMY&NY0H~^ULP!|1U>Gk+UQ_}A+|~Eq9>zeNlvb82ts&&gU eZG1^Rf59g$6cqRdgOs>GzJsw?^u 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 Date: Mon, 17 Nov 2025 13:01:14 -0800 Subject: [PATCH 10/12] fix recipe tank trim --- gm4_scuba_gear/data/gm4_scuba_gear/recipe/scuba_tank.json | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/gm4_scuba_gear/data/gm4_scuba_gear/recipe/scuba_tank.json b/gm4_scuba_gear/data/gm4_scuba_gear/recipe/scuba_tank.json index 85f8a7b678..15a054a5aa 100644 --- a/gm4_scuba_gear/data/gm4_scuba_gear/recipe/scuba_tank.json +++ b/gm4_scuba_gear/data/gm4_scuba_gear/recipe/scuba_tank.json @@ -53,13 +53,8 @@ "minecraft:max_damage": 192, "minecraft:tooltip_display": { "hidden_components": [ - "minecraft:dyed_color", - "minecraft:trim" + "minecraft:dyed_color" ] - }, - "minecraft:trim": { - "material": "minecraft:copper", - "pattern": "minecraft:silence" } }, "count": 1 From de9dc2e2d874c7c6f416188ca62f952d422eb9bd Mon Sep 17 00:00:00 2001 From: BPR02 Date: Thu, 20 Nov 2025 09:09:49 -0800 Subject: [PATCH 11/12] Use item_model instead of custom_model_data This will make all items appear as missing textures. It's possible to make them look like leather armor without the RP, but making the item sprites missing textures should "force" the RP to be required. This is important because without the RP the armor is invisible, so we should highly discourage that by making the item textures missing without the RP. I.e. make it basically unplayable without the RP so people don't get invisible armor --- gm4/modeldata_registry.json | 7 - .../assets/gm4_scuba_gear/items/flippers.json | 12 + .../gm4_scuba_gear/items/scuba_helmet.json | 6 + .../gm4_scuba_gear/items/scuba_tank.json | 6 + .../assets/gm4_scuba_gear/items/wetsuit.json | 12 + .../gm4_scuba_gear/models/item/flippers.json | 7 + .../models/item/scuba_helmet.json | 6 + .../models/item/scuba_tank.json | 6 + .../gm4_scuba_gear/models/item/wetsuit.json | 7 + .../assets/minecraft/items/leather_boots.json | 342 ------------------ .../minecraft/items/leather_leggings.json | 342 ------------------ gm4_scuba_gear/beet.yaml | 34 -- .../data/gm4/advancement/scuba_gear.json | 4 +- .../loot_table/items/flippers.json | 2 +- .../loot_table/items/scuba_helmet.json | 2 +- .../loot_table/items/scuba_tank.json | 2 +- .../loot_table/items/wetsuit.json | 2 +- .../data/gm4_scuba_gear/recipe/flippers.json | 2 +- .../gm4_scuba_gear/recipe/scuba_helmet.json | 2 +- .../gm4_scuba_gear/recipe/scuba_tank.json | 2 +- .../data/gm4_scuba_gear/recipe/wetsuit.json | 2 +- 21 files changed, 72 insertions(+), 735 deletions(-) create mode 100644 gm4_scuba_gear/assets/gm4_scuba_gear/items/flippers.json create mode 100644 gm4_scuba_gear/assets/gm4_scuba_gear/items/scuba_helmet.json create mode 100644 gm4_scuba_gear/assets/gm4_scuba_gear/items/scuba_tank.json create mode 100644 gm4_scuba_gear/assets/gm4_scuba_gear/items/wetsuit.json create mode 100644 gm4_scuba_gear/assets/gm4_scuba_gear/models/item/flippers.json create mode 100644 gm4_scuba_gear/assets/gm4_scuba_gear/models/item/scuba_helmet.json create mode 100644 gm4_scuba_gear/assets/gm4_scuba_gear/models/item/scuba_tank.json create mode 100644 gm4_scuba_gear/assets/gm4_scuba_gear/models/item/wetsuit.json delete mode 100644 gm4_scuba_gear/assets/minecraft/items/leather_boots.json delete mode 100644 gm4_scuba_gear/assets/minecraft/items/leather_leggings.json diff --git a/gm4/modeldata_registry.json b/gm4/modeldata_registry.json index 0e5c203bd7..e93534daee 100644 --- a/gm4/modeldata_registry.json +++ b/gm4/modeldata_registry.json @@ -948,7 +948,6 @@ }, "leather_boots": { "gm4_boots_of_ostara:item/boots_of_ostara": 1, - "gm4_scuba_gear:item/flippers": 2, "gm4_boots_of_ostara:gui/advancement/boots_of_ostara": 3, "gm4_boots_of_ostara:item/flippers_of_ostara": 4, "gm4_boots_of_ostara:guidebook_icon/boots_of_ostara": 5, @@ -961,7 +960,6 @@ }, "leather_chestplate": { "gm4_combat_expanded:gui/advancement/combat_expanded_identify": 1, - "gm4_scuba_gear:item/scuba_tank": 2, "gm4_weighted_armour:shamir/helious": 103, "gm4_metallurgy:shamir/defuse": 106, "gm4_iacio_shamir:shamir/iacio": 122, @@ -969,15 +967,12 @@ }, "leather_helmet": { "gm4_tower_structures:item/pirate_hat": 2, - "gm4_scuba_gear:item/scuba_helmet": 9, - "gm4_scuba_gear:gui/advancement/scuba_gear": 48, "gm4_weighted_armour:shamir/helious": 103, "gm4_metallurgy:shamir/defuse": 106, "gm4_animi_shamir:shamir/animi": 124 }, "leather_leggings": { "gm4_washing_tanks:guidebook_icon/washing_tanks": 1, - "gm4_scuba_gear:item/wetsuit": 2, "gm4_weighted_armour:shamir/helious": 103, "gm4_metallurgy:shamir/defuse": 106, "gm4_animi_shamir:shamir/animi": 124 @@ -1260,7 +1255,6 @@ "gm4_heart_canisters:gui/advancement/heart_canisters_max": 6, "gm4_heart_canisters:item/heart_canister_tier_1": 7, "gm4_heart_canisters:item/heart_canister_tier_2": 8, - "gm4_scuba_gear:item/scuba_helmet": 9, "gm4_heart_canisters:guidebook_icon/heart_canisters": 10, "gm4_zauber_cauldrons:item/crystal/speed": 12, "gm4_zauber_cauldrons:item/crystal/regeneration": 13, @@ -1286,7 +1280,6 @@ "gm4_tnt_landmines:item/tnt_landmine_crafting_table": 45, "gm4_tnt_landmines:item/tnt_landmine_netherrack": 46, "gm4_tnt_landmines:item/tnt_landmine_invisible": 47, - "gm4_scuba_gear:gui/advancement/scuba_gear": 48, "gm4_metallurgy:gui/advancement/metallurgy_blast_ore": 49, "gm4_metallurgy:gui/advancement/metallurgy_cast": 50, "gm4_relocators:gui/advancement/relocators": 51, diff --git a/gm4_scuba_gear/assets/gm4_scuba_gear/items/flippers.json b/gm4_scuba_gear/assets/gm4_scuba_gear/items/flippers.json new file mode 100644 index 0000000000..67fcc7c952 --- /dev/null +++ b/gm4_scuba_gear/assets/gm4_scuba_gear/items/flippers.json @@ -0,0 +1,12 @@ +{ + "model": { + "type": "minecraft:model", + "model": "gm4_scuba_gear:item/flippers", + "tints": [ + { + "type": "minecraft:dye", + "default": -14455863 + } + ] + } +} diff --git a/gm4_scuba_gear/assets/gm4_scuba_gear/items/scuba_helmet.json b/gm4_scuba_gear/assets/gm4_scuba_gear/items/scuba_helmet.json new file mode 100644 index 0000000000..7a978a549a --- /dev/null +++ b/gm4_scuba_gear/assets/gm4_scuba_gear/items/scuba_helmet.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "gm4_scuba_gear:item/scuba_helmet" + } +} diff --git a/gm4_scuba_gear/assets/gm4_scuba_gear/items/scuba_tank.json b/gm4_scuba_gear/assets/gm4_scuba_gear/items/scuba_tank.json new file mode 100644 index 0000000000..58623bf574 --- /dev/null +++ b/gm4_scuba_gear/assets/gm4_scuba_gear/items/scuba_tank.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "gm4_scuba_gear:item/scuba_tank" + } +} diff --git a/gm4_scuba_gear/assets/gm4_scuba_gear/items/wetsuit.json b/gm4_scuba_gear/assets/gm4_scuba_gear/items/wetsuit.json new file mode 100644 index 0000000000..bd92a02bc5 --- /dev/null +++ b/gm4_scuba_gear/assets/gm4_scuba_gear/items/wetsuit.json @@ -0,0 +1,12 @@ +{ + "model": { + "type": "minecraft:model", + "model": "gm4_scuba_gear:item/wetsuit", + "tints": [ + { + "type": "minecraft:dye", + "default": -14455863 + } + ] + } +} diff --git a/gm4_scuba_gear/assets/gm4_scuba_gear/models/item/flippers.json b/gm4_scuba_gear/assets/gm4_scuba_gear/models/item/flippers.json new file mode 100644 index 0000000000..83ce38eea9 --- /dev/null +++ b/gm4_scuba_gear/assets/gm4_scuba_gear/models/item/flippers.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "gm4_scuba_gear:item/flippers", + "layer1": "gm4_scuba_gear:item/flippers_overlay" + } +} diff --git a/gm4_scuba_gear/assets/gm4_scuba_gear/models/item/scuba_helmet.json b/gm4_scuba_gear/assets/gm4_scuba_gear/models/item/scuba_helmet.json new file mode 100644 index 0000000000..39a60baa69 --- /dev/null +++ b/gm4_scuba_gear/assets/gm4_scuba_gear/models/item/scuba_helmet.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "gm4_scuba_gear:item/scuba_helmet" + } +} diff --git a/gm4_scuba_gear/assets/gm4_scuba_gear/models/item/scuba_tank.json b/gm4_scuba_gear/assets/gm4_scuba_gear/models/item/scuba_tank.json new file mode 100644 index 0000000000..f5432b691e --- /dev/null +++ b/gm4_scuba_gear/assets/gm4_scuba_gear/models/item/scuba_tank.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "gm4_scuba_gear:item/scuba_tank" + } +} diff --git a/gm4_scuba_gear/assets/gm4_scuba_gear/models/item/wetsuit.json b/gm4_scuba_gear/assets/gm4_scuba_gear/models/item/wetsuit.json new file mode 100644 index 0000000000..c092406f9c --- /dev/null +++ b/gm4_scuba_gear/assets/gm4_scuba_gear/models/item/wetsuit.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "gm4_scuba_gear:item/wetsuit", + "layer1": "gm4_scuba_gear:item/wetsuit_overlay" + } +} diff --git a/gm4_scuba_gear/assets/minecraft/items/leather_boots.json b/gm4_scuba_gear/assets/minecraft/items/leather_boots.json deleted file mode 100644 index f78cf602cd..0000000000 --- a/gm4_scuba_gear/assets/minecraft/items/leather_boots.json +++ /dev/null @@ -1,342 +0,0 @@ -{ - "model": { - "type": "minecraft:range_dispatch", - "property": "minecraft:custom_model_data", - "entries": [ - { - "threshold": 3420002, - "model": { - "type": "minecraft:model", - "model": "gm4_scuba_gear:item/flippers", - "tints": [ - { - "type": "minecraft:dye", - "default": -14455863 - } - ] - } - }, - { - "threshold": 3420003, - "model": { - "type": "minecraft:select", - "cases": [ - { - "model": { - "type": "minecraft:model", - "model": "minecraft:item/leather_boots_quartz_trim", - "tints": [ - { - "type": "minecraft:dye", - "default": -6265536 - } - ] - }, - "when": "minecraft:quartz" - }, - { - "model": { - "type": "minecraft:model", - "model": "minecraft:item/leather_boots_iron_trim", - "tints": [ - { - "type": "minecraft:dye", - "default": -6265536 - } - ] - }, - "when": "minecraft:iron" - }, - { - "model": { - "type": "minecraft:model", - "model": "minecraft:item/leather_boots_netherite_trim", - "tints": [ - { - "type": "minecraft:dye", - "default": -6265536 - } - ] - }, - "when": "minecraft:netherite" - }, - { - "model": { - "type": "minecraft:model", - "model": "minecraft:item/leather_boots_redstone_trim", - "tints": [ - { - "type": "minecraft:dye", - "default": -6265536 - } - ] - }, - "when": "minecraft:redstone" - }, - { - "model": { - "type": "minecraft:model", - "model": "minecraft:item/leather_boots_copper_trim", - "tints": [ - { - "type": "minecraft:dye", - "default": -6265536 - } - ] - }, - "when": "minecraft:copper" - }, - { - "model": { - "type": "minecraft:model", - "model": "minecraft:item/leather_boots_gold_trim", - "tints": [ - { - "type": "minecraft:dye", - "default": -6265536 - } - ] - }, - "when": "minecraft:gold" - }, - { - "model": { - "type": "minecraft:model", - "model": "minecraft:item/leather_boots_emerald_trim", - "tints": [ - { - "type": "minecraft:dye", - "default": -6265536 - } - ] - }, - "when": "minecraft:emerald" - }, - { - "model": { - "type": "minecraft:model", - "model": "minecraft:item/leather_boots_diamond_trim", - "tints": [ - { - "type": "minecraft:dye", - "default": -6265536 - } - ] - }, - "when": "minecraft:diamond" - }, - { - "model": { - "type": "minecraft:model", - "model": "minecraft:item/leather_boots_lapis_trim", - "tints": [ - { - "type": "minecraft:dye", - "default": -6265536 - } - ] - }, - "when": "minecraft:lapis" - }, - { - "model": { - "type": "minecraft:model", - "model": "minecraft:item/leather_boots_amethyst_trim", - "tints": [ - { - "type": "minecraft:dye", - "default": -6265536 - } - ] - }, - "when": "minecraft:amethyst" - }, - { - "model": { - "type": "minecraft:model", - "model": "minecraft:item/leather_boots_resin_trim", - "tints": [ - { - "type": "minecraft:dye", - "default": -6265536 - } - ] - }, - "when": "minecraft:resin" - } - ], - "fallback": { - "type": "minecraft:model", - "model": "minecraft:item/leather_boots", - "tints": [ - { - "type": "minecraft:dye", - "default": -6265536 - } - ] - }, - "property": "minecraft:trim_material" - } - } - ], - "fallback": { - "type": "minecraft:select", - "cases": [ - { - "model": { - "type": "minecraft:model", - "model": "minecraft:item/leather_boots_quartz_trim", - "tints": [ - { - "type": "minecraft:dye", - "default": -6265536 - } - ] - }, - "when": "minecraft:quartz" - }, - { - "model": { - "type": "minecraft:model", - "model": "minecraft:item/leather_boots_iron_trim", - "tints": [ - { - "type": "minecraft:dye", - "default": -6265536 - } - ] - }, - "when": "minecraft:iron" - }, - { - "model": { - "type": "minecraft:model", - "model": "minecraft:item/leather_boots_netherite_trim", - "tints": [ - { - "type": "minecraft:dye", - "default": -6265536 - } - ] - }, - "when": "minecraft:netherite" - }, - { - "model": { - "type": "minecraft:model", - "model": "minecraft:item/leather_boots_redstone_trim", - "tints": [ - { - "type": "minecraft:dye", - "default": -6265536 - } - ] - }, - "when": "minecraft:redstone" - }, - { - "model": { - "type": "minecraft:model", - "model": "minecraft:item/leather_boots_copper_trim", - "tints": [ - { - "type": "minecraft:dye", - "default": -6265536 - } - ] - }, - "when": "minecraft:copper" - }, - { - "model": { - "type": "minecraft:model", - "model": "minecraft:item/leather_boots_gold_trim", - "tints": [ - { - "type": "minecraft:dye", - "default": -6265536 - } - ] - }, - "when": "minecraft:gold" - }, - { - "model": { - "type": "minecraft:model", - "model": "minecraft:item/leather_boots_emerald_trim", - "tints": [ - { - "type": "minecraft:dye", - "default": -6265536 - } - ] - }, - "when": "minecraft:emerald" - }, - { - "model": { - "type": "minecraft:model", - "model": "minecraft:item/leather_boots_diamond_trim", - "tints": [ - { - "type": "minecraft:dye", - "default": -6265536 - } - ] - }, - "when": "minecraft:diamond" - }, - { - "model": { - "type": "minecraft:model", - "model": "minecraft:item/leather_boots_lapis_trim", - "tints": [ - { - "type": "minecraft:dye", - "default": -6265536 - } - ] - }, - "when": "minecraft:lapis" - }, - { - "model": { - "type": "minecraft:model", - "model": "minecraft:item/leather_boots_amethyst_trim", - "tints": [ - { - "type": "minecraft:dye", - "default": -6265536 - } - ] - }, - "when": "minecraft:amethyst" - }, - { - "model": { - "type": "minecraft:model", - "model": "minecraft:item/leather_boots_resin_trim", - "tints": [ - { - "type": "minecraft:dye", - "default": -6265536 - } - ] - }, - "when": "minecraft:resin" - } - ], - "fallback": { - "type": "minecraft:model", - "model": "minecraft:item/leather_boots", - "tints": [ - { - "type": "minecraft:dye", - "default": -6265536 - } - ] - }, - "property": "minecraft:trim_material" - } - } -} diff --git a/gm4_scuba_gear/assets/minecraft/items/leather_leggings.json b/gm4_scuba_gear/assets/minecraft/items/leather_leggings.json deleted file mode 100644 index a3d2f8c737..0000000000 --- a/gm4_scuba_gear/assets/minecraft/items/leather_leggings.json +++ /dev/null @@ -1,342 +0,0 @@ -{ - "model": { - "type": "minecraft:range_dispatch", - "property": "minecraft:custom_model_data", - "entries": [ - { - "threshold": 3420002, - "model": { - "type": "minecraft:model", - "model": "gm4_scuba_gear:item/wetsuit", - "tints": [ - { - "type": "minecraft:dye", - "default": -14455863 - } - ] - } - }, - { - "threshold": 3420003, - "model": { - "type": "minecraft:select", - "cases": [ - { - "model": { - "type": "minecraft:model", - "model": "minecraft:item/leather_leggings_quartz_trim", - "tints": [ - { - "type": "minecraft:dye", - "default": -6265536 - } - ] - }, - "when": "minecraft:quartz" - }, - { - "model": { - "type": "minecraft:model", - "model": "minecraft:item/leather_leggings_iron_trim", - "tints": [ - { - "type": "minecraft:dye", - "default": -6265536 - } - ] - }, - "when": "minecraft:iron" - }, - { - "model": { - "type": "minecraft:model", - "model": "minecraft:item/leather_leggings_netherite_trim", - "tints": [ - { - "type": "minecraft:dye", - "default": -6265536 - } - ] - }, - "when": "minecraft:netherite" - }, - { - "model": { - "type": "minecraft:model", - "model": "minecraft:item/leather_leggings_redstone_trim", - "tints": [ - { - "type": "minecraft:dye", - "default": -6265536 - } - ] - }, - "when": "minecraft:redstone" - }, - { - "model": { - "type": "minecraft:model", - "model": "minecraft:item/leather_leggings_copper_trim", - "tints": [ - { - "type": "minecraft:dye", - "default": -6265536 - } - ] - }, - "when": "minecraft:copper" - }, - { - "model": { - "type": "minecraft:model", - "model": "minecraft:item/leather_leggings_gold_trim", - "tints": [ - { - "type": "minecraft:dye", - "default": -6265536 - } - ] - }, - "when": "minecraft:gold" - }, - { - "model": { - "type": "minecraft:model", - "model": "minecraft:item/leather_leggings_emerald_trim", - "tints": [ - { - "type": "minecraft:dye", - "default": -6265536 - } - ] - }, - "when": "minecraft:emerald" - }, - { - "model": { - "type": "minecraft:model", - "model": "minecraft:item/leather_leggings_diamond_trim", - "tints": [ - { - "type": "minecraft:dye", - "default": -6265536 - } - ] - }, - "when": "minecraft:diamond" - }, - { - "model": { - "type": "minecraft:model", - "model": "minecraft:item/leather_leggings_lapis_trim", - "tints": [ - { - "type": "minecraft:dye", - "default": -6265536 - } - ] - }, - "when": "minecraft:lapis" - }, - { - "model": { - "type": "minecraft:model", - "model": "minecraft:item/leather_leggings_amethyst_trim", - "tints": [ - { - "type": "minecraft:dye", - "default": -6265536 - } - ] - }, - "when": "minecraft:amethyst" - }, - { - "model": { - "type": "minecraft:model", - "model": "minecraft:item/leather_leggings_resin_trim", - "tints": [ - { - "type": "minecraft:dye", - "default": -6265536 - } - ] - }, - "when": "minecraft:resin" - } - ], - "fallback": { - "type": "minecraft:model", - "model": "minecraft:item/leather_leggings", - "tints": [ - { - "type": "minecraft:dye", - "default": -6265536 - } - ] - }, - "property": "minecraft:trim_material" - } - } - ], - "fallback": { - "type": "minecraft:select", - "cases": [ - { - "model": { - "type": "minecraft:model", - "model": "minecraft:item/leather_leggings_quartz_trim", - "tints": [ - { - "type": "minecraft:dye", - "default": -6265536 - } - ] - }, - "when": "minecraft:quartz" - }, - { - "model": { - "type": "minecraft:model", - "model": "minecraft:item/leather_leggings_iron_trim", - "tints": [ - { - "type": "minecraft:dye", - "default": -6265536 - } - ] - }, - "when": "minecraft:iron" - }, - { - "model": { - "type": "minecraft:model", - "model": "minecraft:item/leather_leggings_netherite_trim", - "tints": [ - { - "type": "minecraft:dye", - "default": -6265536 - } - ] - }, - "when": "minecraft:netherite" - }, - { - "model": { - "type": "minecraft:model", - "model": "minecraft:item/leather_leggings_redstone_trim", - "tints": [ - { - "type": "minecraft:dye", - "default": -6265536 - } - ] - }, - "when": "minecraft:redstone" - }, - { - "model": { - "type": "minecraft:model", - "model": "minecraft:item/leather_leggings_copper_trim", - "tints": [ - { - "type": "minecraft:dye", - "default": -6265536 - } - ] - }, - "when": "minecraft:copper" - }, - { - "model": { - "type": "minecraft:model", - "model": "minecraft:item/leather_leggings_gold_trim", - "tints": [ - { - "type": "minecraft:dye", - "default": -6265536 - } - ] - }, - "when": "minecraft:gold" - }, - { - "model": { - "type": "minecraft:model", - "model": "minecraft:item/leather_leggings_emerald_trim", - "tints": [ - { - "type": "minecraft:dye", - "default": -6265536 - } - ] - }, - "when": "minecraft:emerald" - }, - { - "model": { - "type": "minecraft:model", - "model": "minecraft:item/leather_leggings_diamond_trim", - "tints": [ - { - "type": "minecraft:dye", - "default": -6265536 - } - ] - }, - "when": "minecraft:diamond" - }, - { - "model": { - "type": "minecraft:model", - "model": "minecraft:item/leather_leggings_lapis_trim", - "tints": [ - { - "type": "minecraft:dye", - "default": -6265536 - } - ] - }, - "when": "minecraft:lapis" - }, - { - "model": { - "type": "minecraft:model", - "model": "minecraft:item/leather_leggings_amethyst_trim", - "tints": [ - { - "type": "minecraft:dye", - "default": -6265536 - } - ] - }, - "when": "minecraft:amethyst" - }, - { - "model": { - "type": "minecraft:model", - "model": "minecraft:item/leather_leggings_resin_trim", - "tints": [ - { - "type": "minecraft:dye", - "default": -6265536 - } - ] - }, - "when": "minecraft:resin" - } - ], - "fallback": { - "type": "minecraft:model", - "model": "minecraft:item/leather_leggings", - "tints": [ - { - "type": "minecraft:dye", - "default": -6265536 - } - ] - }, - "property": "minecraft:trim_material" - } - } -} diff --git a/gm4_scuba_gear/beet.yaml b/gm4_scuba_gear/beet.yaml index 67af0e5123..ebbc022e48 100644 --- a/gm4_scuba_gear/beet.yaml +++ b/gm4_scuba_gear/beet.yaml @@ -36,37 +36,3 @@ meta: - BPR Icon Design: - DuckJr - model_data: - - item: leather_boots - reference: item/flippers - template: generated_overlay - base_model: { - "tints": [ - { - "type": "minecraft:dye", - "default": -14455863 - } - ] - } - - item: leather_chestplate - reference: item/scuba_tank - template: generated - - item: leather_helmet - reference: item/scuba_helmet - template: generated - - item: leather_leggings - reference: item/wetsuit - template: generated_overlay - base_model: { - "tints": [ - { - "type": "minecraft:dye", - "default": -14455863 - } - ] - } - - item: leather_helmet - reference: gui/advancement/scuba_gear - template: - name: advancement - forward: item/scuba_helmet diff --git a/gm4_scuba_gear/data/gm4/advancement/scuba_gear.json b/gm4_scuba_gear/data/gm4/advancement/scuba_gear.json index 1498b67dc3..c4adb57701 100644 --- a/gm4_scuba_gear/data/gm4/advancement/scuba_gear.json +++ b/gm4_scuba_gear/data/gm4/advancement/scuba_gear.json @@ -1,9 +1,9 @@ { "display": { "icon": { - "id": "minecraft:player_head", + "id": "minecraft:leather_helmet", "components": { - "minecraft:custom_model_data": "gui/advancement/scuba_gear", + "minecraft:item_model": "gm4_scuba_gear:scuba_helmet", "minecraft:profile": "$scuba_helmet" } }, diff --git a/gm4_scuba_gear/data/gm4_scuba_gear/loot_table/items/flippers.json b/gm4_scuba_gear/data/gm4_scuba_gear/loot_table/items/flippers.json index b4165a3264..4dbbfab8cb 100644 --- a/gm4_scuba_gear/data/gm4_scuba_gear/loot_table/items/flippers.json +++ b/gm4_scuba_gear/data/gm4_scuba_gear/loot_table/items/flippers.json @@ -37,7 +37,7 @@ "item": "flippers" } }, - "minecraft:custom_model_data": "item/flippers", + "minecraft:item_model": "gm4_scuba_gear:flippers", "!minecraft:enchantable": {}, "minecraft:enchantments": { "gm4_scuba_gear:flippers": 1 diff --git a/gm4_scuba_gear/data/gm4_scuba_gear/loot_table/items/scuba_helmet.json b/gm4_scuba_gear/data/gm4_scuba_gear/loot_table/items/scuba_helmet.json index 1d14cfd057..21e839672a 100644 --- a/gm4_scuba_gear/data/gm4_scuba_gear/loot_table/items/scuba_helmet.json +++ b/gm4_scuba_gear/data/gm4_scuba_gear/loot_table/items/scuba_helmet.json @@ -44,7 +44,7 @@ }, "minecraft:max_damage": 132, "minecraft:max_stack_size": 1, - "minecraft:custom_model_data": "item/scuba_helmet", + "minecraft:item_model": "gm4_scuba_gear:scuba_helmet", "minecraft:profile": "$scuba_helmet", "minecraft:rarity": "common" } diff --git a/gm4_scuba_gear/data/gm4_scuba_gear/loot_table/items/scuba_tank.json b/gm4_scuba_gear/data/gm4_scuba_gear/loot_table/items/scuba_tank.json index 344534e9ee..e6bd917623 100644 --- a/gm4_scuba_gear/data/gm4_scuba_gear/loot_table/items/scuba_tank.json +++ b/gm4_scuba_gear/data/gm4_scuba_gear/loot_table/items/scuba_tank.json @@ -36,7 +36,7 @@ "item": "tank" } }, - "minecraft:custom_model_data": "item/scuba_tank", + "minecraft:item_model": "gm4_scuba_gear:scuba_tank", "!minecraft:enchantable": {}, "minecraft:equippable": { "slot": "chest", diff --git a/gm4_scuba_gear/data/gm4_scuba_gear/loot_table/items/wetsuit.json b/gm4_scuba_gear/data/gm4_scuba_gear/loot_table/items/wetsuit.json index 0c96d53c38..7768e605b5 100644 --- a/gm4_scuba_gear/data/gm4_scuba_gear/loot_table/items/wetsuit.json +++ b/gm4_scuba_gear/data/gm4_scuba_gear/loot_table/items/wetsuit.json @@ -21,7 +21,7 @@ "item": "wetsuit" } }, - "minecraft:custom_model_data": "item/wetsuit", + "minecraft:item_model": "gm4_scuba_gear:wetsuit", "minecraft:enchantments": { "gm4_scuba_gear:wetsuit": 1 }, diff --git a/gm4_scuba_gear/data/gm4_scuba_gear/recipe/flippers.json b/gm4_scuba_gear/data/gm4_scuba_gear/recipe/flippers.json index cafbcf42f0..ec95bac195 100644 --- a/gm4_scuba_gear/data/gm4_scuba_gear/recipe/flippers.json +++ b/gm4_scuba_gear/data/gm4_scuba_gear/recipe/flippers.json @@ -38,7 +38,7 @@ "slot": "feet" } ], - "minecraft:custom_model_data": "item/flippers", + "minecraft:item_model": "gm4_scuba_gear:flippers", "minecraft:custom_data": { "gm4_scuba_gear": { "item": "flippers" diff --git a/gm4_scuba_gear/data/gm4_scuba_gear/recipe/scuba_helmet.json b/gm4_scuba_gear/data/gm4_scuba_gear/recipe/scuba_helmet.json index 3f5a5f325d..3b99118074 100644 --- a/gm4_scuba_gear/data/gm4_scuba_gear/recipe/scuba_helmet.json +++ b/gm4_scuba_gear/data/gm4_scuba_gear/recipe/scuba_helmet.json @@ -43,7 +43,7 @@ "item": "helmet" } }, - "minecraft:custom_model_data": "item/scuba_helmet", + "minecraft:item_model": "gm4_scuba_gear:scuba_helmet", "!minecraft:enchantable": {}, "minecraft:equippable": { "slot": "head", diff --git a/gm4_scuba_gear/data/gm4_scuba_gear/recipe/scuba_tank.json b/gm4_scuba_gear/data/gm4_scuba_gear/recipe/scuba_tank.json index 15a054a5aa..a15334efdb 100644 --- a/gm4_scuba_gear/data/gm4_scuba_gear/recipe/scuba_tank.json +++ b/gm4_scuba_gear/data/gm4_scuba_gear/recipe/scuba_tank.json @@ -44,7 +44,7 @@ "item": "tank" } }, - "minecraft:custom_model_data": "item/scuba_tank", + "minecraft:item_model": "gm4_scuba_gear:scuba_tank", "!minecraft:enchantable": {}, "minecraft:equippable": { "slot": "chest", diff --git a/gm4_scuba_gear/data/gm4_scuba_gear/recipe/wetsuit.json b/gm4_scuba_gear/data/gm4_scuba_gear/recipe/wetsuit.json index 173e983edd..4871f18ed3 100644 --- a/gm4_scuba_gear/data/gm4_scuba_gear/recipe/wetsuit.json +++ b/gm4_scuba_gear/data/gm4_scuba_gear/recipe/wetsuit.json @@ -31,7 +31,7 @@ "item": "wetsuit" } }, - "minecraft:custom_model_data": "item/wetsuit", + "minecraft:item_model": "gm4_scuba_gear:wetsuit", "minecraft:enchantments": { "gm4_scuba_gear:wetsuit": 1 }, From 7f1ff71748837728bdc85dd83e9eb2b0ad0145fc Mon Sep 17 00:00:00 2001 From: BPR02 Date: Thu, 20 Nov 2025 09:23:05 -0800 Subject: [PATCH 12/12] remove flippers of ostara --- .../item_modifier/boots_of_ostara.json | 42 ------------------- 1 file changed, 42 deletions(-) diff --git a/gm4_boots_of_ostara/data/gm4_boots_of_ostara/item_modifier/boots_of_ostara.json b/gm4_boots_of_ostara/data/gm4_boots_of_ostara/item_modifier/boots_of_ostara.json index 3f525e2cc3..e88074bdcc 100644 --- a/gm4_boots_of_ostara/data/gm4_boots_of_ostara/item_modifier/boots_of_ostara.json +++ b/gm4_boots_of_ostara/data/gm4_boots_of_ostara/item_modifier/boots_of_ostara.json @@ -51,47 +51,5 @@ "italic": true } ] - }, - { - "function": "minecraft:set_components", - "components": { - "minecraft:custom_model_data": "gm4_scuba_gear:item/flippers" - }, - "conditions": [ - { - "condition": "minecraft:value_check", - "value": { - "type": "minecraft:score", - "target": { - "type": "minecraft:fixed", - "name": "$boa_flippers" - }, - "score": "gm4_crafting" - }, - "range": 1 - } - ] - }, - { - "function": "minecraft:set_name", - "name": { - "translate": "item.gm4.flippers_of_ostara", - "fallback": "Flippers of Ostara", - "italic": false - }, - "conditions": [ - { - "condition": "minecraft:value_check", - "value": { - "type": "minecraft:score", - "target": { - "type": "minecraft:fixed", - "name": "$boa_flippers" - }, - "score": "gm4_crafting" - }, - "range": 1 - } - ] } ]