mojira.dev
MC-226214

Stripped Hyphae and Stems have different map colors despite similar texture

The bug

For Warped and Crimson Stems and Hyphae the respective stripped variants look the same in gameplay, but have different colors on the map.

Expected:
As the textures of stripped stems and stripped hyphae look the same, I would expect them to have the same color on the map

How to reproduce

Go to an open, flat space. The following commands fill a small area to the south-east at the level beneath the player feet with warped/crimson hyphae/stems. Observe colors on a map. Compare to in world textures and colors.

/fill ~ ~-1 ~ ~4 ~-1 ~4 minecraft:stripped_warped_hyphae
/fill ~5 ~-1 ~ ~9 ~-1 ~4 minecraft:stripped_warped_stem[axis=z]
/fill ~ ~-1 ~6 ~4 ~-1 ~11 minecraft:stripped_crimson_hyphae
/fill ~5 ~-1 ~6 ~9 ~-1 ~11 minecraft:stripped_crimson_stem[axis=z]

 

Code analysis

Code analysis by @unknown can be found in this comment.

Related to

MC-175228 Many stripped wood and log blocks have incorrect/inconsistent map colors

Linked issues

Attachments

Comments 10

The bug is present in 21w19a.

I can not test in 21w20a as that version crashes on my PC due to an unrelated bug.

Not really a duplicate, as in this case stripped versions of different blocks have the same color in-game.

I am able to confirm this behavior in both 1.17.1 and 21w39a.

Can confirm this in 1.18 Pre-release 6. I've also attached an analysis screenshot that compares the colors up close for a visual comparison.

[media]

It's not just a similar texture that's used, it's the exact same texture file.

I can confirm this behavior in 1.18 Release Candidate 3.

Here's a code analysis of this issue. The following is based on a decompiled version of Minecraft 1.17.1 using MCP-Reborn.

net.minecraft.world.level.block.Blocks.java

public class Blocks {
   ...
   public static final Block STRIPPED_WARPED_STEM = register("stripped_warped_stem", netherStem(MaterialColor.WARPED_STEM));
   ...
   public static final Block STRIPPED_WARPED_HYPHAE = register("stripped_warped_hyphae", new RotatedPillarBlock(BlockBehaviour.Properties.of(Material.NETHER_WOOD, MaterialColor.WARPED_HYPHAE).strength(2.0F).sound(SoundType.STEM)));
   ...
   public static final Block STRIPPED_CRIMSON_STEM = register("stripped_crimson_stem", netherStem(MaterialColor.CRIMSON_STEM));
   ...
   public static final Block STRIPPED_CRIMSON_HYPHAE = register("stripped_crimson_hyphae", new RotatedPillarBlock(BlockBehaviour.Properties.of(Material.NETHER_WOOD, MaterialColor.CRIMSON_HYPHAE).strength(2.0F).sound(SoundType.STEM)));
   ...

If we look at the above class, we can see that STRIPPED_WARPED_STEM, STRIPPED_WARPED_HYPHAE, STRIPPED_CRIMSON_STEM, and STRIPPED_CRIMSON_HYPHAE all use different MaterialColors. (For context, MaterialColor is the color that blocks appear as on maps). Below is a table that states exactly what MaterialColors each of these blocks use, if it wasn't immediately clear when looking at the above class.

Block

MaterialColor

Hexadecimal of
MaterialColor

STRIPPED_WARPED_STEM

WARPED_STEM

#3A8E8C

STRIPPED_WARPED_HYPHAE

WARPED_HYPHAE

#562C3E

STRIPPED_CRIMSON_STEM

CRIMSON_STEM

#943F61

STRIPPED_CRIMSON_HYPHAE

CRIMSON_HYPHAE

#5C191D

Can confirm in 1.18.1.

Can confirm in 1.18.2.

Can confirm in 1.19.

Can confirm in 1.19.1.

Gulbaru

(Unassigned)

Confirmed

Maps

1.16.5, 21w20a, 1.17.1, 21w39a, 1.18 Pre-release 6, ..., 1.19.1, 1.19.4, 23w18a, 1.20.1, 1.20.4

Retrieved