Potion Mechanics

Quick rating

Community listing page, reviews here may not be monitored by the author.

Potion Mechanics

No reviews yet

Multi-step potion upgrades with echo and amethyst shards, hidden particles, comparator signals, and custom attribute potions.

Mod Loaders
Minecraft
26.3 26.2 26.1

About

Description

🇬🇧 English

Potion Mechanics

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.

✨ Features

  • Effect levels above the vanilla cap, global and per effect (maxLevelAll, maxLevel).
  • Effect durations beyond vanilla limits, global and per effect (maxDurationAll, maxDuration).
  • Three brewing ingredients that upgrade an already brewed potion step by step.
  • A brewing ingredient that hides effect particles while keeping the HUD icon.
  • A comparator output mode that pulses when a brewing stand finishes brewing.
  • Custom attribute potions defined in JSON, e.g. a Potion of Reach brewed from an Eye of Ender.
  • /potion reload and /potion gamerule apply changes instantly and save them to disk.
  • Works for regular, splash and lingering potions where applicable.
  • Server-side only: unmodded clients connect seamlessly.

⚗️ Upgrading Brewed Potions

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.

🧪 Custom Attribute Potions

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:

  • Reach: Awkward Potion + Eye of Ender
  • Haste: Awkward Potion + Gold Block

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.

🚦 Comparator Signal

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.

🛠️ Configuration

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.

⌨️ Commands

/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.

🧩 Compatibility & Technical Notes

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

Potion Mechanics расширяет ванильную систему зелий, оставаясь полностью дата-драйвен: уровни эффектов выше ванильных пределов, увеличенные длительности, ингредиенты улучшения уже сваренных зелий, зелья без частиц, настраиваемый редстоун-сигнал варочной стойки и полностью кастомные зелья с атрибутами — например, зелье дальности взаимодействия.

Мод не регистрирует новые предметы, блоки, сущности и интерфейсы, используя только ванильные зелья, эффекты и компоненты данных. Он полностью серверный — игроки могут заходить без установки модов.

✨ Возможности

  • Уровни эффектов выше ванильного предела: общий и индивидуальные (maxLevelAll, maxLevel).
  • Длительности сверх ванильных ограничений: общие и индивидуальные (maxDurationAll, maxDuration).
  • Три ингредиента улучшения уже сваренного зелья по шагам.
  • Ингредиент скрытия частиц с сохранением иконки в интерфейсе.
  • Режим компаратора «импульс при завершении варки».
  • Кастомные зелья с атрибутами из JSON, например зелье дальности на Оке Эндера.
  • /potion reload и /potion gamerule применяют изменения мгновенно и сохраняют на диск.
  • Поддержка обычных, взрывных и оседающих зелий там, где применимо.
  • Клиентам ничего скачивать не нужно: совместимо с чистым ванильным клиентом.

⚗️ Улучшение сваренных зелий

Ванильная варка не изменяется. Сначала свари обычное зелье обычными ингредиентами до ванильного максимума, затем улучшай его на стойке:

Ингредиент Действие
Эхо-осколок Повышает уровень зелья на шаг
Аметистовый осколок Увеличивает длительность на шаг (по умолчанию +60 с)
Осколок призмарина / Кристалл Скрывает частицы эффекта, сохраняя иконку в HUD

Одна варка — один шаг. При достижении предела стойка отказывается принимать ингредиент вместо бесконечного улучшения, поэтому материалы нельзя потратить впустую. Улучшения сочетаются в любом порядке: уровень, время, частицы.

🧪 Кастомные зелья с атрибутами

JSON в config/potionmechanics/attribute_potions/ описывает зелья из модификаторов атрибутов — например, зелье дальней руки. Каждый файл выбирает ванильный эффект-носитель только ради иконки и таймера, плюс опциональный рецепт варки. При первом запуске создаются два примера:

  • Reach (Дальность): Неловкое зелье + Око Эндера
  • Haste (Спешка): Неловкое зелье + Золотой блок

Модификаторы переживают релог и смерть до истечения срока действия, затем корректно снимаются автоматически.

🚦 Сигнал компаратора

По умолчанию стойка сообщает компаратору о завершении варки: короткий импульс в момент готовности, иначе ноль. Длительность и сила настраиваются, режим 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.