Lightman314/LightmansCurrency

BUG: Mushrooms replace traders

Closed this issue · 5 comments

Minecraft Version

1.18.2

Forge Version

40.2.21

Lightman's Currency Version

2.1.2.5a

Environment Type

Minecraft Client (Bug/crash happened in a single-player world or while the game was booting)

Other relevant Mods

Create

Describe the bug

If you grow a large mushroom, it can replace the blocks of trader machines. Tree fetilizer from the create mod only aggravates the problem, since it allows you to grow trees anywhere, as well as replace blocks of trader machines

To Reproduce

  1. place trader block
  2. place micelium block close to it
  3. place mushroom on it
  4. grow it using bonemeal

Screenshots/Logs/Crash Reports

image
image

Looked at the mushroom code, and apparently mushrooms can replace any block that isn't a full block. After testing this includes not only my blocks, but also many vanilla blocks such as signs, stonecutters, and even chests.

While I'm definitely going to try to make my traders immune to this bug, this is 100% a vanilla Minecraft issue, not something caused by any mistakes on my part.

If it helps, quark appears to have an option to fix this bug by forcing mushrooms to use tree growing logic (can only replace air or leaves), so that should help you in the meantime if this is somehow an actual major issue for you.

Edit:
Never thought I'd ever see the day when I used the "Other Mods Issue" for a Minecraft issue, but so I have.

For now though, I've used the forge SaplingGrowTreeEvent to block all mushrooms from growing with any LC block 3 or fewer blocks away horizontally and 10 or fewer blocks above the mushroom of origin.

Looked at the mushroom code, and apparently mushrooms can replace any block that isn't a full block. After testing this includes not only my blocks, but also many vanilla blocks such as signs, stonecutters, and even chests.

While I'm definitely going to try to make my traders immune to this bug, this is 100% a vanilla Minecraft issue, not something caused by any mistakes on my part.

If it helps, quark appears to have an option to fix this bug by forcing mushrooms to use tree growing logic (can only replace air or leaves), so that should help you in the meantime if this is somehow an actual major issue for you.

Edit:
Never thought I'd ever see the day when I used the "Other Mods Issue" for a Minecraft issue, but so I have.

For now though, I've used the forge SaplingGrowTreeEvent to block all mushrooms from growing with any LC block 3 or fewer blocks away horizontally and 10 or fewer blocks above the mushroom of origin.

I always thought that breaking blocks with mushrooms was a kind of minecraft feature, not a bug. Thanks for solving the problem, I'll check your solutions later.

In any case mushrooms have been able to destroy blocks for years and I don't think modjang will do anything about it, especially on older versions.

I always thought that breaking blocks with mushrooms was a kind of minecraft feature, not a bug. Thanks for solving the problem, I'll check your solutions later.

While I agree that for vanilla it could be considered a "feature" not a bug, the fact that there's no way to flag your block as something that shouldn't be destroyed by growing mushrooms (such as a block tag) is definitely an issue from a modding standpoint. Heck, even the ender dragon and wither have "X_immune" block tags that I can utilize to prevent my traders from being griefed by players spawning withers inside of malls, etc.

Fixed in 1.20.1 in v2.2.2.0. Fix will be backported to 1.19.2, but I have no plans to update LC 1.18.2 at this time.