🇮🇹 Italiano (Italian)
🇮🇹 Italiano (Italian)
Aspetto
🇮🇹 Italiano (Italian)
🇮🇹 Italiano (Italian)
Aspetto
Questa pagina si applica alla versione:
1.21.4
Questa pagina si applica alla versione:
1.21.4
PREREQUISITI
Assicurati di aver prima completato il processo di configurazione della datagen.
Anzitutto, crea la tua classe che extends FabricTagProvider<T>
, dove T
è il tipo di cosa per la quale vuoi fornire un tag. Questo è il tuo fornitore. Qui mostreremo come creare tag di Item
, ma lo stesso principio si applica ad altre cose. Lascia che il tuo IDE compili il codice richiesto, poi sostituisci il parametro registryKey
del costruttore con la RegistryKey
per il tuo tipo:
public class FabricDocsReferenceItemTagProvider extends FabricTagProvider<Item> {
public FabricDocsReferenceItemTagProvider(FabricDataOutput output, CompletableFuture<RegistryWrapper.WrapperLookup> registriesFuture) {
super(output, RegistryKeys.ITEM, registriesFuture);
}
@Override
protected void configure(RegistryWrapper.WrapperLookup wrapperLookup) {
}
}
TIP
Ti servirà un fornitore diverso per ogni tipo di tag (per esempio un FabricTagProvider<EntityType<?>>
e un FabricTagProvider<Item>
).
Per completare la configurazione, aggiungi questo fornitore alla tua DataGeneratorEntrypoint
nel metodo onInitializeDataGenerator
.
pack.addProvider(FabricDocsReferenceItemTagProvider::new);
Ora che hai creato un fornitore, aggiungiamoci un tag. Anzitutto, crea una TagKey<T>
:
public static final TagKey<Item> SMELLY_ITEMS = TagKey.of(RegistryKeys.ITEM, Identifier.of(FabricDocsReference.MOD_ID, "smelly_items"));
Poi, chiama getOrCreateTagBuilder
nel metodo configure
del tuo fornitore. Da lì, puoi aggiungere oggetti individualmente, aggiungere altri tag, o fare in modo che questo tag ne sostituisca di preesistenti.
Se vuoi aggiungere un tag, usa addOptionalTag
, poiché i contenuti del tag potrebbero non essere caricati durante la datagen. Se sei sicuro che il tag sia caricato, chiama addTag
.
Per aggiungere un tag forzatamente ignorando il formato errato, usa forceAddTag
.
getOrCreateTagBuilder(SMELLY_ITEMS)
.add(Items.SLIME_BALL)
.add(Items.ROTTEN_FLESH)
.addOptionalTag(ItemTags.DIRT)
.add(Identifier.ofVanilla("oak_planks"))
.forceAddTag(ItemTags.BANNERS)
.setReplace(true);