VazkiiMods / Botania

A tech mod for Minecraft themed around the magic of nature and plant life.
http://botaniamod.net/index.html
Other
1.27k stars 505 forks source link

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

Closed jarquafelmu closed 2 months ago

jarquafelmu commented 2 years ago

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

williewillus commented 2 years ago

can you try to narrow down the set of mods?

jarquafelmu commented 2 years ago

I've been trying, so far no luck

jarquafelmu commented 2 years ago

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.

eerussianguy commented 2 years ago

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.

https://github.com/VazkiiMods/Botania/blob/df10b660a94eae3f7ecd2d50ca2630c96dcdb78c/Xplat/src/main/java/vazkii/botania/client/render/tile/RenderTileFloatingFlower.java#L62-L64

I also do not think Botania should be calling tesselateBlock directly. You can useBlockRenderDispatcher#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

jarquafelmu commented 2 years ago

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

williewillus commented 2 years ago

will take a look

Serifina commented 2 years ago

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

Serifina commented 2 years ago

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

eerussianguy commented 2 years ago

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

TheRealWormbo commented 2 months ago

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