Actualizado:
Los bloques de comandos se aprenden mejor empezando por comandos pequeños con un resultado visible. Esta página reúne comandos útiles para principiantes y enlaza cada uno con un generador o una guía detallada.
Primeros comandos para probar
/give @p minecraft:command_block: consigue un bloque de comandos./tp @p ~ ~5 ~: teletransporta hacia arriba al jugador más cercano./summon minecraft:zombie ~ ~ ~: genera un mob de prueba./effect give @p minecraft:speed 30 1: da Velocidad durante 30 segundos./fill ~-2 ~ ~-2 ~2 ~ ~2 minecraft:glass: coloca un pequeño suelo de cristal.
Iterativo, impulso y en cadena
| Tipo | Color | Cuándo se ejecuta | Para qué sirve |
|---|---|---|---|
| Impulso | Naranja | Una vez cada vez que recibe una señal de redstone | Botones, teletransportes, entregar un kit |
| Iterativo | Morado | Cada tick (20 veces por segundo) mientras está activado | Comprobaciones constantes, como «¿hay alguien aquí?» |
| En cadena | Verde | Justo después de que se ejecute el bloque que apunta hacia él | Ejecutar varios comandos en orden |
Haz las primeras pruebas pequeñas para evitar lag o cambios inesperados en el mundo.
Errores de principiante
- Olvidar activar los bloques de comandos en un servidor.
- Usar un comando que necesita permisos de operador.
- Ejecutar un /fill destructivo sin probar antes las coordenadas.
- Usar sintaxis de Java en Bedrock o de Bedrock en Java.
Ejemplo: hacer un summon en la posición de un jugador
/execute at @p run summon minecraft:pig ~ ~1 ~Cuando un comando se ejecuta directamente en un bloque de comandos, ~ ~ ~ se refiere a ese bloque. El ejemplo de Java de arriba primero cambia la posición de ejecución al jugador más cercano y después genera un cerdo un bloque más arriba. Es una forma sencilla de ver la diferencia entre quién ejecuta el comando y dónde se ejecuta.
Prueba con un bloque de impulso antes de pasar a iterativo
Coloca un bloque de comandos de impulso con un botón, ejecuta un comando y comprueba el resultado. Un bloque iterativo puede crear muchas entidades muy rápido, causar lag o aplicar efectos una y otra vez. Cámbialo a iterativo solo cuando hayas comprobado el comando y añadido las condiciones o la espera que haga falta.
Depurar una cadena
Los bloques en cadena condicionales dependen de que el bloque anterior tenga éxito. Si un comando posterior no se ejecuta, revisa el paso anterior y su selector. Comprueba también la dirección de la flecha, el modo de redstone y si el servidor permite bloques de comandos.
Las opciones de la ventana del bloque de comandos
- Necesita redstone / Siempre activo: Siempre activo se ejecuta sin señal. Los bloques en cadena suelen ponerse en Siempre activo para que sigan al bloque anterior.
- Incondicional / Condicional: un bloque condicional solo se ejecuta si el bloque de detrás tuvo éxito. La flecha del lateral del bloque indica hacia dónde va la cadena.
- Registrar la salida (el botón «O»): muestra el último resultado en la ventana. Es la forma más rápida de ver por qué un bloque no hizo nada.
Quitar los mensajes del chat
| Versión | Comando |
|---|---|
| Java 1.21.11 y posteriores | /gamerule minecraft:command_block_output false |
| Java 1.21.10 y anteriores, Bedrock | /gamerule commandBlockOutput false |
Por defecto, cada ejecución de un bloque de comandos se anuncia a los operadores en el chat. Un bloque iterativo puede llenar el chat en segundos, así que la mayoría de creadores de mapas lo desactiva lo primero.
Conseguir que los bloques de comandos funcionen
- Un jugador (Java): el mundo necesita los trucos activados y debes estar en modo creativo para abrir el bloque.
- Servidor (Java): pon
enable-command-block=trueen server.properties y reinicia (1.21.8 y anteriores). Desde Java 1.21.9 esta propiedad ya no existe y los bloques de comandos funcionan por defecto; si se desactivaron, ejecuta/gamerule command_blocks_work true(commandBlocksEnableden 1.21.9 y 1.21.10). Solo los operadores pueden editarlos. - Bedrock: activa «Activar trucos» y «Bloques de comandos activados» en los ajustes del mundo. Consigue uno con
/give @s command_block.