Зілля — це витратні предмети, що надають сутності ефект. Гравець може варити зілля за допомогою варильної стійки або отримати їх як предмети через різні інші ігрові механіки.
Власні зілля
Так само як предмети та блоки, зілля потрібно зареєструвати.
Створення зілля
Почнімо з оголошення поля для тримання вашого екземпляра Potion. Ми будемо безпосередньо використовувати клас, що реалізує ModInitializer тримай це. Зверніть увагу на використання Registry.registerForHolder, оскільки, як і ефекти моба, більшість стандартних методів, які використовують зілля, віддають перевагу їм як голдерам.
java
// :::1
public class ExampleModPotions implements ModInitializer {
public static final Holder<Potion> TATER_POTION =
Registry.registerForHolder(
BuiltInRegistries.POTION,
Identifier.fromNamespaceAndPath(ExampleMod.MOD_ID, "tater"),
new Potion("tater",
new MobEffectInstance(
ExampleModEffects.TATER,
3600,1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
Ми передаємо екземпляр MobEffectInstance, який приймає 3 параметри:
Holder<MobEffect> type— ефект, представлений як голдер. Тут ми використовуємо наш спеціальний ефект. Крім того, ви можете отримати доступ до усталених ефектів через усталений класMobEffects.int duration— тривалість ефекту в ігрових тактах.int amplifier— підсилювач для ефекту. Наприклад, квапливість II мав би підсилювач 1.
INFO
Щоб створити власний ефект зілля, перегляньте посібник ефектів.
Реєстрація зілля
У нашому ініціалізаторі ми будемо використовувати подію FabricBrewingRecipeRegistryBuilder.BUILD, щоб зареєструвати наше зілля за допомогою методу BrewingRecipeRegistry.registerPotionRecipe.
java
@Override
public void onInitialize() {
FabricBrewingRecipeRegistryBuilder.BUILD.register(builder -> {
builder.addMix(
// Input potion.
Potions.WATER,
// Ingredient
Items.POTATO,
// Output potion.
TATER_POTION
);1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
registerPotionRecipe приймає 3 параметри:
Holder<Potion> input— початкове зілля, представлене голдером. Зазвичай це може бути пляшка з водою або незграбне зілля.Item item— предмет, який є основним інгредієнтом зілля.Holder<Potion> output— отримане зілля, представлене голдером.
Після реєстрації ви можете варити зілля Tater з картоплі.





