Secciones

viernes, 4 de diciembre de 2015

Como programar en Minecraft usando python, Básico.

Minecraft es un conocido juego de tipo sandbox en el que puedes construir lo que quieras, bien en modo creativo, es decir, con recursos infinitos, o bien en modo supervivencia, en el cual tienes que cavar, minar, y construir todo lo que necesites para sobrevivir, ya sea evitando morir de hambre a la vez de impedir ser devorado por monstruos.

Si eres una persona como yo, muy vaga, y sabes algo de programación, entonces esta entrada te interesa. Minecraft tiene un API que permite automatizar las tareas más aburridas o triviales.

Coordenadas:

Lo primero que debes saber es como orientarte en el juego. Puedes construir una brújula por supuesto, como la de la derecha, pero es importante que sepas como orientarte en el mundo usando coordenadas cartesianas.

En Minecraft, vamos a considerar este eje de referencia:
 
Para accedera información extra, basta con pulsar F3. y verás datos como estos:

Con el dato XYZ, puedes ver en que posición estás, y te podrás orientar. Además, facing te dirá haciendo donde estás mirando:
  • 0 = Sur
  • 1 = Oeste
  • 2 = Norte
  • 3 = Este
 A parte de otra información interesante, pero vamos al lio.


Instalación del API:

Necesitas primero python 2.7 (o la versión 3 si prefieres, con sus scripts adaptados), instalalo y asegurate que la variable este en el path. Añade el MOD para interpretar python, aquí tienes las instrucciones. A parte de Minecraft, necesitareis un MOD llamado Forge. Podeis descargarlo aquí y loguearte con su perfil. Si teneis windows podeis usar el instalador directamente, de forma manual seguid estas instrucciones.

La carpeta local con los scripts necesarias debe contener mcpi, server.py, y cualquier script que quieras. Servirá para el singleplayer. Para probarlo, solo dejo hello world. En windows quedaría así:



Para comprobar que funciona, dentro del juego aprieta la tecla T, y pon /py helloworld.py, si no da error, todo está correctamente instalado.

Si prefieres la opción multijugador, haced los mismos pasos en donde tengais alojado el servidor minecraft 1.8, Minecraft Forge, el Raspberry Jam Mod y el Minecraft PI Python package. Para dudas, seguid este tutorial.

Hello world:

Para ejecutar un script, como ya hemos comentado necesitamos pulsar T y escribir /py nombrescript, hacemos uno con el siguiente código:
# Import python modules
import mcpi.minecraft as minecraft
import mcpi.block as block
import server
import sys

# Prepare API
mc = minecraft.Minecraft.create(server.address)

# Echo a message
mc.postToChat("Hello world!")

# Echo player position
playerPos = mc.player.getPos()
mc.postToChat("Player position: %d, %d, %d" % (playerPos.x, playerPos.y, playerPos.z) )

Y ya tenemos listo nuestro primer script.

Api básico:

He preparado un pequeño script que usa parte del API disponible. Se puede hacer todo tipo de acciones en el modo creativo, pero por desgracia, al menos de momento, no se puede manejar el jugador como si se estuviera delante. Puedes ver que hacer y que no hacer con este script.

Para ampliar tu conocimiento del API, y ver que es posible hacer, lo tienes todo aquí.

Muchos más:

Si te has quedado con ganas de más, pasate por esta web, donde encontrarás más tutoriales e información del API.

No hay comentarios:

Publicar un comentario