How can I make a Custom Potion in Minecraft Bedrock Edition?

Solution 1:

Yes

A forewarning: This is a little bit a stretch of the term "potion", as our "potion" will be instantly consumed. This assumes you have a basic knowledge of chain command blocks and conditionals.

Approach

Spawn eggs are one of the most useful things in commands, as they allow us to tell when a player has right-clicked/tapped. We will now know when the player "drinks" our potion whenever our entitiy has spawned.

Our "Potion"

Let's get a bat spawn egg and name it "Blackout Potion". When a spawn egg is given a custom name, the entity it spawns is given that name. Now that we've established the specifics, it's easy going from here.

How

Place a repeating always active command block with the command:

effect @e[type=bat,name="Blackout Potion"] invisibility 9999 255 true

We do this as not to see the entity, as this will hide the death animation when we /kill it later. Notice we skip a /testfor - We have condensed it as this command will only return true if we find a bat by this name. Now a chain conditional always active command block with the command:

execute @e[type=bat,name="Blackout Potion"] ~ ~ ~ effect @p[r=6] night_vision 45 255

We then give this effect to the nearest player within 6 blocks of our entity. Now a chain conditional always active command block with the command:

execute @e[type=bat,name="Blackout Potion"] ~ ~ ~ effect @p[r=6] blindness 45 255

That is my second effect! If you don't know about this easter egg, follow this tutorial and you can see what happens when we mix these effects. What's actually happening here, though? We're merely adding a second effect to our potion. You can have more effects if you want, or just one. Remember the first number is how long each effect lasts, mine is 45 seconds each. The second value is the amplifier. It must be a number 0-255 (i.e. speed 30 0 = Speed I for 30 seconds, night_vision 120 4 = Night Vision V for 2 minutes).
Now a chain conditional always active command block with the command:

kill @e[type=bat,name="Blackout Potion"]

Finally, say goodbye to our bat. He is useless now as we have used all the commands on him that we want.

Notes

  • Use different entities to have different color potions! You have a lot of options.
  • This works best with gamerule domobdrops set to false, as it gives you more options. Don't want to? Just make sure the mob you use doesn't drop items (i.e. no cows, no zombies). Don't worry about XP - that only drops if a player kills a mob.
  • Named spawn eggs are so useful for so many things! Think of all the different things you can do: Custom mobs, traps, structure placements... Use these, so many don't consider this amazing item!

Downsides

  • Instantly consumed
  • Must be pointed at a block to "drink"
  • Doesn't actually look like a potion
  • Death sounds - Squeak! Moo!