Actualizado:

1. Salto con pluma (Java 1.20.5+)

Pon esto en un bloque de comandos iterativo, en Siempre activo:

/execute as @a if items entity @s weapon.mainhand minecraft:feather run effect give @s minecraft:jump_boost 1 2 true

Con una duración de un segundo, el efecto termina en cuanto guardas la pluma.

2. Otras ranuras

RanuraSintaxis
Mano principalweapon.mainhand
Mano secundariaweapon.offhand
Armaduraarmor.head, armor.chest, armor.legs, armor.feet
Cualquier lugar del inventariocontainer.*
/execute as @a if items entity @s armor.feet minecraft:golden_boots run effect give @s minecraft:speed 1 1 true

3. Solo un objeto especial

/give @s minecraft:blaze_rod[custom_name="Varita de fuego",custom_data={fire_wand:1b}]
/execute as @a if items entity @s weapon.mainhand minecraft:blaze_rod[custom_data~{fire_wand:1b}] at @s run particle minecraft:flame ~ ~1 ~ 0.3 0.5 0.3 0 5

El ~ de custom_data~{...} indica una coincidencia parcial: el objeto solo tiene que contener fire_wand:1b, así que una varita renombrada o encantada sigue funcionando. Una vara de blaze normal sin la etiqueta se ignora. Consulta objetos personalizados y el comando particle.

4. Bedrock

/effect @a[hasitem={item=feather,location=slot.weapon.mainhand}] jump_boost 1 2 true

Quita location para que coincida con el objeto en cualquier lugar del inventario.

Solución de problemas

Comprueba tu comando

El Command Error Doctor (en inglés) revisa en tu navegador los errores de sintaxis más comunes.