← All articles

Minecraft Custom Potion Guide

A custom potion is a clean way to hand players a story item without mods: a healing draught, faction elixir, ritual flask, event bottle, or dangerous alchemical sample.

Open builder

What the tool builds

The builder outputs a ready /give command for potion, splash_potion, and lingering_potion. On one page you configure the base potion, extra effects, bottle color, lore, CustomModelData, and the syntax that matches your server version.

Base potion and custom effects

The base potion field accepts vanilla IDs such as swiftness, long_regeneration, or strong_healing. That gives the bottle its built-in foundation, while the custom effects block adds precise tuning for duration, level, particles, icon, and ambient.

potion_contents={
  potion:"minecraft:swiftness",
  custom_effects:[
    {id:"minecraft:night_vision",duration:600,amplifier:0}
  ],
  custom_color:7173375
}

Version split

Since Minecraft 1.20.5, items use Data Components. In practice that gives custom potions two common formats:

/give @p minecraft:potion[potion_contents={potion:"minecraft:healing"}] 1
/give @p minecraft:potion{Potion:"minecraft:healing"} 1

Why legacy is trickier

Old potion effects are stored through numeric IDs. The tool hides that translation step: you pick readable effect names like speed and slow_falling, and the builder injects the matching legacy values when they are supported.

Color, lore, and presentation

The same mechanical effect package can feel completely different depending on presentation. Bottle color changes the silhouette in inventory, lore adds narrative context, and CustomModelData lets you connect the potion to a special model or icon in your resource pack.

How to use the builder

  1. Choose the syntax that matches your server version.
  2. Pick the bottle type and a base potion if you need one.
  3. Add one or more custom effects with duration and level.
  4. Optionally enable bottle color, lore, and CustomModelData.
  5. Copy the finished /give command into console or a command block.

Practical ideas