Для моего костыльного решения нужна цепочка командных блоков:
Цикличный, безусловный, всегда активен → Цепной, безусловный, всегда активен → Цепной, условный, всегда активен → Цепной, безусловный, всегда активен
А также выполнить команду (Obj можно заменить на другое название):
scoreboard objectives add Obj trigger
Команда для 1-го КБ (где T1 это команда жертвы):
execute as @a[nbt={HurtTime: 10s}, scores={Obj=0}, team=T1] run trigger Obj set 1
Команда для 2-го КБ (где T2 это команда атакующего, а SelectedItem это нужный предмет):
execute as @a[scores={Obj=1}] on attacker run execute if entity @s[team=T2, nbt={SelectedItem: {id: "minecraft:stick"}}]
Команда для 3-го КБ (где ... это дальнейшие аргументы команды effect):
execute as @a[scores={Obj=1}] run effect give @s ...
Команда для 4-го КБ:
execute as @a[scores={Obj=1}] run trigger Obj set 0
Я сказал, что решение костыльное, т. к. команда выдачи эффекта исполняется несколько раз.
Плюс не забудь поставить :)