Cómo Detectar Ítems en la Mano Principal en Minecraft con Command Block
Minecraft Java Edition 1.21+ y 26+ – Detectar Ítems por Nombre, ID y custom_data
En este tutorial aprenderás cómo detectar automáticamente un ítem en la mano principal de un jugador en Minecraft usando bloques de comando.
El método funciona en Minecraft Java Edition 1.21+ y 26+ y utiliza el comando execute if items para verificar si el jugador está sosteniendo un ítem específico.
Podrás detectar ítems por ID, por nombre personalizado (custom_name) o por etiquetas usando custom_data, siendo perfecto para mapas de aventura, servidores y sistemas automáticos.
Vamos a comenzar detectando el ítem mediante su etiqueta, pero antes obtendremos una espada de hierro para usar como ejemplo.
give @a iron_sword[custom_data={Teste:1}]
Elige una etiqueta usando custom_data. Ahora coloca un bloque de comando Repeat como Always Active (Siempre Activo) y usa este comando:
execute if items entity @p weapon.mainhand minecraft:iron_sword[custom_data={Teste:1}]
Básicamente, detectará en la mano principal del jugador más cercano al bloque de comando la espada de hierro con la etiqueta Teste:1b.
La idea es la misma para el nombre. Vamos nuevamente a obtener la espada con este nombre:
give @a iron_sword[custom_name='[{"text":"Teste"}]']
Si no funciona, usa:
give @a iron_sword[custom_name='Teste']
Y coloca en el bloque de comando Repeat como Always Active (Siempre Activo) este comando:
execute if items entity @p weapon.mainhand minecraft:iron_sword[custom_name='[{"text":"Teste"}]']
Lo mismo, si no funciona cámbialo por:
execute if items entity @p weapon.mainhand minecraft:iron_sword[custom_name='Teste']
Si lo estás haciendo para un modo multijugador, utiliza execute as @a run al inicio del comando para ejecutarlo en todos.
Y coloca @s en lugar de @p para ejecutarlo en el propio jugador.