Potion Mechanics extends the vanilla potion system while staying completely data-driven: higher effect levels, longer durations, upgrade ingredients for already brewed potions, particle-free potions, a configurable brewing-stand redstone signal, and fully custom attribute potions such as a Potion of Reach.
The mod registers no new items, blocks, entities or GUIs and uses only vanilla potions, effects and data components. It is fully server-side — players can join without installing anything.
maxLevelAll, maxLevel).maxDurationAll, maxDuration)./potion reload and /potion gamerule apply changes instantly and save them to disk.Vanilla brewing is untouched. Brew a normal potion with normal ingredients up to its vanilla maximum, then improve it further in the brewing stand:
| Default Ingredient | Effect |
|---|---|
| Echo Shard | Raises the potion's level by one step |
| Amethyst Shard | Extends the duration by one step (default +60s) |
| Prismarine Shard / Crystals | Hides the effect particles while keeping the HUD icon |
Each upgrade applies one step per brew. Once the configured limit is reached the stand simply refuses the ingredient instead of consuming it, so materials can never be wasted. Upgrades combine freely: raise the level, extend the time, hide the particles — in any order.
JSON files in config/potionmechanics/attribute_potions/ define potions built from attribute modifiers — for example a Potion of Reach granting extra block and entity interaction range. Each definition picks a vanilla carrier effect purely for the HUD icon and countdown, plus optional brewing recipe.
First launch ships two examples:
The carrier effect provides the HUD icon only; the real gameplay comes from temporary attribute modifiers applied server-side and removed automatically — including after relog or death.
By default a brewing stand tells a connected comparator about brewing completion instead of fullness: a short pulse when the current potion finishes, zero otherwise. Duration and strength are configurable, and setting mode to vanilla restores the original fullness behaviour.
config/potionmechanics.json (created automatically, never overwritten):
{
"maxLevelAll": 5,
"maxLevel": {
"minecraft:strength": "-",
"minecraft:speed": 10,
"minecraft:regeneration": 5
},
"maxDurationAll": 960,
"maxDuration": {
"minecraft:strength": 3600,
"minecraft:speed": "-",
"minecraft:regeneration": 1800
},
"levelIngredient": { "enabled": true, "items": ["minecraft:echo_shard"] },
"durationIngredient": { "enabled": true, "items": ["minecraft:amethyst_shard"] },
"noParticlesIngredient": { "enabled": true, "items": ["minecraft:prismarine_shard", "minecraft:prismarine_crystals"] },
"durationStepSeconds": 60,
"comparatorSignal": { "mode": "brew_complete", "pulseTicks": 20, "strength": 15 }
}
"-" means “inherit the global limit”. Values outside their valid range are clamped; broken files degrade to defaults with a log warning instead of disabling the mod.
/potion help
/potion reload
/potion gamerule <parameter> [value]
/potion gamerule maxLevel <effect> [value]
/potion gamerule maxDuration <effect> [value]
/potion attribute list
/potion attribute give <potion> [target]
/potion attribute apply <potion> [target]
Every change made through gamerule is applied immediately and written to the JSON file — no restart required. Invalid values, unknown parameters, unknown effects and unknown items are rejected with a clear message. Brigadier autocompletion works throughout.
Install on the server only; clients need nothing. Levels, durations and hidden particles travel through standard effect packets and data components, so an unmodded client renders everything correctly.
Available for Fabric 1.19.2 - 1.21.11, Forge 1.19.2 - 1.21.11, and NeoForge 1.21.1.
Potion Mechanics расширяет ванильную систему зелий, оставаясь полностью дата-драйвен: уровни эффектов выше ванильных пределов, увеличенные длительности, ингредиенты улучшения уже сваренных зелий, зелья без частиц, настраиваемый редстоун-сигнал варочной стойки и полностью кастомные зелья с атрибутами — например, зелье дальности взаимодействия.
Мод не регистрирует новые предметы, блоки, сущности и интерфейсы, используя только ванильные зелья, эффекты и компоненты данных. Он полностью серверный — игроки могут заходить без установки модов.
maxLevelAll, maxLevel).maxDurationAll, maxDuration)./potion reload и /potion gamerule применяют изменения мгновенно и сохраняют на диск.Ванильная варка не изменяется. Сначала свари обычное зелье обычными ингредиентами до ванильного максимума, затем улучшай его на стойке:
| Ингредиент | Действие |
|---|---|
| Эхо-осколок | Повышает уровень зелья на шаг |
| Аметистовый осколок | Увеличивает длительность на шаг (по умолчанию +60 с) |
| Осколок призмарина / Кристалл | Скрывает частицы эффекта, сохраняя иконку в HUD |
Одна варка — один шаг. При достижении предела стойка отказывается принимать ингредиент вместо бесконечного улучшения, поэтому материалы нельзя потратить впустую. Улучшения сочетаются в любом порядке: уровень, время, частицы.
JSON в config/potionmechanics/attribute_potions/ описывает зелья из модификаторов атрибутов — например, зелье дальней руки. Каждый файл выбирает ванильный эффект-носитель только ради иконки и таймера, плюс опциональный рецепт варки. При первом запуске создаются два примера:
Модификаторы переживают релог и смерть до истечения срока действия, затем корректно снимаются автоматически.
По умолчанию стойка сообщает компаратору о завершении варки: короткий импульс в момент готовности, иначе ноль. Длительность и сила настраиваются, режим vanilla возвращает прежнюю заполненность.
/potion help
/potion reload
/potion gamerule <параметр> [значение]
/potion gamerule maxLevel <эффект> [значение]
/potion gamerule maxDuration <эффект> [значение]
/potion attribute list
/potion attribute give <зелье> [цель]
/potion attribute apply <зелье> [цель]
Устанавливается только на сервер; клиент ничего не требует. Уровни, длительности и скрытые частицы передаются стандартными пакетами эффектов и компонентов данных, поэтому ванильный клиент отображает всё корректно.
Поддерживаются Fabric, Forge и NeoForge на версиях от 1.19.2 до 1.21.11.