I would like to design a texture pack with custom more distinguishable potion colours for each potion type. How do I go about doing this?

I've been able to unpack the .jar file, find the \assets\minecraft\textures\item directory, but I've only found the following potion texture files: potion.png, potion_overlay.png, splash_potion.png, and lingering_potion.png

There doesn't seem to be any textures specific to each type of potion. Is the colouration of each potion type designated in the game code or a json file somewhere? Is a data pack required as opposed to a texture pack?

  • I'm making a data pack that will let you customize the default potion colours. Jul 5, 2021 at 3:38

3 Answers 3


Unfortunately, the default potion colours are used by adding colour filters to the potion texture you found. The default potion colours are hardcoded into the game. The only way to change the way the colour filter works is to put an NBT tag on the potion item with a number representing the colour of the potion. The game automatically changes the colour of the texture to match the number you select.

This tag is called CustomPotionColor, and the formula to find the correct value is (R << 16) + (G << 8) + B.


give @p minecraft:potion{CustomPotionColor:16777215}

The only way to make a colour as the default colour is to set up a system that can detect a potion in your inventory and automatically replace it.

  • this isn't quite what they were asking about. they wanted to change the colors of the potion textures to add more contrast, not make their own custom colors in-game.
    – xTerrene
    Jul 2, 2021 at 3:47
  • @EarthToAccess where does it say contrast? Jul 2, 2021 at 5:37
  • "I would like to design a texture pack with customer more distinguishable potion colours for each potion type." they're not looking to make their own, they want to modify what's already there.
    – xTerrene
    Jul 2, 2021 at 20:14
  • @EarthToAccess Oh, I see. I don't know unfortunately. Jul 2, 2021 at 23:31
  • @EarthToAccess I've changed my answer to reflect that. Jul 4, 2021 at 0:44

this unfortunately is impossible...

...because of the way the textures are handled. like ExpertCoder said, you can create your own custom in-game colors, likewise with leather armor. because of that, Minecraft takes the potion textures (which have a transparent gray texture by default) and applies an "overlay" of sorts to give it the colors it wants. since those colors are coded into the game itself, and not accessible by the player (in a way that doesn't class as a mod), you can't directly edit it.

  • You could set up a system that detects potions and replaces them with one with custom colours. Jul 4, 2021 at 0:37

Yes this is possible, you can overwrite the overlay by adding many layers with the same texture


  "parent": "minecraft:item/generated",
  "textures": {
    "layer0": "minecraft:item/[Your texture]",
    "layer1": "minecraft:item/[Your texture]",
    "layer3": "minecraft:item/[Your texture]"

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .