Skip to content

Conversation

EpyonProjects
Copy link
Member

@EpyonProjects EpyonProjects commented Jun 2, 2025

Main discussion and info source located on Discord in the forum post

tl;dr:

  • Removes the function clock, making SCUBA Helmet and Tank attributes.
  • Flippers is now an enchant that changes the attributes depending on whether the player is on land or in the water.
  • Wetsuit is a new item for the remaining equipment slot: Legs.

The wetsuit allows you to float in water, or assist with swimming up- or downwards. This enchant has a tick clock, making this rework the first introduction of GM4 enchants and the first case of an enchant clock. The enchantment is displayed using lore because it uses multiple lines and displays the attributes manually.

@misode misode added feature-update An additional feature has been added to a module needs-testing Requires in-game testing labels Jun 2, 2025
- updated helmet texture
@misode
Copy link
Member

misode commented Jun 16, 2025

@EpyonProjects Test needs to be fixed

Copy link
Member

@BPR02 BPR02 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Most stuff looks good. I left a comment about using scores instead of tags to track the buoyancy type since nbt checks are necessary to check tags in a predicate/enchantment, but it's probably not that big of a performance difference.

There's also an inapplicable test left which needs to be removed.

- 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.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- When worn Flippers are on land, the player is given a slowness debuff.
- When wearing Flippers on land, players are given a slowness debuff.

Comment on lines +40 to +57
"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\"]}"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It may be better to use a score for tracking buoyancy instead of a tag so this enchantment is more efficient at checking (assuming each of these tags are exclusive)

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
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

SCUBA helmets are no longer stackable, so the stack size needs to be exactly 1

Suggested change
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
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think this is necessary because Custom Crafters automatically shift the recipe to the top-left corner before checking recipes

Suggested change
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

{
"items": [
"minecraft:player_head"
"minecraft:golden_chestplate"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
"minecraft:golden_chestplate"
"minecraft:leather_chestplate"

- 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
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- Adds the SCUBA Helmet which hastens underwater mining
- Adds the SCUBA Helmet which hastens underwater mining.

@@ -1,3 +1,5 @@
# TEST IS INVALID WITH REWORK
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So should this test be removed completely since this behavior no longer exists? Maybe a test should be created for the wetsuit to ensure the proper gravity attribute is applied?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature-update An additional feature has been added to a module needs-testing Requires in-game testing
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants