Crash with BlockEntityRenderer. Not filled all elements of the vertex
maxanier opened this issue ยท 0 comments
When the tent preview overlaps with Vampirism's village totem (if controlled by a faction), the client crashes.
Apparently, the rendering by Font#drawInBatch
inside your preview rendering causes an issue with the BufferBuilder.
Vampirism tries to render text here: https://github.com/TeamLapen/Vampirism/blob/a63b012ad0029dd70a751bcd037848d12ad2b3fe/src/main/java/de/teamlapen/vampirism/client/renderer/blockentity/TotemBESR.java#L68
I don't really see why it is causing a crash, but I am not an expert in rendering. Maybe you have an idea how this can be fixed on your or our side.
It also seems there may be other mods with similar compatibility issues:
#187
Since you are already catching this exception anyway: Would it be viable to just log and ignore these exception instead of crashing. I assume for most players, it is not crucial to have that block render when the tent overlay is rendered.
This crash can even prevent you from loading the world again: If the game is saved in a state where preview and block overlap, the game will immediately crash upon loading the world.
Original report:
Stacktrace:
java.lang.IllegalStateException: Not filled all elements of the vertex
at com.mojang.blaze3d.vertex.BufferBuilder.m_5752_(BufferBuilder.java:288) ~[client-1.19.2-20220805.130853-srg.jar%23131!/:?] {re:classloading,pl:runtimedistcleaner:A}
at net.minecraft.client.gui.font.glyphs.BakedGlyph.m_5626_(BakedGlyph.java:51) ~[client-1.19.2-20220805.130853-srg.jar%23131!/:?] {re:classloading}
at net.minecraft.client.gui.Font.m_92787_(Font.java:357) ~[client-1.19.2-20220805.130853-srg.jar%23131!/:?] {re:classloading}
at net.minecraft.client.gui.Font$StringRenderOutput.m_6411_(Font.java:286) ~[client-1.19.2-20220805.130853-srg.jar%23131!/:?] {re:classloading}
at net.minecraft.util.StringDecomposer.m_14332_(StringDecomposer.java:17) ~[client-1.19.2-20220805.130853-srg.jar%23131!/:?] {re:classloading}
at net.minecraft.util.StringDecomposer.m_14317_(StringDecomposer.java:43) ~[client-1.19.2-20220805.130853-srg.jar%23131!/:?] {re:classloading}
at net.minecraft.util.FormattedCharSequence.m_13736_(FormattedCharSequence.java:23) ~[client-1.19.2-20220805.130853-srg.jar%23131!/:?] {re:classloading}
at net.minecraft.client.gui.Font.m_92926_(Font.java:352) ~[client-1.19.2-20220805.130853-srg.jar%23131!/:?] {re:classloading}
at net.minecraft.client.gui.Font.m_92866_(Font.java:201) ~[client-1.19.2-20220805.130853-srg.jar%23131!/:?] {re:classloading}
at net.minecraft.client.gui.Font.m_92733_(Font.java:134) ~[client-1.19.2-20220805.130853-srg.jar%23131!/:?] {re:classloading}
at net.minecraft.client.gui.Font.m_92841_(Font.java:130) ~[client-1.19.2-20220805.130853-srg.jar%23131!/:?] {re:classloading}
at de.teamlapen.vampirism.client.renderer.blockentity.TotemBESR.renderFactionName(TotemBESR.java:68) ~[Vampirism-1.19.2-1.9.1.jar%23130!/:1.9.1] {re:classloading,pl:runtimedistcleaner:A}
at de.teamlapen.vampirism.client.renderer.blockentity.TotemBESR.render(TotemBESR.java:47) ~[Vampirism-1.19.2-1.9.1.jar%23130!/:1.9.1] {re:classloading,pl:runtimedistcleaner:A}
at de.teamlapen.vampirism.client.renderer.blockentity.TotemBESR.m_6922_(TotemBESR.java:19) ~[Vampirism-1.19.2-1.9.1.jar%23130!/:1.9.1] {re:classloading,pl:runtimedistcleaner:A}
at com.terraformersmc.campanion.client.renderer.item.BuiltTentItemRenderer.renderBlockEntity(BuiltTentItemRenderer.java:61) ~[Campanion-forge-1.19.2-4.1.2+forge.jar%23129!/:4.1.2+forge] {re:mixin,re:classloading}
at com.terraformersmc.campanion.client.renderer.item.BuiltTentItemRenderer.renderFakeBlock(BuiltTentItemRenderer.java:53) ~[Campanion-forge-1.19.2-4.1.2+forge.jar%23129!/:4.1.2+forge] {re:mixin,re:classloading}
at net.minecraft.client.renderer.LevelRenderer.handler$zzo000$renderLevel(LevelRenderer.java:3154) ~[client-1.19.2-20220805.130853-srg.jar%23131!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:A,pl:runtimedistcleaner:A}
at net.minecraft.client.renderer.LevelRenderer.m_109599_(LevelRenderer.java:1234) ~[client-1.19.2-20220805.130853-srg.jar%23131!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:A,pl:runtimedistcleaner:A}
at net.minecraft.client.renderer.GameRenderer.m_109089_(GameRenderer.java:1068) ~[client-1.19.2-20220805.130853-srg.jar%23131!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}
at net.minecraft.client.renderer.GameRenderer.m_109093_(GameRenderer.java:840) ~[client-1.19.2-20220805.130853-srg.jar%23131!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}
at net.minecraft.client.Minecraft.m_91383_(Minecraft.java:1115) ~[client-1.19.2-20220805.130853-srg.jar%23131!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:campanion.mixins.json:client.MixinMinecraftClient,pl:mixin:A,pl:runtimedistcleaner:A}
at net.minecraft.client.Minecraft.m_91374_(Minecraft.java:700) ~[client-1.19.2-20220805.130853-srg.jar%23131!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:campanion.mixins.json:client.MixinMinecraftClient,pl:mixin:A,pl:runtimedistcleaner:A}
at net.minecraft.client.main.Main.m_239872_(Main.java:212) ~[client-1.19.2-20220805.130853-srg.jar%23131!/:?] {re:classloading,pl:runtimedistcleaner:A}
at net.minecraft.client.main.Main.main(Main.java:51) ~[client-1.19.2-20220805.130853-srg.jar%23131!/:?] {re:classloading,pl:runtimedistcleaner:A}
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?] {}
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?] {}
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?] {}
at java.lang.reflect.Method.invoke(Method.java:569) ~[?:?] {}
at net.minecraftforge.fml.loading.targets.CommonClientLaunchHandler.lambda$launchService$0(CommonClientLaunchHandler.java:27) ~[fmlloader-1.19.2-43.2.0.jar%23126!/:?] {}
at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:30) [modlauncher-10.0.8.jar%23113!/:?] {}
at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:53) [modlauncher-10.0.8.jar%23113!/:?] {}
at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:71) [modlauncher-10.0.8.jar%23113!/:?] {}
at cpw.mods.modlauncher.Launcher.run(Launcher.java:106) [modlauncher-10.0.8.jar%23113!/:?] {}
at cpw.mods.modlauncher.Launcher.main(Launcher.java:77) [modlauncher-10.0.8.jar%23113!/:?] {}
Versions
Mod List:
client-1.19.2-20220805.130853-srg.jar |Minecraft |minecraft |1.19.2 |DONE |Manifest: a1:d4:5e:04:4f:d3:d6:e0:7b:37:97:cf:77:b0:de:ad:4a:47:ce:8c:96:49:5f:0a:cf:8c:ae:b2:6d:4b:8a:3f
Campanion-forge-1.19.2-4.1.2+forge.jar |Campanion |campanion |4.1.2+forge |DONE |Manifest: NOSIGNATURE
forge-1.19.2-43.2.0-universal.jar |Forge |forge |43.2.0 |DONE |Manifest: 84:ce:76:e8:45:35:e4:0e:63:86:df:47:59:80:0f:67:6c:c1:5f:6e:5f:4d:b3:54:47:1a:9f:7f:ed:5e:f2:90
Vampirism-1.19.2-1.9.1.jar |Vampirism |vampirism |1.9.1 |DONE |Manifest: NOSIGNATURE
Reproduce
If you want to reproduce this:
- Find a village with a totem (or place a totem top ontop a totem base)
- Make sure it is controlled by a faction (
/vampirism-test village capture vampirism:hunter
) - Hold a tent so that the preview overlaps with the totem block