API di base di Minecraft Pi

Sonic Pi attualmente supporta le seguenti interazioni con Minecraft Pi:

Diamo un’occhiata a ognuna di esse, una alla volta.

Mostrare i messaggi della chat

Per prima cosa, guardiamo come sia semplice controllare Minecraft Pi da Sonic Pi. Assicurati di avere Minecraft Pi e Sonic Pi aperti e di essere entrato in un mondo di Minecraft.

In un buffer di Sonic Pi, inserisci il seguente codice:

mc_message "Hello from Sonic Pi"

Quando premi Run vedrai comparire un messaggio nella finestra di Minecraft. Congratulazioni! Hai scritto il tuo primo codice Minecraft. Semplice, no?

Impostare la posizione dell’utante

Ora, proviamo con un po’ di magia. Usiamo il teletrasporto! Prova con il seguente codice:

mc_teleport 50, 50, 50

Quando premi Run, boom! Sei stato teletrasportato in un luogo nuovo. Probabilmente era da qualche parte nel cielo e sei caduto in terra o nell’acqua. Ragioniamo: cosa sono quei numeri 50, 50, 50? Sono le coordinate del luogo verso cui stiamo cercando di teletrasportarci. Prendiamoci un momento per capire come funzionano le coordinate perché sono molto importanti in Minecraft.

Coordinate

Immagina una mappa dei pirati con una grande X a segnalare il luogo del tesoro. L’esatta posizione di X può essere descritta con due numeri: la posizione da destra a sinistra e quella dal basso verso l’alto. Per esempio 10cm orizzontalmente e 8cm in verticale. Questi due numeri: 10 e 8 sono coordinate. Puoi immaginare di descrivere il luogo dove si trovano altri pezzi del tesoro con altre paia di numeri. Ad esempio può esserci un secchio di oro a 2 orizzontale e 9 verticale…

Ora, in Minecraft due numeri non bastano. Dobbiamo anche sapere la profondità per cui ci servono tre numeri:

Un’ultima cosa, di solito scriviamo queste coordinate in quest’ordine: x, y, z.

Trovare le tue coordinate

Proviamo a giocare con le coordinate. Naviga in un punto della mappa di Minecraft e apri Sonic Pi. Ora, inserisci questo codice:

puts mc_location

Quando premi il pulsante Run vedrai le coordinate della tua posizione corrente mostrate nella finestra di log. Prendi nota. Muoviti nel mondo e prova di nuova. Guarda come sono cambiate. Ti consiglio di fare qualche prova in più, ripetendo gli stessi passaggi: muoviti in giro, guarda le coordinate e ripeti. Fallo finché non ti senti a tuo agio su come cambiano i valori quando ti muovi. Una volta capito come funzionano, sarà semplicissimo usare l’API Minecraft.

Costruiamo!

Ora che sai come trovare le tue coordinate e come teletrasportarti, hai tutti gli strumenti a disposizione per costruire qualcosa in Minecraft. Facciamo finta che tu voglia costruire un blocco di vetro alle seguenti coordinate: 40, 50, 60. È molto semplice:

mc_set_block :glass, 40, 50, 60

Semplice, no? Per vedere il risultato, teletrasportati nelle vicinanze:

mc_teleport 35, 50, 60

Ora guardati intorno, dovresti vedere un blocco di vetro! Proviamo a cambiarlo in diamante:

mc_set_block :diamond, 40, 50, 60

Se stavi guardando nella giusta direzione, forse l’hai visto cambiare direttamente con i tuoi occhi. Questo è l’inizio di qualcosa di eccitante…

Guardare i blocchi

Prendiamo in esame un’ultima cosa prima di andare avanti con qualcosa di più complesso. Dato un set di coordinate, possiamo chiedere a Minecraft la tipologia del blocco. Proviamolo con il blocco di diamante che abbiamo appena creato:

puts mc_get_block 40, 50, 60

Evviva! Dice :diamond. Prova a cambiarlo di nuovo in vetro e a rifare la richiesta. Ora dice :glass, giusto? Sono sicuro che lo fa :-)

Tipi di blocco disponibili

Prima di andare avanti con Minecraft Pi, eccoti una lista delle tipologie di blocchi disponibili:

    :air
    :stone
    :grass
    :dirt
    :cobblestone
    :wood_plank
    :sapling
    :bedrock
    :water_flowing
    :water
    :water_stationary
    :lava_flowing
    :lava
    :lava_stationary
    :sand
    :gravel
    :gold_ore
    :iron_ore
    :coal_ore
    :wood
    :leaves
    :glass
    :lapis
    :lapis_lazuli_block
    :sandstone
    :bed
    :cobweb
    :grass_tall
    :flower_yellow
    :flower_cyan
    :mushroom_brown
    :mushroom_red
    :gold_block
    :gold
    :iron_block
    :iron
    :stone_slab_double
    :stone_slab
    :brick
    :brick_block
    :tnt
    :bookshelf
    :moss_stone
    :obsidian
    :torch
    :fire
    :stairs_wood
    :chest
    :diamond_ore
    :diamond_block
    :diamond
    :crafting_table
    :farmland
    :furnace_inactive
    :furnace_active
    :door_wood
    :ladder
    :stairs_cobblestone
    :door_iron
    :redstone_ore
    :snow
    :ice
    :snow_block
    :cactus
    :clay
    :sugar_cane
    :fence
    :glowstone_block
    :bedrock_invisible
    :stone_brick
    :glass_pane
    :melon
    :fence_gate
    :glowing_obsidian
    :nether_reactor_core