Immersive Weathering [FABRIC]

Immersive Weathering [FABRIC]

6M Downloads

Leaf decay checks for non-leaf blockstates

magneticflux- opened this issue ยท 0 comments

commented

Describe the bug:
Log spam of:

Some mod tried to call leaves random tick without passing a leaf block blockstate as expected. This should be fixed on their end. Given blockstate : Block{terrestria:redwood_leaves}[distance=3,persistent=false]

Versions: (BEFORE SUBMITTING A BUG REPORT, make sure you have the most up-to-date versions of Immersive Weathering, Moonlight Lib and Supplementaries)
Minecraft version: 1.19.2
Immersive Weathering version: 1.19.2-1.1.4
Fabric API / QSL / Forge version: 4.0.0-beta.19+0.64.0-1.19.2

Other mods:

  • Terrestria
  • Terraform

Logs:
Even if the game does not crash they may be useful!
Please provide the following logs:
From .minecraft/logs : "latest.log" as well as "debug.log" if it exists. From .minecraft : "launcher_log" as well as a
file that starts with "hs_err" if it exists. Note: Double check that the logs are from the correct time. ex, don't give
us a log from a month ago because you forgot to check the date.

To Reproduce:
Steps to reproduce the behavior. Format it as a numbered list of steps.

  1. Move near Terraform leaf blocks

Expected behavior:
No log spam

Additional info:
Originally reported at TerraformersMC/Terrestria#279


My debugging

The error is logged here:

ImmersiveWeathering.LOGGER.error("Some mod tried to call leaves random tick without passing a leaf block blockstate as expected. This should be fixed on their end. Given blockstate : {}", state);
and was added by d4cc9d4.

I don't see anything that actually requires the state have a block that extends LeafBlock, so can this check be removed or possibly moved further down the call stack? If the block isn't registered as a leaf getFallenLeafParticle and getFallenLeafPile should return null/empty and the same thing happens. If the packet used to crash, the incorrect block should be caught here:

and nothing should happen.