[Bug] 当使用&k加上使用的资源包表情时会导致崩溃
版本1.21.4 在聊天中,使用"&k"加上任意资源包内的表情如":cat"时会导致游戏崩溃 崩溃报告: java.lang.NullPointerException: Cannot read field "mPreloadedFastChars" because "strike" is null at knot//icyllis.modernui.mc.text.GlyphManager.lookupFastChars(GlyphManager.java:677) at knot//icyllis.modernui.mc.text.TextLayout.prepareGlyphs(TextLayout.java:259) at knot//icyllis.modernui.mc.text.TextLayout.getGlyphs(TextLayout.java:280) at knot//icyllis.modernui.mc.text.TextLayout.drawText(TextLayout.java:352) at knot//icyllis.modernui.mc.text.ModernTextRenderer.drawText(ModernTextRenderer.java:208) at knot//icyllis.modernui.mc.text.ModernTextRenderer.drawText(ModernTextRenderer.java:112) at knot//net.minecraft.class_327.method_27522(class_327.java:567) at knot//net.minecraft.class_897.method_3926(class_897.java:192) at knot//net.minecraft.class_1007.method_4213(class_1007.java:159) at knot//net.minecraft.class_1007.method_3926(class_1007.java:55) at knot//net.minecraft.class_897.method_3936(class_897.java:109) at knot//net.minecraft.class_922.method_4054(class_922.java:120) at knot//net.minecraft.class_922.method_3936(class_922.java:40) at knot//net.minecraft.class_898.method_3954(class_898.java:162) at knot//net.minecraft.class_898.method_62424(class_898.java:149) at knot//net.minecraft.class_761.method_22977(class_761.java:987) at knot//net.minecraft.class_761.method_62207(class_761.java:864) at knot//net.minecraft.class_761.method_62214(class_761.java:642) at knot//net.minecraft.class_9909.method_61910(class_9909.java:67) at knot//net.minecraft.class_761.method_22710(class_761.java:552) at knot//net.minecraft.class_757.method_3188(class_757.java:733) at knot//net.minecraft.class_757.method_3192(class_757.java:493) at knot//net.minecraft.class_310.method_1523(class_310.java:1341) at knot//net.minecraft.class_310.method_1514(class_310.java:922) at knot//net.minecraft.client.main.Main.main(Main.java:267) at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:480) at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:74) at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23) A detailed walkthrough of the error, its code path and all known details is as follows:
-- Head -- Thread: Render thread Stacktrace: at knot//icyllis.modernui.mc.text.GlyphManager.lookupFastChars(GlyphManager.java:677) at knot//icyllis.modernui.mc.text.TextLayout.prepareGlyphs(TextLayout.java:259) at knot//icyllis.modernui.mc.text.TextLayout.getGlyphs(TextLayout.java:280) at knot//icyllis.modernui.mc.text.TextLayout.drawText(TextLayout.java:352) at knot//icyllis.modernui.mc.text.ModernTextRenderer.drawText(ModernTextRenderer.java:208) at knot//icyllis.modernui.mc.text.ModernTextRenderer.drawText(ModernTextRenderer.java:112) at knot//net.minecraft.class_327.method_27522(class_327.java:567) at knot//net.minecraft.class_897.method_3926(class_897.java:192) at knot//net.minecraft.class_1007.method_4213(class_1007.java:159) at knot//net.minecraft.class_1007.method_3926(class_1007.java:55) at knot//net.minecraft.class_897.method_3936(class_897.java:109) at knot//net.minecraft.class_922.method_4054(class_922.java:120) at knot//net.minecraft.class_922.method_3936(class_922.java:40) at knot//net.minecraft.class_898.method_3954(class_898.java:162) at knot//net.minecraft.class_898.method_62424(class_898.java:149) at knot//net.minecraft.class_761.method_22977(class_761.java:987) at knot//net.minecraft.class_761.method_62207(class_761.java:864) at knot//net.minecraft.class_761.method_62214(class_761.java:642) at knot//net.minecraft.class_9909.method_61910(class_9909.java:67) at knot//net.minecraft.class_761.method_22710(class_761.java:552) at knot//net.minecraft.class_757.method_3188(class_757.java:733)
Fixed in https://github.com/BloCamLimb/ModernUI-MC/commit/a7258a06a5210a5f7924ca8f15d8f9b07e4b9535
Please note that the fix only ensures no crashes, obfuscated characters only take effect on smaller bitmap fonts.
Fixed in 3.12.0.X