Зелья — это расходные материалы, которые дают сущности определенный эффект. Игрок может варить зелья, используя Варочную Стойку, или получать их как предметы с помощью различных других игровых механик.
Пользовательские зелья
Так же, как предметы и блоки, зелья необходимо регистрировать.
Создание зелья
Начнем с объявления поля для хранения вашего экземпляра Potion. Мы будем напрямую использовать ModInitializer-реализующий класс для хранения этого.
java
public class FabricDocsReferencePotions implements ModInitializer {
public static final Potion TATER_POTION =
Registry.register(
Registries.POTION,
Identifier.of(FabricDocsReference.MOD_ID, "tater"),
new Potion("tater",
new StatusEffectInstance(
FabricDocsReferenceEffects.TATER,
3600,
0)));1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
Мы передаем экземпляр StatusEffectInstance, который принимает 3 параметра:
RegistryEntry<StatusEffect> type- Эффект. Здесь мы используем наш собственный эффект. В качестве альтернативы вы можете получить доступ к эффектам классического Minecraft через классStatusEffects.int duration- Длительность эффекта в игровых тиках.int amplifier- Усилитель эффекта. Например, Haste II будет иметь усилитель 1.
INFO
Чтобы создать свой собственный эффект зелья, ознакомьтесь с руководством Эффекты.
Регистрация зелья
В нашем инициализаторе мы будем использовать событие FabricBrewingRecipeRegistryBuilder.BUILD для регистрации нашего зелья с помощью метода BrewingRecipeRegistry.registerPotionRecipe.
java
@Override
public void onInitialize() {
FabricBrewingRecipeRegistryBuilder.BUILD.register(builder -> {
builder.registerPotionRecipe(
// Input potion.
Potions.WATER,
// Ingredient
Items.POTATO,
// Output potion.
Registries.POTION.getEntry(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 параметра:
RegistryEntry<Potion> input- Запись реестра для стартового зелья. Обычно это может быть бутылка с водой или мутное зелье.Предмет предмета- Предмет, являющийся основным ингредиентом зелья.RegistryEntry<Potion> output- Результирующая запись реестра зелья.
После регистрации вы сможете сварить зелье «Tater» из картофеля.




