Vai al contenuto
Il server del mese è
Visita la nostra nuova lista server!

Archiviato

Questa discussione è archiviata e chiusa a future risposte.

  • 0
Trial4life

Rimuovere oggetti specifici dall'inventario

Domanda

Ciao a tutti,
ho un problema ... è possibile rimuovere dall'inventario solo un oggetto che non ha alcun tag? Ad esempio, mettiamo che ho 2 leve nell'inventario: 1 con un nome personalizzato e un NBT tag {CanPlaceOn}, e un'altra leva "default" (senza nome personalizzato, né tag). Ho bisogno di eliminare solo la leva "default" dopo aver premuto un pulsante, lasciando l'altra nell'inventario. È possibile? So come fare la cosa opposta, con il comando

 

/clear @p lever 0 1 {display:{Name:"<CUSTOM NAME>"}}

ma se la leva non ha un custom name? Come posso far rimuovere quella e non l'altra con il custom  name?

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

8 risposte a questa domanda

Recommended Posts

Il <Custom Name> nel codice sta a significare un nome a piacere.

 

Invece ho provato con i comandi

/clear @p lever 0 1 {display:{Name:"Lever"}}
/clear @p lever 0 1 {display:{Name:""}}

Ma il primo non funziona (dice che non trova nessun oggetto con il nome "Lever" nell'inventario), mentre il secondo semplicemente ignora il tag: ad esempio, avevo messo nell'inventario in ordine prima la leva modificata e poi quella default, e il comando mi rimuove comunque la prima leva nell'inventario, ovvero quella modificata... mentre avrebbe dovuto rimuovere la seconda.

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Hai dimenticato il @p dopo lo /clear

È quello il problema? In ogni caso guarda qui ci sono alcuni esempi su come usare questo comando

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Sì è vero ma non badare a quello, ho sbagliato solo a scriverlo sul forum (ora correggo), non è quello il problema.

Fondamentalmente non so come impostare come "target" del comando clear la leva priva di NBT tag (e non altre eventuali leve con NBT tag che potrebbero essere presenti nell'inventario), dato che è una leva che nella mappa che sto creando deve essere craftata dal giocatore. Non so se mi sono spiegato...

 

Senza specificare il target, il comando rimuove la prima leva presente nell'inventario, senza distinguere tra leve senza tag e leve con tag. Invece io ho bisogno di rimuovere esclusivamente la leva senza tag!!!


Per spiegarmi meglio:
 

2vs2d87.png

 

 

4htis2.png

 

Ho bisogno che la leva ad essere rimossa sia quella a sinistra (senza tag), indipendentemente dall'ordine nell'inventario (se invece fosse a destra, ora come ora quel comando cancellerebbe sempre la leva a sinistra, ovvero in questo caso quella col tag).

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Puoi provare con l'item data, se premi F3+H e con il mouse passi sopra un oggetto puoi vedere l'id e il "data" dell'oggetto (esempio: pietra è #0001/0) che serve per oggetti come la lana colorata ma funziona per tutti (ovviamente non cambia il colore come per la lana, l'oggetto con un data diverso funziona sempre normalmente)

Nella leva con il datatag al comando /give devi aggiungere "2" dopo il numero di oggetti da dare così assegnerai alla leva con tag il data "2"

/give @p minecraft:lever 1 2 <datatag>

In questo modo facendo /clear @p minecraft:lever 0 1 toglie solo l'oggetto che ha come data "0" cioè la leva craftabile

Se non funziona prova con /clear @p minecraft:lever 1 1 (per la leva craftabile)

(non so nemmeno io se mi sono spiegato bene, comunque il data è una cosa che molti non considerano)

 

EDIT: non avevo ancora provato quello che avevo scritto e ho visto che la leva risulta buggata... ora provo comunque

 

EDIT2: nada, dimentica tutto quello che ho detto, non funziona perché non ammette data diversi... bisogna trovare un altro modo... non puoi usare la torcia di redstone per uno dei due? tipo per la leva con tag?

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Ci avevo già pensato... avevo provato con vari valori, ma per qualsiasi valore > 0, mi ritrovo con un cubo fucsia e nero, che è ancora una leva funzionante, ma che comunque è brutto da vedere. In realtà questo metodo funziona, quando poi vado ad eseguire il comando "clear [...] 0" effettivamente mi toglie solo la leva specificata... però esteticamente l'icona della leva con il data value modificato è alquanto inguardabile :perp:


Parlo di questi blocchi:

redstoneblog_lrg.jpg

 

in realtà quando poi piazzo la leva, assume la forma di una normale leva. È nell'inventario che visualizzo quello strano blocco.

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti
Calma, quindi te vuoi eliminare dall'inventario una comune leva e lasciare una leva con alcune NBT tag? Bè, eliminale con /clear e ridai al giocatore quella con la NBT Tag ;)

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Il fatto è che non posso sapere quali leve ho eliminato!

 

Mi spiego meglio. La mappa che sto creando è più o meno un free-roaming. Il giocatore può arrivare in un punto in cui si deve craftare una leva o con nessun'altra leva nell'inventario (e non ci sarebbero problemi), oppure con un paio di leve diverse con vari tag. Quindi non posso mettere un command block che ridia al giocatore le leve tolte, se non so per certo cosa verrà tolto!

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

×
×
  • Crea Nuovo...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.