Enable JQuery execution.
Abilitare l'esecuzione di JQuery
Use an SVG enabled browser (eg Chrome, Firefox) for a proper visualization of the content.
See instructions here.
Per una corretta fruizione dei contenuti del sito deve essere utilizzato un browser abilitato alla visualizzazione di SVG (es. Chrome, Firefox).
Vedere le istruzioni qui.

Creare in Minecraft

Riporto alcune semplici indicazioni se si vuole creare in Minecraft, su un server locale, utilizzando un programma esterno e senza dover installare mod.

 

Premetto che non ho una conoscenza approfondita di Minecraft e quanto segue è il frutto di una semplice verifica di fattibilità.

Se avete indicazioni più precise sarò ben lieto di aggiornare queste indicazioni.

 

Ho utilizzato un server Minecraft su un sistema Linux.

 

Creare uno script di nome start.sh, nella cartella del server, con permessi di esecuzione e con il seguente contenuto (ovviamente i nomi vanno modificati in base alla propria installazione):

 

#!/bin/sh cd /home/user/MinecraftServer # percorso della cartella contenente i file del server Minecraft java -Xmx1024M -Xms1024M -jar minecraft_server.x.x.x.jar # lancio del server

 

Creare un altro script di nome lanciaMinecraft.sh, nella cartella del server, con permessi di esecuzione e con il seguente contenuto:

 

#!/bin/sh screen -mS MCServer ./start.sh

 

Questo permette di riferirsi a questa finestra di terminale con il nome MCServer.

 

Una volta lanciato il server di Minecraft, compare la console del server e attraverso di essa è possibile impartire i comandi al server, manualmente o tramite standard input.

 

Il comando da lanciare attraverso un terminale è fondamentalmente questo:

 

screen -S MCServer -X stuff "`printf "setblock -316 62 560 minecraft:coal_ore\r"`";

 

Grazie al comando screen è possibile scrivere nello standard input della finestra console del server.

 

Il comando al server Minecraft sarà dunque:

 

setblock -316 62 560 minecraft:coal_ore

 

che crea un blocco del materiale indicato alle coordinate specificate.

 

Utilizzando le funzionalità offerte dai linguaggi di programmazione, si può automatizzare la creazione di forme.

Personalmente utilizzo FreePascal, quindi il comando impartito sarà:

 

RunCommand('screen', ['-S', 'MCServer', '-X', 'stuff', 'setblock ' + IntToStr(x) + ' ' + IntToStr(y) + ' ' + IntToStr(z) + ' minecraft:wool 15\r'], s);

 

Ricordarsi di dare inizialmente il comando:

 

gamerule sendCommandFeedback false

 

altrimenti ad ogni blocco creato i giocatori riceveranno un avviso...

 

Purtroppo, mentre è agevole creare i blocchi (o meglio cambiare il tipo di materiale di un blocco), non è altrettanto agevole leggere il tipo di materiale di un blocco.

Per far questo ho trovato un solo suggerimento, che consiste nel testare un blocco e andare a leggere nel file di log il risultato riportato.

 

testforblock -316 62 560 minecraft:coal_ore

 

Se il blocco è del tipo indicato si ottiene:

 

[17:19:30 INFO]: Successfully found the block at -316,62,560.

 

Se il blocco non è del tipo indicato si ottiene:

 

[17:19:52 INFO]: The block at -316,82,560 is tile.air.name (expected: Coal Ore).

 

Non è una operazione agevole e serve qualche accortezza: si deve verificare di leggere la riga di log corretta e se ne deve interpretare il contenuto per ricavare l'informazione desiderata.

 

Ciò che si può realizzare con questa tecnica è limitato solo dalla fantasia.

Il bello consiste nel poter automatizzare la costruzione di forme complesse.

Anche in questo caso mi sono limitato ad una semplice verifica di fattibilità, che ovviamente si può perfezionare ed estendere.

Ad esempio con semplici procedure è possibile creare forme geometriche elementari 2D (su un piano) come segmenti, rettangoli, ellissi, oppure 3D come parallelepipedi ed elissoidi:

 

Immagine1

 

 

Immagine2

 

oppure ricreare in Minecraft delle bitmap:

 

Immagine3

 

 

oppure ancora dei labirinti:

 

Immagine4