Minecraft es una de las mejores maneras de introducir a jóvenes y nuevas personas a la codificación. Los bloques de comandos son fáciles de aprender y usar, y la programación Java está a la vuelta de la esquina con los mods de Minecraft y los complementos de Bukkit. También es un lugar muy divertido para que los programadores experimentados jueguen.
¿De qué vamos a hablar?
¿Qué son los bloques de comandos y por qué debería usarlos?
Los bloques de comandos son un componente de piedra roja que ejecuta comandos de consola cuando está encendido. Los comandos de la consola se pueden ejecutar desde la ventana de chat procediendo con una barra diagonal, ‘ / ‘. Los comandos se utilizan para modificar el mundo del juego de maneras que no son posibles a mano y, cuando se usan correctamente en bloques de comandos, le dan a Minecraft su propio tipo de lenguaje de programación psuedo. El código consta de dos cosas: lógica y ejecución, y la mayoría de los lenguajes de programación requieren que ambos estén escritos en texto. La codificación de Minecraft toma una ruta diferente; la lógica y la estructura del programa están determinadas por dónde se colocan los bloques y cómo están conectados, lo que significa que puede volar sobre su mundo y ver las diferentes partes de su programa dispuestas bloque por bloque.
Ok, entonces, ¿cómo empiezo?
Esta guía hace uso de los nuevos bloques de comandos en la versión 1.9. Funcionará en 1.8, pero puede requerir un poco más de experiencia.
Abre un nuevo mundo de Minecraft (Superflat funciona mejor), asegúrate de estar en modo Creativo y presiona el botón “/”. Esta es la ventana de comandos, que es lo mismo que la ventana de chat, excepto que comienza con un ‘ / ‘, y cualquier cosa que comience con la barra diagonal es un comando. El primer comando que puede ejecutar es
/give @p minecraft:command_block
Vamos a desglosar esto. El comando “/give” pone objetos en un inventario de jugadores y tiene dos argumentos: el jugador y el objeto a dar. El “@p” es un selector de destino. El selector “@p” selecciona el jugador más cercano. Alternativamente, también puede usar su nombre de usuario de Minecraft, pero si ejecuta un comando desde la consola, siempre será el jugador más cercano. Los otros selectores de destino son “@a” para todos los jugadores, “@r” para un jugador aleatorio y “@e” se dirigirá a todos. Entidades. Las entidades incluyen todo lo que no es un bloque, como monstruos, bolas de nieve, animales y flechas.
El comando debe ejecutarse correctamente y darle un nuevo bloque. Colóquelo en cualquier lugar del suelo para comenzar.
Puede ver que el bloque de comando apunta en la dirección en que lo coloca, al igual que las tolvas o los hornos. Esto será importante más adelante.
Haga clic con el botón derecho en el bloque (o use cualquier tecla que use para acceder a las mesas de elaboración y hornos) y será recibido con la GUI del bloque de comandos.
Parece un poco aterrador al principio, pero no te preocupes, todos esos botones hacen algo. El botón que dice “Impulso” cambia el tipo de bloque de comandos. Hay tres tipos diferentes de bloques de comandos:
- Impulso, que ejecuta comandos en el borde ascendente de corriente de piedra roja. Esto significa que cuando estén encendidos, ejecutarán su comando una vez y se detendrán, incluso si continúan siendo alimentados. Esta es la configuración predeterminada y es la única disponible en 1.8
- Repita, que ejecuta comandos cada garrapata están alimentados. Una marca es como un fotograma, y se pueden ejecutar varios comandos en una sola marca, hasta 20 veces por segundo.
- Cadena, que solo se ejecuta si el bloque de comandos que apunta hacia él ha ejecutado su comando. Estos se ejecutarán en orden, uno tras otro, en una sola marca, de ahí el nombre de ‘Cadena’.
El botón que dice “Incondicional” impide que el bloque de comandos verifique si el bloque anterior de la cadena se ha ejecutado correctamente. La otra opción, “Condicional”, solo se ejecuta si el bloque anterior no arrojó errores.
El botón que dice “Necesita Redstone” solo ejecuta el comando si el bloque de comandos está encendido. La otra opción, “Siempre activo” impide que el bloque de comandos verifique si está encendido y simplemente asume que lo está. Esta opción no debe usarse con bloques de comandos Impulse, ya que los hace inútiles.
Hagamos una cadena, nuestro primer ‘guión’. Coloque un bloque de comando de cadena o dos frente al primer bloque de comando de impulso, de esta manera:
Asegúrese de establecer los bloques de cadena en “Siempre activo”. De lo contrario, tendríamos que colocar bloques de piedra roja o corriente, lo que ocupa un espacio innecesario. Coloque un botón en el bloque de comando de impulso al comienzo de la cadena y presiónelo.
No pasará nada. ¡Esto se debe a que aún no los hemos llenado con comandos! Haga clic con el botón derecho en el bloque de impulso para editarlo y coloque un comando básico
decir inicio
Observe cómo no necesitamos una barra diagonal en los bloques de comandos. Puedes usar uno si quierest, pero es innecesario. El comando “/say” toma un argumento, texto, y lo dice desde el punto de vista de quien lo ejecuta. Si lo ejecuta, se mostrará como “<nombreusuario> mensaje” al igual que el chat normal. Si se ejecuta desde un bloque de comandos, será “[@] mensaje”. Alternativamente, hay “/tell”, que toma un argumento de jugador, y “/tellraw” que es como “/tell” excepto que toma JSON sin procesar en lugar de texto.
Puede llenar los bloques de comandos de cadena para escribir más cosas para chatear. Se ejecutarán en orden, sin demora, en el mismo tick. Si desea ejecutarlos con un retraso, deberá configurarlos con repetidores de piedra roja. Junto con “/say”, hay otros comandos básicos que hacen más cosas, como “/give”, que da elementos, “/effect”, que aplica efectos de poción, “/setblock” y “/fill” que modifican tu mundo, y muchos otros. Una gran base de datos de comandos se puede encontrar en el Minecraft Wiki, junto con otro contenido útil.
Selectores de destino
Los selectores de objetivos “@p” son en realidad mucho más potentes de lo que parecen a primera vista. Por ejemplo, si queríamos apuntar a todas las entidades, usaríamos “@e”, pero si queríamos apuntar solo a Zombies, usaríamos
@e[type=Zombie]
Observe los corchetes después de “@e”. Dentro de esos corchetes están Argumentos del selector de destino, una lista completa de los cuales se puede encontrar en el Minecraft Wiki. El argumento “tipo” solo selecciona entidades de un cierto tipo, siendo esta “Zombie”. Si queramos apuntar a todos los Zombies dentro de los 10 bloques del bloque de comando, usaríamos
@e[type=Zombie,r=10]
Con la “r” siendo un argumento de radio. También puede apuntar por ubicación, nombre, equipo y puntuación, entre otros.
Comandos de encadenamiento
Introduzcamos otro comando que no es como los demás. El comando es “/execute”. Este comando toma otro comando como entrada y lo ejecuta desde el punto de vista de otra entidad. La estructura de “/execute” es
/execute @target X Y Z /comando
X, Y y Z son coordenadas desde las que ejecutar el comando. Esto no importa con la mayoría de los comandos, pero importa mucho si usas posicionamiento relativo. Una posición relativa comienza con “~” y es seguida por un número positivo o negativo que indica cuántos bloques desde el origen, que se denota por “~ ~ ~”. Entonces, por ejemplo, si queríamos ejecutar “/say” como si un aldeano estuviera hablando, podemos configurar el comando así:
/ejecutar @e[type=Villager] ~ ~ ~ /di Hey
Este comando hará que un mensaje salga a todos, de todos los aldeanos. Esto no es óptimo si tenemos más de una persona o más de un aldeano, así que reformateemos ese comando:
/execute @a ~ ~ ~ /execute @e[type=Villager,c=1] ~ ~ ~ /dile a @p Hey
Esto es mucho más complejo que el primero, e implica encadenar dos comandos “/ejecutar” juntos. El primer “/execute” del comando se ejecuta en cada jugador, luego el segundo comprueba exactamente un aldeano cercano, y luego hace que el aldeano le diga al jugador más cercano “Hey”. Esto asegura que solo un aldeano hable por persona.
Aprender la sintaxis
Ciertamente hay muchos comandos en Minecraft que cada uno tiene su propia sintaxis. Los menús de ayuda para cada comando generalmente le dirán rápidamente qué argumentos necesita el comando y el Minecraft Wiki tiene una lista detallada de lo que hace cada uno. No se trata tanto de saber exactamente lo que hace cada comando, sino de saber cómo usarlos juntos. Minecraft es un juego, después de todo, por lo que jugar con los comandos es parte del proceso de aprendizaje.