-
-
Notifications
You must be signed in to change notification settings - Fork 61
1.21.5 SCUBA Gear rework #1137
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
1.21.5 SCUBA Gear rework #1137
Conversation
- updated helmet texture
@EpyonProjects Test needs to be fixed |
There was a problem hiding this 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. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- When worn Flippers are on land, the player is given a slowness debuff. | |
- When wearing Flippers on land, players are given a slowness debuff. |
"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\"]}" |
There was a problem hiding this comment.
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 |
There was a problem hiding this comment.
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
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 |
There was a problem hiding this comment.
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
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" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"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 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- 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 |
There was a problem hiding this comment.
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?
Main discussion and info source located on Discord in the forum post
tl;dr:
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.