Crash with botania fabric/fabritania
LemmaEOF opened this issue ยท 4 comments
Minecraft 1.16.4
FAPI: 9.29.3+1.16
Canvas: 1.0.1267
Fabritania: 1.16.4-411-FABRIC-SNAPSHOT (self-compiled, available here)
When launching the game with both Canvas and Fabritania, the game will immediately crash due to a ClassCastException related to the Botania ShaderWrappedRenderLayer
and the Canvas MultiPhaseExt
. I'll report this to Fabritania as well to see what willie can do.
Sorry for the old issue bump, was also paging through old issues :)
The Botania 1.17 tree is here and currently it uses a separate issue tracker here. The related issue is williewillus/botania-fabric-issues#52 although there is not any more information.
I'm having trouble running canvas-mc117-1.17-1.0.2035 in a development environment right now due to mixin application failures probably the fault of mapping issues, mmm. Botania 1.17 has used official mojangles mappings for a while now. I'll try canvas HEAD.
The good news: Botania 1.17.x-fabric HEAD~1 (as of VazkiiMods/Botania@dba52df) and Canvas HEAD (as of 0672ff2, built by me by commenting out the licenser plugin for now (details on discord)) does not immediately crash. williewillus has been doing lots of work moving Botania's shaders to a more vanilla pipeline. Even effects that use shaders, like the transparency of pylons and the fill-level of mana pools, appear to work.
The bad news: Strange rendering bugs! A bunch of botania's BlockEntityRenderers seem to render twice, once in the "default state" and again in the real state, usually z-fighting with itself somehow. Mana spreaders selfintersect, and since it's October, if you place a Tiny Potato, it will render a static tater with the default tater face and an animated tater with the pumpkin face.
Also rendering the gaia head crashes with https://paste.ee/p/dsDbY , although commits mentioned that the gaia head is still being worked on. (It uses a vertex shader to push the vertices around)
Got a crash with this error
java.lang.ClassCastException: class vazkii.botania.client.core.helper.RenderHelper$AstrolabeLayer cannot be cast to class grondag.canvas.mixinterface.CompositeRenderTypeExt
From what I gather, AstrolabeLayer
extends RenderType
and Canvas is trying to cast it into a mixin interface of CompositeRenderType
. As the only function in CompositeRenderTypeExt
converts RenderType
to RenderMaterial
, why is it not just part of the RenderType
mixin? ...Was the question I had, but after some digging Frex does expect a CompositeRenderType
internally in the material copier despite taking a RenderType
object as its parameter. Can we make it so that canvas_materialState()
is part of RenderTypeExt
instead and allow Frex to handle regular RenderType
somehow? @grondag