Come creare le OneCommand (Creazioni con un comando) Guide download

Come creare le OneCommand (Creazioni con un comando)

Premessa:
La maggior parte di voi, saprà sicuramente cosa sono le One Command, ovvero le creazioni con un solo comando.
Mentre per la parte che non ha mai visto un video di TheRedEngineer o di IjaMinecraft, o che semplicemente non sa neanche cos'è un command block, consistono nell'inserire un comando che vi verrà fornito appunto dal OneCBMaker (Quelli che le creano) ed inserirlo in un blocco di comandi, in modo da "spawnare" una macchina con particolari caratteristiche, che vi permetterà di fare cose straordinarie, non fattibili senza l'ausilio dei cheat.
Spero che abbiate capito, altrimenti guardatevi i video degli YouTuber sopracitati.

Una volta capito in cosa consiste una OneCommand, vi starete chiedendo come si fa per crearne una, considerando l'abnorme quantità di caratteri molti di voi penseranno che si tratti di una cosa difficile, solo per veri "maghi" della redstone creativa, ebbene oggi vi spiegherò come in realtà creare queste "macchine" sia veramente semplice, in ogni caso vi ricordo che per scrivere un comando di 10k e passa caratteri serve comunque una buona pazienza, ed inoltre anche una discreta conoscenza dei comandi in generale, quindi se di command block non sapete proprio nulla vi consiglio di dare un'occhiata alla sezione Redstoniamo, di guardare qualche video sul tubo (Consiglio particolarmente l'enciclopedia dei comandi di MandelCube) oppure di leggere qualche appunto sulla wiki.

Bene dopo questa piccola premessa iniziamo!

Parte 1: Creazione dei meccanismi
Per prima cosa bisogna creare tutti i piccoli meccanismi

ad esempio se vogliamo creare una OneCommand che aggiunga cibi creiamo una fila di command block per ogni cibo, in ogni fila andranno inseriti i comandi che renderanno ad esempio quel cibo "speciale", ovviamente come detto prima dovete sapere voi quali comandi usare, quindi dovete già conoscere i comandi principali.
Nella mia guida farò qualcosa di semplice, in cui andrò ad inserire il comando per dire "tuonome sta pulendo il bagno", per fare ciò andremo ad utilizzare il comando say in questo modo:

Come già detto dovete creare una serie di command block per ogni "oggetto".
(Ovviamente non va usato sempre say, ma io ho preferito fare così per non complicare troppo lo cosa)
Teniamo i command block perchè ci serviranno dopo.

Parte 2: Creazione della scatola
Ora dobbiamo creare la "scatola" dove metteremo tutti i nostri command block, perchè vedere dei blocchi di comandi svolazzanti sarebbe esteticamente brutto, per la creazione della scatola posizionamoci 2 blocchi sopra a dove vogliamo inserire il command block in questo modo:

Bene ora sopra quel blocco di stone premiamo f3 o se non funziona f3+fn (per windows, non ho idea di come sia per le altre tastiere)
In questo modo vedremo le coordinate, noi dobbiamo prendere i due estremi della piattaforma che andremo a creare,
per fare ciò non dobbiamo usare le coordinate assolute (quelle composte solo da numeri) bensì quelle relative (ovvero quelle precedute dalle tilde), infatti quest'ultime si riferiscono alla posizione appunto relativa del command block nel mondo, indipendentemente da dove si trovi.

Ad esempio se come coordinate mettiamo ~ ~1 ~ metterà un blocco sopra al command block, cioè della seconda coordinata (y) aumentata di 1 indipendentemente dalla sua posizione.

Regolatevi di conseguenza con i due estremi della "scatola" per decidere quali sono le coordinate relative rispetto al command block.


Io per facilitarmi ne farò una piccola:
/fill ~1 ~1 ~1 ~4 ~-1 ~5
Andiamo quindi a scegliere il materiale del pavimento e del tetto, io di solito uso il packed ice perchè è carino :D
/fill ~1 ~1 ~1 ~4 ~-1 ~5 minecraft:packed_ice 0
Andiamo quindi ad aggiungere il metodo di fill.
Per le one command si usa hollow che serve per rendere la scatola vuota all'interno.A bbiamo quindi questo:
/fill ~1 ~1 ~1 ~4 ~-1 ~5 minecraft:packed_ice 0 hollow
Andiamo quindi a fare i lati in vetro, con lo stesso metodo, semplicemente diminuiamo di 1 le coordinate relative di y.
/fill ~1 ~ ~1 ~4 ~ ~5 minecraft:stained_glass 15 hollow

Abbiamo quindi i due comandi:

/fill ~1 ~1 ~1 ~4 ~-1 ~5 minecraft:packed_ice 0 hollow
/fill ~1 ~ ~1 ~4 ~ ~5 minecraft:stained_glass 15 hollow

Che genereranno questa "scatola":

Scusatemi se questa parte è stata confusa e magari avete capito poco ma dovete essere voi a capire il funzionamento delle coordinate relative :P

Parte 3: Creazione del comando:
Ora passiamo alla parte più importante : La creazione del comando
Si inizia evocando una falling sand, poichè il comando /summon è molto più facile da utilizzare di /setblock visto ci permette di utilizzare la tag Passengers aggiunta nella 1.9 per sostituire Riding (Dopo spiego a cosa serve :P)
Quindi iniziamo a scrivere il nostro codice
summon FallingSand ~ ~1 ~

Ciò evocherà una falling sand (sabbia cadente tradotto in italiano) che però scomparirà subito, come fare per renderla "materiale e concreta"?
Semplice, aggiungiamo la tag Time, che ci permette di decidere quanto tempo la sabbia dovrà cadere, in questo caso inseriamo 1 per fare in modo che la sand si concretizzi e diventi un blocco all'istante.
Poi aggiungiamo la tag Block che ci permette di cambiare il blocco evocato (che di default è appunto la sabbia)
Quindi in teoria questo è il nostro comando:
/summon FallingSand ~ ~1 ~ {Time:1,Block:stone}

Così però evocheremo un blocco di stone, ecco qui che entra in gioco l'utilissima tag passengers, che ci permetterà di specificare cosa dovrà cavalcare questa falling sand e quindi quali entità posizionare sopra, in questo caso delle falling sand "tramutate" in altri blocchi.
Ricordatevi dopo Passengers di inserire i due punti (:) e un gruppo di parentesi quadre e graffe in questo modo :[{}]
/summon FallingSand ~ ~1 ~ {Time:1,Block:stone,Passengers:[{}]}

N.B. Chiudete sempre la parentesi quando le aprite sennò vi incasinerete.

Ora, essendo entità attivabili facilmente dobbiamo evocare tanti minecart con i vari comandi.
Però questi minecart devono essere attivati per piazzare i command block e rendere attiva la one command, quindi prima di evocarli all'interno della tag Passengers tra le graffe evochiamo un'altra falling sand con le stesse tag di prima, però al posto di "stone" mettiamo "redstone_block", aggiungiamo anche un'altra tag Passengers.


Per specificare l'entità, inseriamo la tag "id" (dove possiamo mettere qualsiasi cosa, come mucche, maiali,ecc..), in questo caso ci serve una Falling Sand.

Se avete seguito tutto attentamente, dovreste ritrovarvi con una roba del genere:

/summon FallingSand ~ ~1 ~ {Time:1,Block:stone,Passengers:[{id:FallingSand,Block:redstone_block,Time:1,Passengers:[{}]}]}

Ma i minecart non vengono attivati da un blocco di redstone, bensì da una rotaia, quest'ultima dovrà essere alimentata da qualcosa, cioè il blocco di redstone che abbiamo appena creato!

Aggiungiamo quindi un'altra falling sand mettendo come blocco una "activator_rail" , verrà quindi un comando del genere:

/summon FallingSand ~ ~1 ~ {Time:1,Block:stone,Passengers:[{id:FallingSand,Block:redstone_block,Time:1,Passengers:[{id:FallingSand,Time:1,Block:activator_rail}]}]}

Ed avrete questo:

Ora evochiamo i minecart con tutti i nostri comandi, aggiungiamo quindi un'altra tag Passengers,
ma questa volta con più graffe all'interno del "grande gruppo":

Passengers:[{},{},{},{},{},{},{},{},{}]

Inseriamo le 6 coppie di graffe che dovremmo mettere sempre,più 1 coppia per ogni comando della onecommand:

/summon FallingSand ~ ~1 ~ {Time:1,Block:stone,Passengers:[{id:FallingSand,Block:redstone_block,Time:1,Passengers:[{id:FallingSand,Time:1,Block:activator_rail,Passengers:[{},{},{},{},{},{},{}]}]}]}

Nella prima coppia di graffe inseriamo il primo minecart con il comando /gamerule commandBlockOutput false
che va sempre inserito per impedire lo spam dei command block in chat.
Poi nei successivi 2 gruppi inseriamo i 2 minecart con i 2 comandi che vi ho fatto scrivere prima che serviranno per generare la "scatola", che come ho detto prima varia a seconda del numero di command block da inserire.

Abbiamo quindi questo:

/summon FallingSand ~ ~1 ~ {Time:1,Block:stone,Passengers:[{id:FallingSand,Block:redstone_block,Time:1,Passengers:[{id:FallingSand,Time:1,Block:activator_rail,Passengers:[{id:MinecartCommandBlock,Command:/gamerule commandBlockOutput false},{id:MinecartCommandBlock,Command:/fill ~1 ~-1 ~1 ~4 ~-1 ~5 minecraft:packed_ice 0 hollow},{id:MinecartCommandBlock,Command:/fill ~1 ~ ~1 ~4 ~ ~5 minecraft:stained_glass 15 hollow},{},{},{},{}]}]}]}

E voi vi starete chiedendo:
E tutto sto casino solo per evocare la scatola?
Ebbene si :c

Comunque ci rimangono 4 coppie di graffe dove inserire altri 4 minecart, nel mio caso, nel vostro invece cambiano a seconda del numero di comandi scritti all'inizio, a seconda di ciò che volete fare.
Ora ripremiamo f3 o f3+fn e vediamo come cambiano le coordinate dal blocco qua:

Fino a raggiungere l'esatto punto dove vogliamo settare il command block,
evochiamo quindi un'altro minecart
{id:MinecartCommandBlock,Command:setblock ~ ~ ~ }

Dopo le tilde aggiungiamo i valori relativi, in questo caso, per non fare il casino come nel punto 2, cercate di capire come funzionano le coordinate relative.
Nel mio caso ~1 ~ ~2 quindi abbiamo
{id:MinecartCommandBlock,Command:setblock ~1 ~ ~2 }
Aggiungiamo il blocco da piazzare:
Come primo blocco si mette quasi sempre un repeating command block quindi:
{id:MinecartCommandBlock,Command:setblock ~1 ~ ~2 minecraft:repeating_command_block 0 replace }

Cambiando 0 con un 'altro numero cambia anche la direzione in cui è puntato il command block, quindi regolatevi con questo valore a seconda di come viene piazzato.
Ora dopo replace aggiungiamo la tag auto, che serve per decidere se il nostro command block dovrà essere sempre attivo, o attivato solo in caso di redstone, e il comando che dovrà starci dentro:
{id:MinecartCommandBlock,Command:setblock ~1 ~ ~2 minecraft:repeating_command_block 0 replace {auto:1,Command:say @p pulisce i bagni}}

Abbiamo quindi:
/summon FallingSand ~ ~1 ~ {Time:1,Block:stone,Passengers:[{id:FallingSand,Block:redstone_block,Time:1,Passengers:[{id:FallingSand,Time:1,Block:activator_rail,Passengers:[{id:MinecartCommandBlock,Command:/gamerule commandBlockOutput false},{id:MinecartCommandBlock,Command:/fill ~1 ~-1 ~1 ~4 ~-1 ~5 minecraft:packed_ice 0 hollow},{id:MinecartCommandBlock,Command:/fill ~1 ~ ~1 ~4 ~ ~5 minecraft:stained_glass 15 hollow},{id:MinecartCommandBlock,Command:setblock ~1 ~ ~2 minecraft:repeating_command_block 0 replace {auto:1,Command:say @p pulisce i bagni}},{},{},{}]}]}]}

Ora dobbiamo aggiungere i 3 minecart per distruggere il meccanismo, due metteranno un command block ed un blocco di redstone per "piazzare aria", uno invece ucciderà tutti i minecart.

/summon FallingSand ~ ~1 ~ {Time:1,Block:stone,Passengers:[{id:FallingSand,Block:redstone_block,Time:1,Passengers:[{id:FallingSand,Time:1,Block:activator_rail,Passengers:[{id:MinecartCommandBlock,Command:/gamerule commandBlockOutput false},{id:MinecartCommandBlock,Command:/fill ~1 ~-1 ~1 ~4 ~-1 ~5 minecraft:packed_ice 0 hollow},{id:MinecartCommandBlock,Command:/fill ~1 ~ ~1 ~4 ~ ~5 minecraft:stained_glass 15 hollow},{id:MinecartCommandBlock,Command:setblock ~2 ~ ~2 minecraft:repeating_command_block 0 replace {auto:1,Command:say @p pulisce i bagni}},{id:MinecartCommandBlock,Command:setblock ~ ~ ~1 command_block 0 replace {Command:fill ~ ~-3 ~-1 ~ ~ ~ air}},{id:MinecartCommandBlock,Command:setblock ~ ~-1 ~1 redstone_block},{id:MinecartCommandBlock,Command:kill @e[type=MinecartCommandBlock,r=1]}]}]}]}

{id:MinecartCommandBlock,Command:kill @e[type=MinecartCommandBlock,r=1]} ucciderà tutti i minecart distanti massimo 1 blocco.
{id:MinecartCommandBlock,Command:setblock ~ ~ ~1 command_block 0 replace {Command:fill ~ ~-3 ~-1 ~ ~ ~ air}} e {id:MinecartCommandBlock,Command:setblock ~ ~-1 ~1 redstone_block} servono invece per "mettere aria" al posto degli altri blocchi usati per generare la macchina.

La guida giunge al termine, spero vi abbia aiutato almeno un po' a capire il funzionamento delle one command,
ditemi comunque cosa potrei aggiungere e migliorare.

La guida funziona in 1.10 anche se i nuovi structure block rendono più semplice il tutto.

Grazie a tutti coloro che sono arrivati fin qui!

P.S. Per alcuni cambiamenti, relativi alla 1.11, vi consiglio di guardare anche la guida di Kharu.

Commenti 39 risposte

Accedi per commentare.

non ho capito il passo 2: dove li metto i comandi /fill?
rt2013 ha scritto:.
Denko_ ha scritto:. @rt2013 quindi se ho capito bene(rispondo ora anche se la guida è un pò vecchiotta :D) per ogni nuovo comando un`altra coppia di graffe? quindi se avessi la scatola più grande metto command block minecart con comando piazza dentro la scatola un determinato command block con il rispettivo comando?
Se possibile rispondi in privato :)


Denko_ ha scritto:. @rt2013 quindi se ho capito bene(rispondo ora anche se la guida è un pò vecchiotta :D) per ogni nuovo comando un`altra coppia di graffe? quindi se avessi la scatola più grande metto command block minecart con comando piazza dentro la scatola un determinato command block con il rispettivo comando?
Se possibile rispondi in privato :)




Si, poi devi regolarti con le coordinate relative a seconda della grandezza della "scatola".


Denko_ ha scritto:. per 1.11 non funziona vero? Ce ne è una aggiornata?

Non ho provato ad aggiornarla, ma in teoria dovrebbe funzionare semplicemente cambiando gli ID delle entità (se non sbaglio cambiano solo quelli).

Comunque c'è un'altra guida di Kharu sempre nella sezione risorse.

@Denko_


Benissimo grazie! @rt2013
Denko_ ha scritto:. @rt2013 quindi se ho capito bene(rispondo ora anche se la guida è un pò vecchiotta :D) per ogni nuovo comando un`altra coppia di graffe? quindi se avessi la scatola più grande metto command block minecart con comando piazza dentro la scatola un determinato command block con il rispettivo comando?
Se possibile rispondi in privato :)


Denko_ ha scritto:. @rt2013 quindi se ho capito bene(rispondo ora anche se la guida è un pò vecchiotta :D) per ogni nuovo comando un`altra coppia di graffe? quindi se avessi la scatola più grande metto command block minecart con comando piazza dentro la scatola un determinato command block con il rispettivo comando?
Se possibile rispondi in privato :)




Si, poi devi regolarti con le coordinate relative a seconda della grandezza della "scatola".


Denko_ ha scritto:. per 1.11 non funziona vero? Ce ne è una aggiornata?

Non ho provato ad aggiornarla, ma in teoria dovrebbe funzionare semplicemente cambiando gli ID delle entità (se non sbaglio cambiano solo quelli).

Comunque c'è un'altra guida di Kharu sempre nella sezione risorse.

@Denko_
@rt2013 quindi se ho capito bene(rispondo ora anche se la guida è un pò vecchiotta :D) per ogni nuovo comando un`altra coppia di graffe? quindi se avessi la scatola più grande metto command block minecart con comando piazza dentro la scatola un determinato command block con il rispettivo comando?
Se possibile rispondi in privato :)


Denko_ ha scritto:. @rt2013 quindi se ho capito bene(rispondo ora anche se la guida è un pò vecchiotta :D) per ogni nuovo comando un`altra coppia di graffe? quindi se avessi la scatola più grande metto command block minecart con comando piazza dentro la scatola un determinato command block con il rispettivo comando?
Se possibile rispondi in privato :)


per 1.11 non funziona vero? Ce ne è una aggiornata?
Up, guida inserita nella sezione risorse!
Guida fantastica!! :)
DiamondMinerITA ha scritto:. ho un problema...
Quando spawno la struttura i minecart mi levano la struttura sotto ma non scompaiono.
Oppure quando modifico il comando accade l'esatto contrario.
Come risolvo?

(Scusa se non ho risposto ma ero in vacanza)

Grazie per avermelo fatto notare, ora ho modificato.

ho un problema...
Quando spawno la struttura i minecart mi levano la struttura sotto ma non scompaiono.
Oppure quando modifico il comando accade l'esatto contrario.
Come risolvo?
andy789 ha scritto:. Complimenti! Bella guida :D @rt2013

Grazie! ;)
Complimenti! Bella guida :D @rt2013
Leggi tutti i commenti nella discussione sul forum.

Informazioni

Aggiunto da
Crediti
rt2013
Link sponsorizzati

Link sponsorizzati