mojira.dev
MC-243022

The Block Tag "mushroom_grow_block" is not plural

The Bug

All other block tags that end in "block", such as "beacon_base_blocks" and "dripstone_replaceable_blocks‌" are plural, but "mushroom_grow_block" is not plural.

Reproduce

  • Get a block that is apart of #mushroom_grow_block like Mycelium

  • Place it

  • Press F3

Observed Result

It is named mushroom_grow_block

Expected Result

It would be named mushroom_grow_blocks

Attachments

Comments 3

I can also confirm this in 1.17.1 and 1.18 Release Candidate 3.

Yep, there definitely appears to be an inconsistency here as every block tag except #minecraft:mushroom_grow_block is pluralized. Here's a code analysis of this issue. The following is based on a decompiled version of Minecraft 1.17.1 using MCP-Reborn.

Code Analysis:

Listed below are all of the block tags in the game that consists of the word "blocks" or "block".

net.minecraft.tags.BlockTags.java

public final class BlockTags {
   ...
   public static final Tag.Named<Block> CORAL_BLOCKS = bind("coral_blocks");
   ...
   public static final Tag.Named<Block> WITHER_SUMMON_BASE_BLOCKS = bind("wither_summon_base_blocks");
   ...
   public static final Tag.Named<Block> WART_BLOCKS = bind("wart_blocks");
   ...
   public static final Tag.Named<Block> BEACON_BASE_BLOCKS = bind("beacon_base_blocks");
   ...
   public static final Tag.Named<Block> SOUL_SPEED_BLOCKS = bind("soul_speed_blocks");
   ...
   public static final Tag.Named<Block> SOUL_FIRE_BASE_BLOCKS = bind("soul_fire_base_blocks");
   ...
   public static final Tag.Named<Block> STRIDER_WARM_BLOCKS = bind("strider_warm_blocks");
   ...
   public static final Tag.Named<Block> MUSHROOM_GROW_BLOCK = bind("mushroom_grow_block");
   ...
   public static final Tag.Named<Block> CRYSTAL_SOUND_BLOCKS = bind("crystal_sound_blocks");
   ...
   public static final Tag.Named<Block> INSIDE_STEP_SOUND_BLOCKS = bind("inside_step_sound_blocks");
   ...
   public static final Tag.Named<Block> DRIPSTONE_REPLACEABLE = bind("dripstone_replaceable_blocks");
   ...
   public static final Tag.Named<Block> GEODE_INVALID_BLOCKS = bind("geode_invalid_blocks");
   ...

If we look at the above class, we can see that every block tag except MUSHROOM_GROW_BLOCK ends with the word "blocks" and not "block", therefore introducing an inconsistency.

lahle. l believe years ago there was only one block type that allowed mushroom growing (mycelium?). It may get corrected, but doing this may be able to produce additional issues, if the letter "s" gets added not everywhere (and thus bad shroom behavior, which then will be had to fixed). Thus why?

Can confirm in 1.18.

NOoooo3333

(Unassigned)

Confirmed

(Unassigned)

1.17.1, 1.18 Release Candidate 3, 1.18

Retrieved