-
Bug
-
Resolution: Unresolved
-
None
-
Minecraft 16w04a, Minecraft 1.9, Minecraft 16w14a, Minecraft 1.10.2, Minecraft 16w36a, Minecraft 16w38a, Minecraft 16w39a, Minecraft 16w39b, Minecraft 16w39c, Minecraft 16w40a, Minecraft 16w41a, Minecraft 16w42a, Minecraft 16w43a, Minecraft 16w44a, Minecraft 1.11, Minecraft 16w50a, Minecraft 1.11.1, Minecraft 1.11.2, Minecraft 17w06a, Minecraft 17w13b, Minecraft 17w15a, Minecraft 17w16b, Minecraft 17w17a, Minecraft 17w18b, Minecraft 1.12 Pre-Release 2, Minecraft 1.12.2, Minecraft 18w15a, Minecraft 1.13.1, 1.15.2, 1.16.1, 1.16.5, 1.19.4
-
Confirmed
-
Commands, Particles
-
Low
-
Platform
The bug
A potion with a potion effect that has ShowParticles set to 0b uses always the same color no matter what potion effect is used.
How to reproduce
- Use the following command to give yourself a potion with ShowParticles:1b
/give @p potion{CustomPotionEffects:[{Id:1b,ShowParticles:1b}],Potion:"minecraft:water"}
- Use the following command to give yourself a potion with ShowParticles:0b
/give @p potion{CustomPotionEffects:[{Id:1b,ShowParticles:0b}],Potion:"minecraft:water"}
The reason
The following is based on decompiled version of Minecraft 1.9 using MCP 9.24 beta. All method and class names are the names used in the decompiled version.
The reason why this happens is that the method net.minecraft.potion.PotionUtils.func_185181_a(Collection<PotionEffect>) only calculates the color if the effect shows particles. This is done that way because the value 0 is used to indicate that no particles should be created. A third value should probably be added to indicate whether particle effects should be displayed or not. Another way to solve this could be to have one byte value instead of a boolean for whether or not the particles are ambient which stores a value representing the state, for example:
Value | State |
---|---|
0 | No particles |
1 | Particles |
2 | Ambient particles |
Affected methods
- net.minecraft.entity.EntityLivingBase.updatePotionEffects()
- net.minecraft.client.renderer.entity.RenderTippedArrow.getEntityTexture(EntityTippedArrow)
- is duplicated by
-
MC-83962 Custom tipped arrows with the "ShowParticles:0b" tag appear black
- Resolved
-
MC-117497 Lingering potions and Creepers with ShowParticles set to 0 display black lingering particles
- Resolved
-
MC-120629 Mob effect particles are black when using ShowParticles:0b and creepers not invisible
- Resolved
-
MC-188381 Creepers will emit black effect particles if particles are hidden after exploding
- Resolved
-
MC-216658 You can take over buff effects from exploded creeper.
- Resolved
- relates to
-
MC-258252 Tipped arrow particles use an uncolored tipped arrow overlay
- Open
-
MC-258253 Spawn egg particles use an uncolored spawn egg overlay
- Open
-
MC-85603 Bursting splash and lingering potion particle uses uncolored potion overlay
- Reopened
-
MC-84253 almost all potion and tipped arrows are black
- Resolved