Skip to content

Conversation

@drodo-mc
Copy link

Blasting Maces module submission.

Adds a new Blasting enchantment that allows the player to dig areas of 3x3 (with Blasting I) and 5x5 (with Blasting II). The breaking area is directional, depending on where the player is looking. Durability loss scales with the number of blocks broken.

The module also takes the grindstone into account, adding or removing the tool component when the item is enchanted or when the enchantment is removed via a grindstone.

Copy link
Member

@TheThanathor TheThanathor left a comment

Choose a reason for hiding this comment

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

I've left a few comments for small issues, adding some bigger points here:

  1. I'm not really a fan of the level 2 of this enchantment, breaking a 5x5 area "feels" off to me, it's kind of breaking with the one-block-at-a-time philosophy (yes I know the 3x3 does as well, but it's kind of okay somehow?) Personally I'd like to more if it's just the single level for the enchantment, but good to get more views on this.
  2. The biggest improvement that could be made is to make use of local coordinates (the ^ things) so you don't need different functions for each orientation.
  3. In my opinion it would make more sense for the breaking orientation to depend on the face of the block the player targeted instead of their facing direction (this might be hard to figure out though)
  4. Also up for debate, should the breaking count as if it was broken by an explosion? (so metallurgy drops), it would make sense lore wise. The Mace is late game enough that I feel it would probably not be too overpowered, but need more input on this.

I've tested the module in-game and everything worked as expected, though I didn't test the dark magic Guidebook

Copy link
Member

Choose a reason for hiding this comment

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

This doesn't seem to be intentional

},
"anvil_cost": 4,
"slots": [
"any"
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
"any"
"mainhand"

scoreboard objectives add gm4_blast_data dummy

# scoreboard for tracking mace usage
scoreboard objectives add gm4_use_mace used:mace
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
scoreboard objectives add gm4_use_mace used:mace
scoreboard objectives add gm4_blast_use_mace used:mace

It's better to use your prefix for everything, just in case

Comment on lines +7 to +8
execute if items entity @s weapon.mainhand minecraft:mace run item modify entity @s weapon.mainhand gm4_blasting_maces:add_tool
execute if items entity @s weapon.offhand minecraft:mace run item modify entity @s weapon.offhand gm4_blasting_maces:add_tool
Copy link
Member

Choose a reason for hiding this comment

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

You should check to make sure the mace you're changing is actually enchanted. Right now it can change an unenchanted mace if you're holding an enchanted one in the other hand

Comment on lines +7 to +8
execute if items entity @s weapon.mainhand minecraft:mace run item modify entity @s weapon.mainhand gm4_blasting_maces:remove_tool
execute if items entity @s weapon.offhand minecraft:mace run item modify entity @s weapon.offhand gm4_blasting_maces:remove_tool
Copy link
Member

Choose a reason for hiding this comment

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

Same as the one before, check to make sure the mace doesn't have the enchantment

Comment on lines +17 to +18
execute store result score @s gm4_blast_pitch run data get entity @s Rotation[1] 1
execute store result score @s gm4_blast_yaw run data get entity @s Rotation[0] 1
Copy link
Member

Choose a reason for hiding this comment

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

If you only need these if $success gm4_blast_data is 1 add a check here to save on possible player nbt reading. It's probably also better to copy the player Rotation into storage, then setting scores from that

# run from gm4_blasting_maces:player/blast

# get max damage - 1 for mace (durability 500)
scoreboard players set $max_damage gm4_blast_data 499
Copy link
Member

Choose a reason for hiding this comment

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

Check for existence of a damage component on the item first, in case it has custom durability, also check if it has the unbreakable tag!

@@ -0,0 +1,5 @@
{
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
{
{
"replace": false,

You need this or it'll override the vanilla tag

Copy link
Member

Choose a reason for hiding this comment

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

it defaults to "replace": false, so it's not actually necessary

- gm4_resource_pack
notes: []
video: null
wiki: null
Copy link
Member

Choose a reason for hiding this comment

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

You can add a wiki link here, since they're always named after the module

Suggested change
wiki: null
wiki: "https://wiki.gm4.co/wiki/Blasting_Maces"

wiki: null
credits:
Creator:
- Drodo
Copy link
Member

Choose a reason for hiding this comment

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

You're not in our gm4/contributors.json yet, you should add an entry for yourself there (can use an empty list if you don't have a link)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants