I blocchi di command hanno limiti di caratteri?

Sto facendo molti Big Commands in questa mia mappa e stavo pensando che forse, come i blocchi di command della chat, potrebbe avere un limite di caratteri.

Qualcuno conosce il limite o se non ce n'è uno?

3 Solutions collect form web for “I blocchi di command hanno limiti di caratteri?”

Secondo Minecraft Wiki, c'è un limite, ma è molto grande.

Vedi la pagina del Command Block sul Wiki di Minecraft:

Il limite di text per i comandi in un block di comandi è 32.767 caratteri, ma il riquadro di text può mostrare solo una piccola parte di questo importo alla volta.

Con il cliente (32.500)

A partire da 1.9, il limite di caratteri quando si utilizza l'interface del block di comandi è stato ridotto a 32.500 (in calo rispetto a 32.767). Questa modifica ha permesso di aggirare gli arresti anomali del sistema quando si supera il limite di 32.767 byte, poiché vengono inviate al server più informazioni del solo command quando si confermano le modifiche (incluse le varie opzioni nell'interface).

Con server (2 ^ 31-1 o 65.535)

Il command è memorizzato dal server come una string NBT. Tecnicamente il limite di caratteri è il più adatto al tipo di string di Java, essendo Integer.MAX_VALUE ( 2 ^ 31-1 ).

Tuttavia, quando si salva la string, ad esempio un file chunk, un nuovo limite di caratteri viene fornito dal metodo DataOutput.writeUTF () di Java:

Se questo numero è maggiore di 65535, viene generata UTFDataFormatException .

Se viene lanciata UTFDataFormatException , il block non riuscirà a salvare. Pertanto, per la distribuzione della mappa, il limite di caratteri è 65.535 . Poiché il client può submit solo 32.500 caratteri di un command, non sarà ansible modificare il block di comandi tramite l'interface senza tagliare il command.

Esempio

Un metodo per get un block di command su un server vanilla che raggiunge il limite 65.535 è utilizzare una tabella loot. Le tabelle del bottino possono creare una voce del block di comandi contenente un command preimpostato, che viene gestito interamente dal lato server (quindi nessun limite del client di 32.500).

Con la seguente tabella loot si trova in WORLD/data/loot_tables/custom/limit.json : http://pastebin.com/8tmeeU4M

E il seguente command per creare un baule contenente il block di comandi relativo:

 /setblock ~ ~1 ~ minecraft:chest 0 replace {LootTable:"custom:limit"} 

Posizionando e triggersndo il block di comandi verrà eseguito un command di 65.535 caratteri /say alto, e vednetworking il carattere finale di "1" nella chat (indicando che il command non è stato tagliato). È quindi ansible uscire dal mondo e rientrare, e il command continuerà a funzionare.

Il tentativo di aggiungere più caratteri consentirà comunque di funzionare mentre il block è caricato, ma una volta usciti dal mondo o altrimenti si scarica il block, il block non riuscirà a salvare con il seguente errore:

[STDERR]: java.io.UTFDataFormatException: string codificata troppo lunga

Sì, c'è un limite di caratteri. Non devi preoccuparti di questo a less che non stai facendo una creazione di un command. Inoltre se è in 1.9+ non c'è limite di caratteri. Mojang si è liberato durante lo sviluppo 1.9

  • È ansible disabilitare le ricette di crafting in Minecraft per determinati oggetti e non disabilitarne altri?
  • Gamma socialist del villaggio
  • Come posso applicare un effetto quando un giocatore fa clic-sinistro / clic-destro con un object in mano?
  • Come posso distriggersre i log spawning leaves in Technic Pack 6.1.1?
  • Quali risorse sono (tecnicamente) finite in Minecraft?
  • Come posso usare il command / fill per riempire più aree?
  • level.dat_old sembra essere corrotto, un modo per risolverlo?
  • Come mostrare le coordinate XYZ senza il tasto 'Fn'?
  • Perché gli animali non mi seguono sempre quando tengo il grano?
  • Passare a un'altra versione di Minecraft
  • La mia mappa non crescerà
  • XboxTips.com Ci piace giocare a giochi, specialmente videogiochi con Xbox e Playstation.