[MC-6551] Creative Menu potion values are not the same as when brewed (issue redo) Created: 07/Jan/13  Updated: 07/Jul/17  Resolved: 01/Mar/13

Status: Resolved
Project: Minecraft: Java Edition
Component/s: None
Affects Version/s: Minecraft 1.4.7, Snapshot 13w09a
Fix Version/s: Snapshot 13w09c

Type: Bug
Reporter: UncleMion Assignee: [Mojang] Jeb (Jens Bergensten)
Resolution: Fixed Votes: 3
Labels: potion
Environment:

Windows XP (x86) version 5.1, Java 1.6.0_31


Attachments: Text File potionlistgen.txt    
Issue Links:
Duplicate
is duplicated by MC-1517 Speed and Fire Resist potions Data va... Resolved
is duplicated by MC-1705 Creative Menu potion values are odd, ... Resolved
Relates
relates to MC-42841 Incorrect Creative Instant Health Dam... Resolved
CHK:
Confirmation Status: Confirmed
Game Mode: Creative

 Description   

(Note - I already reported this issue, but made the mistake of saying it was a duplicate of MC-1517. It's related to that issue but doesn't really duplicate it, also my issue provides a lot more information about the problem.)

ISSUE:

When you take a Potion from the Creative Menu brewing tab, its numeric value is larger than it should be. The bits that don't have to do with the potion effect requirements are all set to 1.

This doesn't seem to affect using the Potions, but since some of the bits set to 1 control whether you can add more ingredients, you can do some odd brewings.

I've also noticed that the potions used by the Witch use the larger "creative menu" potion values instead of their brewed potion values. It'd be good to fix that as well.

HOW TO CONFIRM:

1) Get a 3-minute Potion of Fire Resistance from the Creative Menu.
2) Put it in a Brewing Stand.
3) Add a Ghast Tear.

WHAT I EXPECT:
Nothing happens. Ghast Tear shouldn't brew with a finished potion.

WHAT I GET:
It brews a 22-second Potion of Regen II.

LIKELY CAUSE & FIX:

I took a look at (MCP)ItemPotion.getSubItems(), which generates the set of Potion items for the brewing tab. Currently it loops through the possible values 0 - 32767, adding values that create potions to a List indexed by the potion effect. This means that, if more than one potion value produces the same effect, the list will end up with the largest potion value for that particular effect - hence all the "don't-care" bits are set.

I've attached a piece of code for you to try in (MCP)ItemPotion.getSubItems(). It will account for missing Healing/Harming potions and use the smallest value for each potion effect.


Generated at Sun Jan 12 12:11:34 UTC 2025 using Jira 9.12.2#9120002-sha1:301bf498dd45d800842af0b84230f1bb58606c13.