Skip to content

Commit

Permalink
New Crowdin updates (#126)
Browse files Browse the repository at this point in the history
* New translations arguments.md (Chinese Simplified)

* New translations basics.md (Chinese Simplified)

* New translations suggestions.md (Chinese Simplified)

* New translations effects.md (Chinese Simplified)

* New translations faq.md (Chinese Simplified)

* New translations finding-mods.md (Chinese Simplified)

* New translations installing-mods.md (Chinese Simplified)

* New translations crash-reports.md (Chinese Simplified)

* New translations uploading-logs.md (Chinese Simplified)

* New translations updating-fabric.md (Chinese Simplified)

* New translations sidebar_translations.json (Chinese Simplified)

* New translations damage-types.md (Chinese Simplified)

* New translations creating-a-project.md (Chinese Simplified)

* New translations contributing.md (Chinese Simplified)

* New translations website_translations.json (Chinese Simplified)

* New translations blockstates.md (Chinese Simplified)

* New translations first-block.md (Chinese Simplified)

* New translations basic-concepts.md (Chinese Simplified)

* New translations draw-context.md (Chinese Simplified)

* New translations custom-screens.md (Chinese Simplified)

* New translations custom-widgets.md (Chinese Simplified)

* New translations hud.md (Chinese Simplified)

* New translations creating-particles.md (Chinese Simplified)

* New translations index.md (Chinese Simplified)

* New translations index.md (Chinese Traditional)

* New translations installing-fabric.md (Chinese Simplified)

* New translations sidebar_translations.json (Chinese Traditional)

* New translations custom.md (Chinese Simplified)

* New translations using-sounds.md (Chinese Simplified)

* New translations setting-up-a-development-environment.md (Chinese Simplified)

* New translations website_translations.json (Chinese Traditional)

* New translations codecs.md (Chinese Simplified)

* New translations events.md (Chinese Simplified)

* New translations potions.md (Chinese Simplified)

* New translations linux.md (Chinese Simplified)

* New translations windows.md (Chinese Simplified)

* New translations custom.md (Chinese Simplified)

* New translations using-sounds.md (Chinese Simplified)

* New translations first-item.md (Chinese Simplified)

* New translations text-and-translations.md (Chinese Simplified)

* New translations basics.md (Russian)

* New translations effects.md (Russian)

* New translations creating-a-project.md (Chinese Traditional)

* New translations introduction-to-fabric-and-modding.md (Russian)

* New translations launching-the-game.md (Russian)

* New translations introduction-to-fabric-and-modding.md (Chinese Traditional)

* New translations launching-the-game.md (Chinese Traditional)

* New translations project-structure.md (Chinese Traditional)

* New translations setting-up-a-development-environment.md (Chinese Traditional)

* New translations custom-item-groups.md (Russian)

* New translations custom-item-interactions.md (Russian)

* New translations custom-armor.md (Chinese Simplified)

* New translations custom-item-groups.md (Chinese Simplified)

* New translations index.md (Russian)

* New translations basics.md (Russian)

* New translations faq.md (Korean)

* New translations sidebar_translations.json (Russian)

* New translations custom.md (Russian)

* New translations project-structure.md (Russian)

* New translations index.md (Korean)

* New translations website_translations.json (Korean)

* New translations website_translations.json (Russian)

* New translations effects.md (Italian)

* New translations sidebar_translations.json (Italian)

* New translations using-sounds.md (Italian)

* New translations effects.md (Portuguese, Brazilian)

* New translations codecs.md (Italian)

* New translations arguments.md (Italian)

* New translations basics.md (Italian)

* New translations suggestions.md (Italian)

* New translations events.md (Italian)

* New translations potions.md (Italian)

* New translations basic-concepts.md (Italian)

* New translations draw-context.md (Italian)

* New translations hud.md (Italian)

* New translations creating-particles.md (Italian)

* New translations index.md (Italian)

* New translations faq.md (Italian)

* New translations finding-mods.md (Italian)

* New translations installing-fabric.md (Italian)

* New translations linux.md (Italian)

* New translations windows.md (Italian)

* New translations installing-mods.md (Italian)

* New translations crash-reports.md (Italian)

* New translations uploading-logs.md (Italian)

* New translations updating-fabric.md (Italian)

* New translations damage-types.md (Italian)

* New translations custom.md (Italian)

* New translations introduction-to-fabric-and-modding.md (Italian)

* New translations setting-up-a-development-environment.md (Italian)

* New translations contributing.md (Italian)

* New translations damage-types.md (Portuguese, Brazilian)

---------

Co-authored-by: Calum H <[email protected]>
  • Loading branch information
FabricMCBot and IMB11 authored Jul 11, 2024
1 parent 00faaf0 commit b58808a
Show file tree
Hide file tree
Showing 89 changed files with 2,908 additions and 640 deletions.
28 changes: 14 additions & 14 deletions translated/it_it/contributing.md
Original file line number Diff line number Diff line change
Expand Up @@ -51,8 +51,8 @@ Se vuoi sviluppare localmente, dovrai installare [Git](https://git-scm.com/).
Dopo di che, clona la tua fork della repository con:

```sh
# assicurati di sostituire "nome-utente" con il tuo nome utente
git clone https://github.com/nome-utente/fabric-docs.git
# make sure to replace "your-username" with your actual username
git clone https://github.com/your-username/fabric-docs.git
```

#### <Badge type="tip">localmente</Badge> Installare le Dipendenze {#install-dependencies}
Expand Down Expand Up @@ -125,7 +125,7 @@ Framework si riferisce alla struttura interna del sito, ogni pull request che mo

Dovresti davvero fare pull request riguardanti il framework solo dopo esserti consultato con il team della documentazione nel [Discord di Fabric](https://discord.gg/v6v4pMv) o tramite un'issue.

::: info
:::info
Modificare i file nella sidebar e la configurazione della barra di navigazione non conta come pull request riguardante il framework.
:::

Expand All @@ -147,13 +147,13 @@ Ricordati anche di aggiungere il tuo nome utente GitHub ad `authors` nel frontma

```md
---
title: Titolo della Pagina
description: Questa è la descrizione della pagina.
title: Title of the Page
description: This is the description of the page.
authors:
- nome-utente
- your-username
---

# Titolo della Pagina {#title-of-the-page}
# Title of the Page {#title-of-the-page}

...
```
Expand All @@ -163,7 +163,7 @@ authors:
Ogni intestazione deve avere un'ancora, che viene utilizzata per collegarsi a quell'intestazione:

```md
# Questa È un'Intestazione {#questa-e-un-intestazione}
# This Is a Heading {#this-is-a-heading}
```

L'ancora deve usare caratteri minuscoli, numeri e trattini.
Expand Down Expand Up @@ -225,18 +225,18 @@ Per esempio, per inserire un link alla pagina `/players/index.md` dalla pagina `
::: code-group

```md:no-line-numbers [✅ Correct]
Questo è un link relativo!
[Pagina](../players/index)
This is a relative link!
[Page](../players/index)
```

```md:no-line-numbers [❌ Wrong]
Questo è un link assoluto.
[Pagina](/players/index)
This is an absolute link.
[Page](/players/index)
```

```md:no-line-numbers [❌ Wrong]
Questo link relativo ha l'estensione del file.
[Pagina](../players/index.md)
This relative link has the file extension.
[Page](../players/index.md)
```

:::
40 changes: 20 additions & 20 deletions translated/it_it/develop/codecs.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,15 @@ authors:
- Syst3ms
---

# Codec
# Codec {#codecs}

Un codec è un sistema per serializzare facilmente oggetti Java, ed è incluso nella libreria DataFixerUpper (DFU) di Mojang, che è inclusa in Minecraft. Nel contesto del modding essi possono essere usati come un'alternativa a GSON e Jankson quando si leggono e si scrivono file json personalizzati, anche se hanno cominciato a diventare sempre più rilevanti, visto che Mojang sta riscrivendo molto suo codice in modo che usi i Codec.

I Codec vengono usati assieme a un'altra API da DFU, `DynamicOps`. Un codec definisce la struttura di un oggetto, mentre i dynamic ops vengono usati per definire un formato da cui e a cui essere serializzato, come json o NBT. Questo significa che qualsiasi codec può essere usato con qualsiasi dynamic ops, e viceversa, permettendo una grande flessibilità.

## Usare i Codec
## Usare i Codec {#using-codecs}

### Serializzazione e Deserializzazione
### Serializzazione e Deserializzazione {#serializing-and-deserializing}

L'utilizzo basilare di un codec è serializzare e deserializzare oggetti da e a un formato specifico.

Expand Down Expand Up @@ -51,13 +51,13 @@ BlockPos pos = result.resultOrPartial(LOGGER::error).orElseThrow();
LOGGER.info("Deserialized BlockPos: {}", pos);
```

### Codec Predefiniti
### Codec Predefiniti {#built-in-codecs}

Come menzionato in precedenza, Mojang ha già definito codec per tante classi Java vanilla e standard, incluse, ma non solo, `BlockPos`, `BlockState`, `ItemStack`, `Identifier`, `Text`, e `Pattern` regex. I Codec per le classi di Mojang si trovano solitamente come attributi static chiamati `CODEC` della classe stessa, mentre molte altre sono mantenute nella classe `Codecs`. Bisogna anche sottolineare che tutte le registry vanilla contengono un metodo `getCodec()`, per esempio, puoi usare `Registries.BLOCK.getCodec()` per ottenere un `Codec<Block>` che serializza all'id del blocco e viceversa.

L'API stessa dei Codec contiene anche alcuni codec per tipi primitivi, come `Codec.INT` e `Codec.STRING`. Queste sono disponibili come statici nella classe `Codec`, e sono solitamente usate come base per codec più complessi, come spiegato sotto.

## Costruire Codec
## Costruire Codec {#building-codecs}

Ora che abbiamo visto come usare i codec, vediamo come possiamo costruircene di nostri. Supponiamo di avere la seguente classe, e di voler deserializzare le sue istanze da file json:

Expand Down Expand Up @@ -97,7 +97,7 @@ Possiamo creare un codec per questa classe mettendo insieme tanti codec più pic

Possiamo ottenere il primo dal codec primitivo nella classe `Codec` menzionato in precedenza, nello specifico `Codec.INT`. Mentre il secondo può essere ottenuto dalla registry `Registries.ITEM`, che ha un metodo `getCodec()` che restituisce un `Codec<Item>`. Non abbiamo un codec predefinito per `List<BlockPos>`, ma possiamo crearne uno a partire da `BlockPos.CODEC`.

### Liste
### Liste {#lists}

`Codec#listOf` può essere usato per creare una versione lista di qualsiasi codec:

Expand All @@ -107,7 +107,7 @@ Codec<List<BlockPos>> listCodec = BlockPos.CODEC.listOf();

Bisogna sottolineare che i codec creati così verranno sempre deserializzati a un'`ImmutableList`. Se invece ti servisse una lista mutabile, puoi usare [xmap](#tipi-convertibili-mutualmente-e-tu) per convertirla ad una durante la deserializzazione.

### Unire i Codec per Classi Simili ai Record
### Unire i Codec per Classi Simili ai Record {#merging-codecs-for-record-like-classes}

Ora che abbiamo codec separati per ciascun attributo, possiamo combinarli a formare un singolo codec per la nostra classe usando un `RecordCodecBuilder`. Questo suppone che la nostra classe abbia un costruttore che contiene ogni attributo che vogliamo serializzare, e che ogni attributo ha un metodo getter corrispondente. Questo lo rende perfetto per essere usato assieme ai record, ma può anche essere usato con classi regolari.

Expand All @@ -126,7 +126,7 @@ Ogni linea nel gruppo specifica un codec, il nome di un attributo, e un metodo g
Puoi anche usare `Codec#optionalFieldOf` in questo contesto per rendere un attributo opzionale, come spiegato nella sezione [Attributi Opzionali](#attributi-opzionali).
### MapCodec, Da Non Confondere Con Codec&lt;Map&gt; {#mapcodec}
### MapCodec, Da Non Confondere Con Codec&amp;lt;Map&amp;gt; {#mapcodec}
La chiamata a `Codec#fieldOf` convertirà un `Codec<T>` in un `MapCodec<T>`, che è una variante, ma non una diretta implementazione di `Codec<T>`. I `MapCodec`, come suggerisce il loro nome garantiscono la serializzazione a una mappa chiave-valore, o al suo equivalente nella `DynamicOps` usata. Alcune funzioni ne potrebbero richiedere uno invece di un codec normale.
Expand All @@ -146,7 +146,7 @@ Ma quando viene convertito in un `MapCodec<BlockPos>` usando `BlockPos.CODEC.fie

Anche se i Map Codec vengono più frequentemente usati per essere uniti ad altri Map Codec per costruire un codec per l'intero insieme di attributi di una classe, come spiegato nella sezione [Unire i Codec per Classi simili ai Record](#unire-i-codec-per-classi-simili-ai-record) sopra, essi possono anche essere ritrasformati in codec normali usando `MapCodec#codec`, che darà lo stesso risultato di incapsulare il loro valore di input.
#### Attributi Opzionali
#### Attributi Opzionali {#optional-fields}
`Codec#optionalFieldOf` può essere usato per create una mappa codec opzionale. Esso, quando l'attributo indicato non è presente nel container durante la deserializzazione, verrà o deserializzato come un `Optional` vuoto oppure con un valore predefinito indicato.

Expand All @@ -162,17 +162,17 @@ Nota che gli attributi opzionali ignoreranno silenziosamente qualsiasi errore ch

**A partire da 1.20.2**, Minecraft stesso (non DFU!) fornisce `Codecs#createStrictOptionalFieldCodec`, che fallisce del tutto nel deserializzare se il valore dell'attributo non è valido.
### Costanti, Vincoli, e Composizione
### Costanti, Vincoli, e Composizione {#constants-constraints-composition}
#### Unità
#### Unità {#unit}
`Codec.unit` può essere usato per creare un codec che verrà sempre deserializzato a un valore costante, indipendentemente dall'input. Durante la serializzazione, non farà nulla.

```java
Codec<Integer> theMeaningOfCodec = Codec.unit(42);
```

#### Intervalli Numerici
#### Intervalli Numerici {#numeric-ranges}

`Codec.intRange` e compagnia, `Codec.floatRange` e `Codec.doubleRange` possono essere usati per creare un codec che accetta soltanto valori numerici all'interno di un intervallo **inclusivo** specificato. Questo si applica sia alla serializzazione sia alla deserializzazione.
Expand All @@ -181,7 +181,7 @@ Codec<Integer> theMeaningOfCodec = Codec.unit(42);
Codec<Integer> amountOfFriendsYouHave = Codec.intRange(0, 2);
```
#### Coppia
#### Coppia {#pair}
`Codec.pair` unisce due codec, `Codec<A>` e `Codec<B>`, in un `Codec<Pair<A, B>>`. Tieni a mente che funziona correttamente soltanto con codec che serializzano a un attributo specifico, come [MapCodec convertiti](#mapcodec) oppure [Codec di Record](#unire-i-codec-per-classi-simili-ai-record).
Il codec risultante serializzerà a una mappa contenente gli attributi di entrambi i codec usati.
Expand Down Expand Up @@ -209,12 +209,12 @@ Restituirà il seguente json:
}
```
#### Either
#### Either {#either}
`Codec.either` unisce due codec, `Codec<A>` e `Codec<B>`, in un `Codec<Either<A, B>>`. Il codec risultante tenterà, durante la deserializzazione, di usare il primo codec, e _solo se quello fallisce_, tenterà di usare il secondo.
Se anche il secondo fallisse, l'errore del _secondo_ codec verrà restituito.

#### Mappe
#### Mappe {#maps}

Per gestire mappe con chiavi arbitrarie, come `HashMap`, `Codec.unboundedMap` può essere usato. Questo restituisce un `Codec<Map<K, V>>` per un dato `Codec<K>` e `Codec<V>`. Il codec risultante serializzerà a un oggetto json oppure a qualsiasi equivalente disponibile per il dynamic ops corrente.

Expand Down Expand Up @@ -242,9 +242,9 @@ Questo restituirà il json seguente:
Come puoi vedere, questo funziona perché `Identifier.CODEC` serializza direttamente a un valore di tipo stringa. Un effetto simile può essere ottenuto per oggetti semplici che non serializzano a stringhe usando [xmap e compagnia](#tipi-convertibili-mutualmente-e-tu) per convertirli.
### Tipi Convertibili Mutualmente e Tu
### Tipi Convertibili Mutualmente e Tu {#mutually-convertible-types}
#### `xmap`
#### `xmap` {#xmap}
Immagina di avere due classi che possono essere convertite l'una nell'altra e viceversa, ma che non hanno un legame gerarchico genitore-figlio. Per esempio, un `BlockPos` vanilla e un `Vec3d`. Se avessimo un codec per uno, possiamo usare `Codec#xmap` per creare un codec per l'altro specificando una funzione di conversione per ciascuna direzione.

Expand All @@ -265,7 +265,7 @@ Codec<BlockPos> blockPosCodec = Vec3d.CODEC.xmap(
// nella tua chiamata ad `xmap`.
```
#### flatComapMap, comapFlatMap, e flatXMap
#### flatComapMap, comapFlatMap, e flatXMap {#flatcomapmap-comapflatmap-flatxmap}
`Codec#flatComapMap`, `Codec#comapFlatMap` e `flatXMap` sono simili a xmap, ma permettono a una o a entrambe le funzioni di conversione di restituire un DataResult. Questo è utile nella pratica perché un'istanza specifica di un oggetto potrebbe non essere sempre valida per la conversione.

Expand Down Expand Up @@ -301,7 +301,7 @@ Anche se questi metodi sono molto d'aiuto, i loro nomi possono confondere un po'
| `Codec<A>#flatComapMap` | Sì | No |
| `Codec<A>#flatXMap` | No | No |

### Dispatch della Registry
### Dispatch della Registry {#registry-dispatch}

`Codec#dispatch` ci permette di definire una registry di codec e di fare dispatch ad uno di essi in base al valore di un attributo nei dati serializzati. Questo è molto utile durante la deserializzazione di oggetti che hanno attributi diversi a seconda del loro tipo, ma che rappresentano pur sempre la stessa cosa.

Expand Down Expand Up @@ -348,7 +348,7 @@ Il nostro nuovo codec serializzerà fagioli a json così, prendendo solo attribu
}
```

### Codec Ricorsivi
### Codec Ricorsivi {#recursive-codecs}

A volte è utile avere un codec che utilizza _sé stesso_ per decodificare attributi specifici, per esempio quando si gestiscono certe strutture dati ricorsive. Nel codice vanilla, questo è usato per gli oggetti `Text`, che potrebbero contenere altri `Text` come figli. Un codec del genere può essere costruito usando `Codec#recursive`.

Expand Down
2 changes: 1 addition & 1 deletion translated/it_it/develop/commands/arguments.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ title: Parametri dei Comandi
description: Impara come creare comandi con parametri complessi.
---

# Parametri dei Comandi
# Parametri dei Comandi {#command-arguments}

La maggior parte dei comandi usa i parametri. A volte possono essere opzionali, il che significa che se non viene fornito quel parametri, il comando verrà eseguito comunque. Ogni nodo può avere tipi di parametri multipli, ma ricorda che c'è una possibilità di ambiguità, che dovrebbe essere evitata.

Expand Down
28 changes: 14 additions & 14 deletions translated/it_it/develop/commands/basics.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,13 +17,15 @@ authors:
- xpple
---

# Creare Comandi
# Creare Comandi {#creating-commands}

Creare comandi può permettere a uno sviluppatore di mod di aggiungere funzionalità che possono essere usate attraverso un comando. Questo tutorial ti insegnerà come registrare comandi e qual è la struttura generale dei comandi di Brigadier.

:::info
Brigadier è un parser e un dispatcher di comandi scritto da Mojang per Minecraft. È una libreria comandi basata su una gerarchia dove costruisci un albero di comandi e parametri. Brigadier è open-source: <https://github.com/Mojang/brigadier>
:::
::: info
Brigadier is a command parser and dispatcher written by Mojang for Minecraft. It is a tree-based command library where
you build a tree of commands and arguments.

Brigadier è open-source: https://github.com/Mojang/brigadier

## L'interface `Command`

Expand All @@ -43,7 +45,7 @@ Command<ServerCommandSource> command = context -> {
L'intero può essere considerato il risultato del comando. Di solito valori minori o uguali a zero indicano che un comando è fallito e non farà nulla. Valori positivi indicano che il comando ha avuto successo e ha fatto qualcosa. Brigadier fornisce una costante per indicare
il successo; `Command#SINGLE_SUCCESS`.

### Cosa Può Fare la `ServerCommandSource`?
### Cosa Può Fare la `ServerCommandSource`? {#what-can-the-servercommandsource-do}

Una `ServerCommandSource` fornisce del contesto aggiuntivo dipendente dall'implementazione quando un comando viene eseguito. Questo include la possibilità di ottenere l'entità che ha eseguito il comando, il mondo in cui esso è stato eseguito o il server su cui è stato eseguito.

Expand Down Expand Up @@ -92,7 +94,7 @@ Se vuoi, puoi anche assicurarti che un comando venga registrato solo sotto circo

@[code lang=java highlight={2} transcludeWith=:::2](@/reference/latest/src/main/java/com/example/docs/command/FabricDocsReferenceCommands.java)

### Requisiti dei Comandi
### Requisiti dei Comandi {#command-requirements}

Immagina di avere un comando e vuoi che solo gli operatori lo possano eseguire. Questo è dove il metodo `requires()` entra in gioco. Il metodo `requires()` ha un solo argomento `Predicate<S>` che fornirà una `ServerCommandSource` con cui testare e determinare se la `CommandSource` può eseguire il comando.

Expand All @@ -102,7 +104,7 @@ Questo comando verrà eseguito solo se la fonte del comando è un operatore di l

Questo ha l'effetto collaterale di non mostrare il comando se si completa con tab a nessuno eccetto operatori di livello 2. Inoltre è il motivo per cui non puoi completare molti dei comandi con tab senza abilitare i comandi.

### Sotto Comandi
### Sotto Comandi {#sub-commands}

Per aggiungere un sotto comando, devi registrare il primo nodo letterale del comando normalmente. Per avere un sotto comando, devi aggiungere il nodo letterale successivo al nodo esistente.

Expand All @@ -112,23 +114,21 @@ Similarmente agli argomenti, i nodi dei sotto comandi possono anch'essi essere o

@[code lang=java highlight={2,8} transcludeWith=:::8](@/reference/latest/src/main/java/com/example/docs/command/FabricDocsReferenceCommands.java)

## Comandi Lato Client
## Comandi Lato Client {#client-commands}

L'API di Fabric ha un `ClientCommandManager` nel package `net.fabricmc.fabric.api.client.command.v2` che può essere usato per registrare comandi lato client. Il codice dovrebbe esistere solo nel codice lato client.

@[code lang=java transcludeWith=:::1](@/reference/latest/src/client/java/com/example/docs/client/command/FabricDocsReferenceClientCommands.java)

## Reindirizzare Comandi
## Reindirizzare Comandi {#command-redirects}

I comandi reindirizzati - anche noti come alias - sono un modo di reindirizzare la funzionalità di un comando a un altro. Questo è utile quando vuoi cambiare il nome di un comando, ma vuoi comunque supportare il vecchio nome.

@[code lang=java transcludeWith=:::12](@/reference/latest/src/client/java/com/example/docs/client/command/FabricDocsReferenceClientCommands.java)

## Domande Frequenti (FAQ)

<br>

### Perché il Mio Codice Non Viene Compilato?
### Perché il Mio Codice Non Viene Compilato? {#why-does-my-code-not-compile}

- Catturare o lanciare una `CommandSyntaxException` - `CommandSyntaxException` non è una `RuntimeException`. Se la lanci, dovresti farlo in metodi che lanciano una `CommandSyntaxException` nelle firme dei metodi, oppure dovresti catturarla.
Brigadier gestirà le eccezioni controllate e ti inoltrerà il messaggio d'errore effettivo nel gioco.
Expand All @@ -140,7 +140,7 @@ I comandi reindirizzati - anche noti come alias - sono un modo di reindirizzare

- Un Command dovrebbe restituire un intero - Quando registri comandi, il metodo `executes()` accetta un oggetto `Command`, che è solitamente una lambda. La lambda dovrebbe restituire un intero, anziché altri tipi.

### Posso Registrare Comandi al Runtime?
### Posso Registrare Comandi al Runtime? {#can-i-register-commands-at-runtime}

::: warning
You can do this, but it is not recommended. You would get the `CommandManager` from the server and add anything commands
Expand All @@ -151,7 +151,7 @@ Dopo averlo fatto, devi nuovamente inviare l'albero di comandi a ogni giocatore
Questo è necessario perché il client mantiene una cache locale dell'albero dei comandi che riceve durante il login (o quando i pacchetti per operatori vengono mandati) per suggerimenti locali e messaggi di errore ricchi.
:::

### Posso De-Registrare Comandi al Runtime?
### Posso De-Registrare Comandi al Runtime? {#can-i-unregister-commands-at-runtime}

::: warning
You can also do this, however, it is much less stable than registering commands at runtime and could cause unwanted side
Expand Down
2 changes: 1 addition & 1 deletion translated/it_it/develop/commands/suggestions.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ authors:
- IMB11
---

# Suggerimenti dei Comandi
# Suggerimenti dei Comandi {#command-suggestions}

Minecraft ha un potente sistema di suggerimento comandi che viene usato in molti posti, come nel comando `/give`. Questo sistema ti permette di suggerire valori per argomenti dei comandi all'utente, da cui possono poi selezionare - è un ottimo modo per rendere i tuoi comandi più user-friendly ed ergonomici.

Expand Down
Loading

0 comments on commit b58808a

Please sign in to comment.