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 !

frambuesa pi - Minecraft

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.

  1. Actualización del sistema
    apt - actualización && apt - get upgrade y
  2. 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
  3. 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
  4. 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.

  5. 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 particular

    mkdir apiTest
    CP -R api/python/mcpi / * apiTest /
  6. Vaya al directorio creado
    CD apiTest
  7. Crear un archivo, por ejemplo Test.py con el siguiente contenido :
    Minecraft importación
    
    mc = minecraft.Minecraft.create()
    mc.postToChat("Hola Pi Home Server !")
    

    El resultado de la ejecución :
    frambuesa pi - Minecraft - mensaje de chat

  8. 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)
    
  9. Crear un bloque con el método setBlock
    Un ejemplo para crear un bloque de piedra al jugador

    mc.setBlock(x   2, y, z, bloque. PIEDRA)
    
  10. Crear bloques con el método setBlocks
    Un ejemplo para crear un bloque de 3×3 Frente de piedra del jugador

    mc.setBlocks(x   1, y   1, z   1, x   4, y   4, z   4, bloque. PIEDRA)
    

    frambuesa pi - Minecraft - gran bloque

  11. 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)
    
  12. 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):

frambuesa pi - Minecraft - reloj analógico

frambuesa pi - Minecraft - reloj digital

 

 

 

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

Posiblemente le gustan también....

  • Scandiva_0

    Artículo Super ! Uno de los primeros de su tipo que se encuentra en Francés !