1

I want to surround like a darkness particle around a netherite sword. And also wrap a golden sword in flame particles.

2
  • 1
    As far as I'm aware, there are no NBT tags that give a held or dropped item particle effects. A few tutorials for background: reddit.com/r/MinecraftCommands/comments/5emp37/… youtube.com/watch?v=hEUu-GLtBlw Basically, the technique seems to be: 1. Identify everyone holding the useful item 2. Run a repeating command block that generates particles offset from the player's facing direction. Feb 17, 2023 at 3:07
  • Thank you for this, I couldn't think of another way to do it Feb 17, 2023 at 3:59

2 Answers 2

1

There's really no way to do it that looks good, but it's certainly possible. The following answer was written with Java commands in mind, as I'm less familiar with the Bedrock versions. The underlying ethos still holds, however, and I'll get to why.

The best I've got is a repeating (or clocked impulse) command block that runs:

execute at @e[nbt={SelectedItem:{id:"minecraft:netherite_sword"}}] run particle minecraft:flame ^-.5 ^1 ^ .1 .1 .1 0 10

Basically, select every entity actively holding [item] and run particles offset from where they're looking such that the particles happen to be where the player (or entity's) hand is. It's enormously manual since zombies (for example) hold their hands in a different place than humans. You'd probably have to create a unique command for every entity type and it's simply not worth it.

It's got issues! And they're unlikely to be fixed by clever techniques! Basically, carat offsets (which are direction-sensitive) aren't able to trigger against the body.

Carat notation is a way to specify local coordinates relative to where an entity is facing. They're notoriously tricky to work with, which is why I almost never do.

First, carat offsets are dependent on your crosshairs. They'll trigger in different directions when you're in 1st-person or front/back-facing 3rd person. So if you switch your 3rd-person view, suddenly the flames will be in the wrong place. There's no NBT to determine which a player is using, so we're already screwed.

Second, particles aren't visible in front of held items in 1st person unless they're extremely close to your face. At that range, they'll look weird to other players.

Finally, carat offsets (whether they're anchored eyes or anchored feet) are rotated via a player's eyes. Since Minecraft lets you turn your neck, the particles off-center frequently. That looks like this:

enter image description here enter image description here

Any way you look at it, there's no real way to isolate your sword hand.

0

Using Add-ons

Bedrocks add-ons are very powerful and they can help us solve this issue, too. You can not only create custom particle effects, but by modifying the players animation and animation controller (and potentially model) you can attach those particles to the players hand and trigger them on/off depending on the item they're holding.

Going in-depth on how to create custom particles and how to attach them to entities would be too much to fit here, but luckily there is official documentation that covers this:
https://learn.microsoft.com/en-us/minecraft/creator/documents/particleeffects

Using Commands

While Jakob Lovern's answer here already covers some of the pitfalls when you're only using commands, I'd like to point out some ways around those pitfalls to make it a little better. They're also only providing Java syntax, so here is the bedrock selector syntax:

@a[hasitem={item=netherite_sword}]

Now yes, while carat offsets are based on the players viewing direction and there is no way for us to know the direction the body is facing, using rotated we can at least eliminate the up/down axis and thus make it align much better at least as long as the player body is rotated somewhat in the same way as the head is. Using rotated ~ 0 will keep the yaw rotation, but eliminate the pitch.

execute at @a[hasitem={item=netherite_sword}] rotated ~ 0 run particle ...

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .