You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
your code accesses the vanilla world renderer's internal list of block entities, using an access transformer. This does not work with Sodium (and Forge ports, including Embeddium) because we don't populate the vanilla renderer's list of compiled chunks (we use our own internal data structures for tracking this). It's also quite messy since it relies on multiple access transformer entries, and duplicating vanilla's logic for manipulating the PoseStack.
I think this can be done more cleanly by using a global BufferBuilder that block entities render into during the regular vanilla BlockEntityRenderer#render calls (rather than using the VertexConsumer vanilla provides) and then drawing the contents of that BufferBuilder during RenderLevelStageEvent. If you do it this way, it shouldn't require hacking into vanilla internals at all, and should be compatible with rendering optimization mods.
The text was updated successfully, but these errors were encountered:
The
BlockEntityRendererTransparent
implementation does not work properly with Sodium ports. Here:BrandonsCore/src/main/java/com/brandon3055/brandonscore/client/BCClientEventHandler.java
Lines 177 to 204 in eeb707b
your code accesses the vanilla world renderer's internal list of block entities, using an access transformer. This does not work with Sodium (and Forge ports, including Embeddium) because we don't populate the vanilla renderer's list of compiled chunks (we use our own internal data structures for tracking this). It's also quite messy since it relies on multiple access transformer entries, and duplicating vanilla's logic for manipulating the PoseStack.
I think this can be done more cleanly by using a global
BufferBuilder
that block entities render into during the regular vanillaBlockEntityRenderer#render
calls (rather than using the VertexConsumer vanilla provides) and then drawing the contents of thatBufferBuilder
duringRenderLevelStageEvent
. If you do it this way, it shouldn't require hacking into vanilla internals at all, and should be compatible with rendering optimization mods.The text was updated successfully, but these errors were encountered: