🇺🇦 Українська (Ukrainian - Ukraine)
🇺🇦 Українська (Ukrainian - Ukraine)
Зовнішній вигляд
🇺🇦 Українська (Ukrainian - Ukraine)
🇺🇦 Українська (Ukrainian - Ukraine)
Зовнішній вигляд
Ця сторінка написана для версії:
1.21.4
Ця сторінка написана для версії:
1.21.4
ПЕРЕДУМОВИ
Спершу переконайтеся, що ви виконали процес налаштування datagen.
По-перше, створіть власний клас, який розширює FabricTagProvider<T>
, де T
— це тип речей, для яких ви хочете надати теґ. Це ваш постачальник. Тут ми покажемо, як створити теґи Item
, але той самий принцип застосовується і до інших речей. Нехай ваша IDE заповнить необхідний код, а потім замініть параметр конструктора registryKey
на RegistryKey
для вашого типу:
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
Вам знадобиться інший постачальник для кожного типу теґу (наприклад, один FabricTagProvider<EntityType<?>>
і один FabricTagProvider<Item>
).
Щоб завершити налаштування, додайте цього постачальника до своєї DataGeneratorEntrypoint
у методі onInitializeDataGenerator
.
pack.addProvider(FabricDocsReferenceItemTagProvider::new);
Тепер, коли ви створили постачальника, нумо додамо до нього теґ. Спочатку створіть TagKey<T>
:
public static final TagKey<Item> SMELLY_ITEMS = TagKey.of(RegistryKeys.ITEM, Identifier.of(FabricDocsReference.MOD_ID, "smelly_items"));
Потім викличте getOrCreateTagBuilder
всередині методу configure
вашого постачальника. Звідти ви можете додавати окремі предмети, додавати інші теґи або змусити цей теґ замінити вже існуючі теґи.
Якщо ви хочете додати теґ, використовуйте addOptionalTag
, оскільки вміст теґу може не завантажуватися під час створення datagen. Якщо ви впевнені, що теґ завантажено, викличте addTag
.
Щоб примусово додати теґ і ігнорувати несправний формат, використовуйте 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);