Actualizado:

Consigue un bloque de comandos

Los bloques de comandos no están en el inventario creativo. Usa /give @s minecraft:command_block en modo creativo y con permisos de operador. En un servidor con la 1.21.8 o anterior, pon además enable-command-block=true en server.properties. Desde Java 1.21.9 esta propiedad ya no existe y los bloques de comandos funcionan por defecto; si estaban desactivados, ejecuta /gamerule command_blocks_work true (commandBlocksEnabled en la 1.21.9 y la 1.21.10). Los demás objetos que solo se consiguen con comandos están en la guía de objetos ocultos.

Empieza con un solo bloque

Coloca un bloque de impulso en Necesita redstone, escribe say test y ponle un botón. Si aparece «test» en el chat, funcionan el bloque, la señal de redstone y el comando.

Los tres tipos de bloque

Haz que el comando funcione primero en un bloque de impulso y después pásalo a iterativo o a una cadena. La guía de tipos de bloques de comandos lo explica con más detalle.

Por qué funciona en el chat pero no en el bloque

Las coordenadas relativas cambian de punto de referencia. En el chat, ~ ~ ~ es tu posición. En un bloque de comandos es la posición del bloque.

/summon minecraft:zombie ~ ~1 ~

En un bloque de comandos, este zombi aparece encima del bloque, no encima de ti. Para usar la posición de un jugador, envuélvelo en /execute at:

/execute at @p run summon minecraft:zombie ~ ~1 ~

Consulta la guía de execute para entender as y at.

Qué significa cada ajuste

AjusteSignificadoPara qué sirve
Necesita redstoneSolo se ejecuta mientras recibe señal de redstoneBotones y palancas
Siempre activoSe ejecuta sin señalBloques iterativos que vigilan sin parar, y todos los bloques en cadena después del primero
IncondicionalSe ejecuta pase lo que pase antesPasos normales
CondicionalSolo se ejecuta si el bloque anterior tuvo éxitoDar el objeto solo si el pago funcionó

Pon en Siempre activo los bloques en cadena que van después del primero. Si se quedan en «Necesita redstone», no hacen nada aunque les llegue el turno.

Montar una cadena

Coloca los bloques en cadena de forma que cada flecha apunte al siguiente bloque. Un bloque condicional necesita que el anterior tenga éxito; si la cadena se detiene a mitad, ponlos un momento en incondicional y comprueba el orden con say.

Depura en este orden

  1. Ejecuta el comando en el chat.
  2. Ponlo en un bloque de impulso y ejecútalo una vez.
  3. Comprueba que las coordenadas relativas apuntan donde esperas.
  4. Acota el selector antes de pasar a iterativo.
  5. Añade los bloques en cadena de uno en uno y prueba después de cada uno.

Que los bloques iterativos sean ligeros

Un bloque iterativo se ejecuta 20 veces por segundo, así que un @e muy amplio puede ralentizar el juego. Filtra por tipo y distancia, por ejemplo @e[type=minecraft:zombie,distance=..20] (consulta los selectores de objetivo), y conecta una palanca para poder apagarlo. No pongas nunca comandos destructivos como /kill o /fill en un bloque iterativo sin haberlos probado antes una vez.

Preguntas habituales

Comprueba tu comando

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