🇮🇹 Italiano (Italian)
🇮🇹 Italiano (Italian)
Aspetto
🇮🇹 Italiano (Italian)
🇮🇹 Italiano (Italian)
Aspetto
Questa pagina si applica alla versione:
1.21.10
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 ExampleModItemTagProvider extends FabricTagProvider.ItemTagProvider {
public ExampleModItemTagProvider(FabricDataOutput output, CompletableFuture<RegistryWrapper.WrapperLookup> registriesFuture) {
super(output, 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(ExampleModItemTagProvider::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(ExampleMod.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.
valueLookupBuilder(SMELLY_ITEMS)
.add(Items.SLIME_BALL)
.add(Items.ROTTEN_FLESH)
.addOptionalTag(ItemTags.DIRT)
.add(Items.OAK_PLANKS)
.forceAddTag(ItemTags.BANNERS)
.setReplace(true);