Blocchi di comando Minecraft
I blocchi di comando Minecraft sono sostanzialmente la rappresentazione grafica di script della shell dei comandi Minecraft e vanno collocati direttamente (fisicamente) nel mondo di gioco. L’attivazione dei blocchi di comando, ovvero l’esecuzione degli script in essi contenuti, avviene attraverso meccanismi e automatismi realizzabili con i circuiti di pietrarossa (redstone) quindi, nel contesto del gameplay, attraverso un’azione dell’avatar o al verificarsi di determinati eventi entro il raggio di azione dello specifico automatismo implementato.
Il posizionamento dei blocchi di comando e le modalità di collegamento tra blocchi e automatismi costituiscono, così, una parte fondamentale del sistema di programmazione (coding) che Minecraft rende disponibile agli utenti per creare o modificare interazioni all’interno del mondo di gioco. In pratica, quando si utilizzano i blocchi di comando parte dell’attività di “coding” è realizzata attraverso la minipolazione grafica di elementi piuttosto che di testo.
Occorre, tuttavia, precisare che i blocchi di comando e le proprietà degli elementi “redstone” non costituiscono la rappresentazione visuale di un linguaggio di programmazione strutturato, bensì di un cosiddetto “command language” o linguaggio di comandi. Generalmente, i linguaggi di comandi si caratterizzano per la grammatica semplice e per la sintassi più simile al linguaggio naturale (che ne favoriscono l’apprendimento) ma anche per essere strettamente connessi al sistema operativo sottostante, o nel caso specifico al motore di gioco. In ogni caso, la trasposizione visuale del linguaggio di comandi realizzata da Minecraft è particolarmente interessante ai fini dell’apprendimento del coding.
I blocchi di comando possono essere implementati impostando il mondo di gioco in modalità creativa tuttavia, così come altri tipi di blocco (ovvero i “command-only obtainable blocks” più frequentemente denominati blocchi nascosti di Minecraft o “secret blocks”), non sono presenti tra le risorse disponibili nell’interfaccia grafica dell’inventario generale. Per poter utilizzare i blocchi di comando occorre abilitare i “trucchi” (allow cheats) nelle impostazioni del mondo di gioco, accedere alla console dei comandi Minecraft e utilizzare il comando “/give”, ad esempio digitando /give @s command_block
. Una volta ottenuto il blocco di comando nel proprio inventario lo si può posizionare, configurare e “programmare”.
Allo stato attuale i blocchi di comando sono di tre tipi, tra loro intercambiabili:
- blocco di comando a impulso (“impulse”) di colore arancione, le cui istruzioni vengono eseguite dal motore di gioco una sola volta quando il blocco viene messo nello stato attivo o riceve un impulso di attivazione;
- blocco di comando a catena ovvero concatenato (“chain”) di colore verde, le cui istruzioni vengono eseguite ogni volta che le istruzioni del blocco a cui è concatenato vengono eseguite indipendentemente dal loro esito, se il blocco si trova nello stato sempre attivo o riceve un impulso di attivazione;
- blocco di comando ripetizione ovvero ripetitivo (“repeat”) di colore viola, le cui istruzioni vengono eseguite in continuo, o più precisamente ogni ventesimo di secondo (tick) o a intervalli maggiori, se il blocco si trova nello stato sempre attivo o riceve un impulso di attivazione.
E’ possibile ottenere anche una versione del blocco di comando posizionata dentro un carretto minerario - denominato “command_block_minecart” - utile per creare sistemi di attivazione che sfruttano il movimento del carretto sui binari.
Il tipo di blocco è modificabile dall’interfaccia grafica del blocco stesso, dove sono presenti anche altre opzioni, ovvero la condizione (“condition”) che può essere impostata su:
- condizionalità (“conditional”), per far eseguire l’istruzione solamente se il blocco di comando adiacente è stato eseguito con successo (ovvero ha restituito un valore maggiore di 0);
- incondizionalità (“unconditional”), per far eseguire l’istruzione anche se l’esecuzione di un eventuale blocco precedente non è andata a buon fine;
e l’opzione pietrarossa (“redstone”), che può essere impostata su:
- sempre attiva (“always active”), in modo che il blocco di comando sia sempre nello stato attivo;
- pietrarossa necessaria (“needs redstone”), in modo che il blocco di comando posto nello stato disattivo si attivi e disattivi attraverso meccanismi o automatismi “redstone”.
Per maggiori dettagli sulle opzioni disponibili nei blocchi di comando si rimanda alla sezione dedicata ai blocchi di comando del wiki di Minecraft.
I blocchi di comando possono essere attivati con gli stessi meccanismi e automatismi in grado di attivare le varie componenti interattive di Minecraft, ovvero con:
- interuttori e generatori di potenza adiacenti al blocco di comando, come ad esempio una leva, un pulsante, un blocco di pietrarossa, un sensore di luce diurna;
- un blocco adiacente caricato di energia, come ad esempio un blocco opaco con una torcia di pietrarossa;
- un “comparatore di pietrarossa” o un “ripetitore di pietrarossa” posizionati di fronte al blocco di comando e ovviamente alimentati da un circuito di pietrarossa;
- direttamente da un circuito di polvere di pietrarossa alimentato e indirizzato verso il blocco di comando.
Per quanto riguarda la sintassi da utilizzare nei blocchi di comando si rimanda all’articolo sulla console dei comandi Minecraft, al wiki di Minecraft e più in generale ai numerosi esempi recuperabili on line, con una menzione speciale per il comando /execute che consente di far eseguire comandi a un esecutore terzo, di impostare la posizione dalla quale eseguire il comando, di aggiungere condizioni e restituire un risultato.