Botania (Fabric/Quilt)

Botania (Fabric/Quilt)

5M Downloads

[Crash] Tessellating block model [Compat with Better Foliage Renewed]

jarquafelmu opened this issue ยท 10 comments

commented

Mod Loader

Forge

Minecraft Version

1.18.1

Botania version

1.18.1-429

Modloader version

Forge 39.1.2

Modpack info

Briar Patch 2 - v3.03
https://www.curseforge.com/minecraft/modpacks/briar-patch-2

The latest.log file

https://gist.github.com/jarquafelmu/f3dc11fc6367638723f3099c852c1189

Issue description

I placed a floating Solegnolia flower to prevent certain dropped items from being picked up with the ring of magnets. As soon as it tried to render, I crashed.

This is on a dedicated server and when I attempted to rejoin the server I instantly crashed again because the flower it still there.

Steps to reproduce

  1. Install Botania and Better Foliage Renewed
  2. Make creative world
  3. Place floating Solegnolia flower
  4. ???
  5. Crash

Other information

Better Foliage Renewed v3.0.2

commented

Without loading up an instance with both, not sure what exactly is not being filled, especially since I do not touch modded blocks at all without someone explicitly adding a resource pack. I am suspicious of Rubidium showing up in the log though, I would rather have a log with literally just BFR and Botania.

However looking at the code--sometimes what happens is a render type needs more data than it is given by default. I don't think Botania should be using ItemBlockRenderTypes -- RenderTypes.BLOCK is fine for rendering the floating island model.

var buffer = buffers.getBuffer(ItemBlockRenderTypes.getRenderType(state, false));
brd.getModelRenderer().tesselateBlock(tile.getLevel(), brd.getBlockModel(state), state, tile.getBlockPos(), ms,
buffer, true, new Random(), state.getSeed(tile.getBlockPos()), overlay);

I also do not think Botania should be calling tesselateBlock directly. You can use BlockRenderDispatcher#renderSingleBlock or one of those other methods. That way it also selects the render type correctly for you.

Of course this could be my fault as well but that's what I am seeing from just glancing at it

commented

I've been trying, so far no luck

commented

can you try to narrow down the set of mods?

commented

It's Better Foliage Renewed, which isn't a normal mod of the modpack so the modpack itself is clean. It's a client-side mod to make things like trees look better.

commented

Here is a crash log with only BFR and Botania as you asked https://gist.github.com/jarquafelmu/9534820f99e73becbc014aa1aea1867a

commented

will take a look

commented

One of my players has had the same error crash their world, but with a floating Hopperhock.

Modpack: https://www.curseforge.com/minecraft/modpacks/the-phoenixs-magics-and-goodies
Crashlog: crash-2022-06-02_11.11.37-client.txt

commented

Addition: It may be a weird incompatibility with a Forge config option, specifically, when I disable it, it stops crashing. This one:

#EXPERIMENTAL: Enable the Forge block rendering pipeline - fixes the lighting of custom models.
experimentalForgeLightPipelineEnabled = true

commented

According to the forge team ItemBlockRenderTypes does not work. So another method should be used

commented

Closing since 1.18 is no longer supported and various rendering aspects are likely going to be reworked with the 1.21 port.