Frambuesa Pi, Minecraft y Python
Hoy estoy hablando de algo que ha existido durante mucho tiempo y varios sitios ya han hablado : el Minecraft en la edición de frambuesa POI. Mi turno de (Finalmente) Descubre este juego aparte de iOS !
Descubrir las posibilidades de la API (Porque eso es principalmente lo que quería poner a prueba), Por lo tanto, dejé una magra distribución (ver aquí Cómo instalar simplemente) a la que he añadido un servidor X. Así entiendo el mínimo. Pero si usted ya tiene una frambuesa Pi que funciona, Puede omitir el paso para instalar Minecraft.
- Actualización del sistema
apt - actualización && apt - get upgrade y
- Instalación de paquetes para un servidor X mínimo
apt - get instalar xserver-xorg xinit y lxde xserver-xorg-video-fbdev lxde-común libsdl1.2debian
- Descargar e instalar Minecraft
wget https://S3.amazonaws.com/assets.Minecraft.net/PI/Minecraft-PI-0.1.1.tar.gz
tar - zxvf minecraft-pi-0.1.1.tar.gz
Mcpi CD
- Ejecutar Minecraft
./Minecraft-pi
Si usted tiene un error Error al agregar servicio - ya en uso , Asegúrese de que usted ha definido al menos 64Mb de memoria de vídeo.
- Los archivos necesarios para utilizar la API están en el directorio API / python (Si usted prefiere Java, Es API/java).
Copie los archivos en un directorio particularmkdir apiTest
CP -R api/python/mcpi / * apiTest /
- Vaya al directorio creado
CD apiTest
- Crear un archivo, por ejemplo Test.py con el siguiente contenido :
Minecraft importación mc = minecraft.Minecraft.create() mc.postToChat("Hola Pi Home Server !")
- La posición del jugador. Usted puede fácilmente obtener o establecer la posición del jugador en el universo mediante los métodos player.getPos() y player.setPos(). Se trabajará 3 dimensiones. X y Z son los ejes horizontales. Y es el eje vertical.
Este es un ejemplo para cambiar la posición del jugador y a alta !# POS contendrá x, posición Y y Z del jugador pos = mc.player.getPos() # otra manera de obtener coordenadas jugador X, y, z = mc.player.getPos() # Ajuste la posición de jugador. En el aire y caída ... mc.player.setPos(x, y 100, z)
- Crear un bloque con el método setBlock
Un ejemplo para crear un bloque de piedra al jugadormc.setBlock(x 2, y, z, bloque. PIEDRA)
- Crear bloques con el método setBlocks
Un ejemplo para crear un bloque de 3×3 Frente de piedra del jugadormc.setBlocks(x 1, y 1, z 1, x 4, y 4, z 4, bloque. PIEDRA)
- Otros bloques de piedra. Todos los tipos se definen en el archivo Block.py. Aquí está la lista :
AIR = 0 PIEDRA = 1 HIERBA = 2 DIRT = 3 GUIJARRO = 4 WOOD_PLANKS = 5 ÁRBOL = 6 ROCA = 7 WATER_FLOWING = 8 AGUA = WATER_FLOWING WATER_STATIONARY = 9 LAVA_FLOWING = 10 LAVA = LAVA_FLOWING LAVA_STATIONARY = 11 SAND = 12 GRAVA = 13 GOLD_ORE = 14 IRON_ORE = 15 COAL_ORE = 16 WOOD = 17 DEJA = 18 VIDRIO = 20 LAPIS_LAZULI_ORE = 21 LAPIS_LAZULI_BLOCK = 22 PIEDRA ARENISCA = 24 BED = 26 TELARAÑA = 30 GRASS_TALL = 31 WOOL = 35 FLOWER_YELLOW = 37 FLOWER_CYAN = 38 MUSHROOM_BROWN = 39 MUSHROOM_RED = 40 GOLD_BLOCK = 41 IRON_BLOCK = 42 STONE_SLAB_DOUBLE = 43 STONE_SLAB = 44 BRICK_BLOCK = 45 TNT = 46 ESTANTERÍA = 47 MOSS_STONE = 48 OBSIDIANA = 49 ANTORCHA = 50 FIRE = 51 STAIRS_WOOD = 53 PECHO = 54 DIAMOND_ORE = 56 DIAMOND_BLOCK = 57 CRAFTING_TABLE = 58 LAS TIERRAS DE LABRANTÍO = 60 FURNACE_INACTIVE = 61 FURNACE_ACTIVE = 62 DOOR_WOOD = 64 ESCALERA = 65 STAIRS_COBBLESTONE = 67 DOOR_IRON = 71 REDSTONE_ORE = 73 SNOW = 78 ICE = 79 SNOW_BLOCK = 80 CACTUS = 81 CLAY = 82 SUGAR_CANE = 83 VALLA = 85 GLOWSTONE_BLOCK = 89 BEDROCK_INVISIBLE = 95 STONE_BRICK = 98 GLASS_PANE = 102 MELÓN = 103 FENCE_GATE = 107 GLOWING_OBSIDIAN = 246 NETHER_REACTOR_CORE = 247
Bloque de la ONU Voici un petit exemple va créer et tipo hijo cambiador (sauf eau et pour éviter les desbordamiento lave ;-)) todos los segundos (No manipule el tipo que no existen) :
# lazo en todos los tipos de bloque (excepto agua y lava) por blockType en gama(0, 300): Si blockType < 8 BlockType oro > 11: mc.setBlock(x 2, y, z, blockType) sueño(1)
- Ejemplos más exitosos ! Puede utilizar el poder de la programación para animar a los bloques en el mundo. Puede crear un reloj análogo o digital (Bravo SleepyOz):
Con este trío se puedan entretener (o sus hijos) y aprender programación en General con Python, que es una lengua relativamente accesible. Otros idiomas son posibles : Java, JavaScript con NodeJS, Rubí o SmallTalk.
Como en el juego, tu imaginación será un límite.
Si tiene imágenes o videos originales o increíble de lo que se hace con la edición de Minecraft Pi, No dude en hacernos disfrutar !
Fuentes
- https://www.raspberrypi.org/forums/viewtopic.php?t=33427
- https://www.raspberrypi.org/learning/getting-started-with-minecraft-pi/worksheet/
- http://www.stuffaboutcode.com/p/minecraft-api-reference.html