plusls / oh-my-minecraft-client

oh-my-minecraft-client
GNU Lesser General Public License v3.0
134 stars 58 forks source link

非常严重的崩溃 #3

Closed AbrasiveBoar902 closed 3 years ago

AbrasiveBoar902 commented 3 years ago

当同时安装oh my minecraft client和REI的时候会发生崩溃,有几种方式 第一种是REI的右侧物品栏翻到第8页的时候会崩溃 第二种是按E打开物品栏 crash-2021-04-14_00.19.27-client.txt 2021-04-14_00 19 15

AbrasiveBoar902 commented 3 years ago

崩溃报告在图片上面一行,好像不明显 ---- Minecraft Crash Report ---- // My bad.

Time: 2021-04-14 00:19:27 CST Description: Rendering screen

java.lang.IllegalArgumentException: Cannot get property class_2758{name=level, clazz=class java.lang.Integer, values=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]} as it does not exist in Block{minecraft:bedrock} at Not Enough Crashes deobfuscated stack trace.(1.16.5+build.5) at net.minecraft.state.State.get(State:95) at com.plusls.ommc.feature.highlightLavaSource.LavaSourceResourceLoader$1.getFluidSprites(LavaSourceResourceLoader.java:67) at me.shedaniel.rei.impl.SimpleFluidRenderer$FluidRenderingDataImpl.from(SimpleFluidRenderer.java:68) at java.util.HashMap.computeIfAbsent(HashMap.java:1127) at me.shedaniel.rei.impl.SimpleFluidRenderer.fromFluid(SimpleFluidRenderer.java:46) at me.shedaniel.rei.impl.FluidEntryStack.render(FluidEntryStack.java:213) at me.shedaniel.rei.gui.widget.EntryWidget.drawCurrentEntry(EntryWidget.java:313) at me.shedaniel.rei.gui.widget.EntryWidget.render(EntryWidget.java:284) at me.shedaniel.rei.gui.widget.EntryListWidget.renderEntries(EntryListWidget.java:252) at me.shedaniel.rei.gui.widget.EntryListWidget.lambda$render$5(EntryListWidget.java:307) at java.util.HashMap.forEach(HashMap.java:1289) at me.shedaniel.rei.gui.widget.EntryListWidget.render(EntryListWidget.java:306) at me.shedaniel.rei.gui.ContainerScreenOverlay.renderWidgets(ContainerScreenOverlay.java:648) at me.shedaniel.rei.gui.ContainerScreenOverlay.render(ContainerScreenOverlay.java:555) at me.shedaniel.rei.RoughlyEnoughItemsCore.lambda$registerClothEvents$15(RoughlyEnoughItemsCore.java:539) at net.minecraft.client.gui.screen.Screen.handler$bhc000$onPostDraw(Screen:5112) at net.minecraft.client.gui.screen.Screen.render(Screen:83) at net.minecraft.client.gui.screen.ingame.HandledScreen.render(HandledScreen:106) at net.minecraft.client.gui.screen.ingame.AbstractInventoryScreen.render(AbstractInventoryScreen:43) at net.minecraft.client.gui.screen.ingame.InventoryScreen.render(InventoryScreen:92) at net.minecraft.client.render.GameRenderer.render(GameRenderer:616) at net.minecraft.client.MinecraftClient.render(MinecraftClient:1048) at net.minecraft.client.MinecraftClient.run(MinecraftClient:681) at net.minecraft.client.MinecraftClient.handler$ble000$afterCrashHandled(MinecraftClient:14904) at net.minecraft.client.MinecraftClient.run(MinecraftClient:699) at net.minecraft.client.MinecraftClient.handler$ble000$afterCrashHandled(MinecraftClient:14904) at net.minecraft.client.MinecraftClient.run(MinecraftClient:699) at net.minecraft.client.MinecraftClient.handler$ble000$afterCrashHandled(MinecraftClient:14904) at net.minecraft.client.MinecraftClient.run(MinecraftClient:699) at net.minecraft.client.MinecraftClient.handler$ble000$afterCrashHandled(MinecraftClient:14904) at net.minecraft.client.MinecraftClient.run(MinecraftClient:699) at net.minecraft.client.MinecraftClient.handler$ble000$afterCrashHandled(MinecraftClient:14904) at net.minecraft.client.MinecraftClient.run(MinecraftClient:699) at net.minecraft.client.main.Main.main(Main:215) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at net.fabricmc.loader.game.MinecraftGameProvider.launch(MinecraftGameProvider.java:226) at net.fabricmc.loader.launch.knot.Knot.launch(Knot.java:146) at net.fabricmc.loader.launch.knot.KnotClient.main(KnotClient.java:28)

A detailed walkthrough of the error, its code path and all known details is as follows:

-- Screen render details -- Screen name: net.minecraft.class_490 Mouse location: Scaled: (280, 296). Absolute: (561.000000, 592.000000) Screen size: Scaled: (683, 384). Absolute: (1366, 768). Scale factor of 2.000000

-- Affected level -- All players: 2 total; [class_746['zijinshanren'/142786593, l='ClientLevel', x=-203.29, y=66.00, z=220.49], class_745['tobell'/142784039, l='ClientLevel', x=-178.11, y=68.00, z=188.65]] Chunk stats: SodiumChunkCache: 659 Level dimension: minecraft:overworld Level spawn location: World: (-224,67,161), Chunk: (at 0,4,1 in -14,10; contains blocks -224,0,160 to -209,255,175), Region: (-1,0; contains chunks -32,0 to -1,31, blocks -512,0,0 to -1,255,511) Level time: 103015 game time, 110253203 day time Server brand: §b§lNekoCraft§r Server type: Non-integrated multiplayer server

-- System Details -- Minecraft Version: 1.16.5 Minecraft Version ID: 1.16.5 Operating System: Windows 10 (amd64) version 10.0 Java Version: 1.8.0_281, Oracle Corporation Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation Memory: 1223523944 bytes (1166 MB) / 2337275904 bytes (2229 MB) up to 3544186880 bytes (3380 MB) CPUs: 4 JVM Flags: 6 total; -XX:+UseG1GC -XX:-UseAdaptiveSizePolicy -XX:-OmitStackTraceInFastThrow -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump -Xmn256m -Xmx3379m Suspected Mods: Oh My Minecraft Client (ommc), REI (Runtime) (roughlyenoughitems-runtime) Fabric Mods: advancements-enlarger: Advancements Enlarger 0.2.3 antighost: AntiGhost 1.16.4-fabric0.25.1-1.1.3 appleskin: AppleSkin 1.0.11 architectury: Architectury 1.2.68 artifice: Artifice 0.13.1+1.16.2-rc1 authme: Auth Me 1.4.0 autoconfig1u: Auto Config v1 Updated 3.3.1 autofish: Autofish 0.9.0 autoreconnect: AutoReconnect 1.1.0 bbor: BoundingBoxOutlineReloaded 2.4-1.16.3 bebooks: Better Enchanted Books 1.1.4 betterf3: BetterF3 1.1.1 carpet: Carpet Mod in Fabric 1.4.29 carpet-extra: Carpet Extra 1.4.27 carpet-tctc-addition: CarpetTCTCAddition 1.0.5 carpet-tis-addition: Carpet TIS Addition 1.15.0 clientcommands: Client Commands 2.4.1 cloth-basic-math: Cloth Basic Math 0.5.1 cloth-client-events-v0: Cloth Client Events v0 1.4.9 cloth-config2: Cloth Config v4 4.8.3 colorunchained: Color Unchained 1.1.1-1.16.4 com_squareup_moshi_moshi: moshi 1.9.2 com_squareup_okio_okio: okio 1.16.0 cotton-client-commands: Cotton Client Commands 1.0.1+1.16-rc1 crowdin-translate: CrowdinTranslate 1.2 customskinloader: CustomSkinLoader 14.13-SNAPSHOT-214 dcch: DCCH 1.0 disablecustomworldsadvice: Disable Custom Worlds Advice 1.1 dynamicfps: Dynamic FPS 1.1.4 easiervillagertrading: EasierVillagerTrading 1.16.4-fabric0.25.1-1.5.3 eggtab: Egg Tab 1.3.2+1.16-fabric elytraautoflight: Elytra Auto Flight 1.0.0 fabric: Fabric API 0.32.5+1.16 fabric-api-base: Fabric API Base 0.2.1+9354966b7d fabric-api-lookup-api-v1: Fabric API Lookup API (v1) 1.0.0+dc716ea17d fabric-biome-api-v1: Fabric Biome API (v1) 3.1.1+ca58154a7d fabric-blockrenderlayer-v1: Fabric BlockRenderLayer Registration (v1) 1.1.5+ca58154a7d fabric-command-api-v1: Fabric Command API (v1) 1.1.1+351679a77d fabric-commands-v0: Fabric Commands (v0) 0.2.2+ca58154a7d fabric-containers-v0: Fabric Containers (v0) 0.1.11+9354966b7d fabric-content-registries-v0: Fabric Content Registries (v0) 0.2.1+ca58154a7d fabric-crash-report-info-v1: Fabric Crash Report Info (v1) 0.1.3+ca58154a7d fabric-dimensions-v1: fabric-dimensions-v1 2.0.6+9354966b7d fabric-entity-events-v1: Fabric Entity Events (v1) 1.0.3+ca58154a7d fabric-events-interaction-v0: Fabric Events Interaction (v0) 0.4.2+ca58154a7d fabric-events-lifecycle-v0: Fabric Events Lifecycle (v0) 0.2.1+ca58154a7d fabric-game-rule-api-v1: Fabric Game Rule API (v1) 1.0.6+ca58154a7d fabric-item-api-v1: Fabric Item API (v1) 1.2.1+ca58154a7d fabric-item-groups-v0: Fabric Item Groups (v0) 0.2.5+351679a77d fabric-key-binding-api-v1: Fabric Key Binding API (v1) 1.0.4+9354966b7d fabric-keybindings-v0: Fabric Key Bindings (v0) 0.2.1+ca58154a7d fabric-lifecycle-events-v1: Fabric Lifecycle Events (v1) 1.2.1+ca58154a7d fabric-loot-tables-v1: Fabric Loot Tables (v1) 1.0.2+ca58154a7d fabric-mining-levels-v0: Fabric Mining Levels (v0) 0.1.3+ca58154a7d fabric-models-v0: Fabric Models (v0) 0.2.1+ca58154a7d fabric-networking-api-v1: Fabric Networking API (v1) 1.0.1+ca58154a7d fabric-networking-blockentity-v0: Fabric Networking Block Entity (v0) 0.2.8+ca58154a7d fabric-networking-v0: Fabric Networking (v0) 0.3.2+ca58154a7d fabric-object-builder-api-v1: Fabric Object Builder API (v1) 1.9.4+9354966b7d fabric-object-builders-v0: Fabric Object Builders (v0) 0.7.2+ca58154a7d fabric-particles-v1: Fabric Particles (v1) 0.2.4+ca58154a7d fabric-registry-sync-v0: Fabric Registry Sync (v0) 0.7.4+ca58154a7d fabric-renderer-api-v1: Fabric Renderer API (v1) 0.4.1+ca58154a7d fabric-renderer-indigo: Fabric Renderer - Indigo 0.4.4+ca58154a7d fabric-renderer-registries-v1: Fabric Renderer Registries (v1) 2.2.1+ca58154a7d fabric-rendering-data-attachment-v1: Fabric Rendering Data Attachment (v1) 0.1.5+ca58154a7d fabric-rendering-fluids-v1: Fabric Rendering Fluids (v1) 0.1.13+ca58154a7d fabric-rendering-v0: Fabric Rendering (v0) 1.1.2+ca58154a7d fabric-rendering-v1: Fabric Rendering (v1) 1.5.1+ca58154a7d fabric-resource-loader-v0: Fabric Resource Loader (v0) 0.4.2+ca58154a7d fabric-screen-api-v1: Fabric Screen API (v1) 1.0.0+c045166c7d fabric-screen-handler-api-v1: Fabric Screen Handler API (v1) 1.1.5+9354966b7d fabric-structure-api-v1: Fabric Structure API (v1) 1.1.4+ca58154a7d fabric-tag-extensions-v0: Fabric Tag Extensions (v0) 1.1.1+ca58154a7d fabric-textures-v0: Fabric Textures (v0) 1.0.6+ca58154a7d fabric-tool-attribute-api-v1: Fabric Tool Attribute API (v1) 1.2.6+ca58154a7d fabricloader: Fabric Loader 0.11.3 fabriczero: Fabric Zero 0.2.0 fastbench: FastBench 2.3 fastfurnace: FastFurnace 2.3 grass_pass: Grass Bypass 1.0.0 i18nreborn: I18nreborn fabric-1.15 imblocker: IMBlockerFabric 1.0.1 inventoryhud: Inventory HUD + 3.1.3 itemscroller: Item Scroller 0.15.0-dev.20210111.205029 ivan-carpet-addition: Ivan Carpet Addition 1.4.0+build.101 java: Java HotSpot(TM) 64-Bit Server VM 8 litematica: Litematica 0.0.0-dev.20210120.213004 lithium: Lithium 0.6.0 lithium-api: Lithium API 0.6.0 loadcatcher: Entrypoint Catcher 2.0.0 malilib: MaLiLib 0.10.0-dev.21+arne.2 masa_gadget_mod: Masa Gadget 1.16.5-1.1.4 minecraft: Minecraft 1.16.5 minihud: MiniHUD 0.19.0-dev.20201103.184029 mm: Manningham Mills 2.1 modmenu: Mod Menu 1.16.9 modupdater: ModUpdater 1.1.11+1.16.2-rc2 multiconnect-api: MultiConnect API 1.3.34 notenoughcrashes: Not Enough Crashes 2.1.4+1.16.4 ommc: Oh My Minecraft Client 1.16.5-0.2.6 open2lan: Open To Lan 0.0.3 orderly: Orderly 2.0.0-alpha.10-1.16 org_codehaus_groovy_groovy: groovy 3.0.3 org_codehaus_groovy_groovy-jsr223: groovy-jsr223 3.0.3 org_yaml_snakeyaml: snakeyaml 1.26 pca: Plusls carpet addition mod 1.16.5-0.1.6 petowner: Pet Owner 1.7.1-1.16.2+ replaymod: Replay Mod 1.16.4-2.5.1 roughlyenoughitems: Roughly Enough Items 5.8.10 roughlyenoughitems-api: REI (API) 5.8.10 roughlyenoughitems-default-plugin: REI (Default Plugin) 5.8.10 roughlyenoughitems-runtime: REI (Runtime) 5.8.10 roughlyenoughresources: Roughly Enough Resources 2.1.2 shulkerboxtooltip: Shulker Box Tooltip 2.3.3+1.16.4 signcopy: SignCopy 1.0 slight-gui-modifications: 'Slight' GUI Modifications 1.6.1 smoothboot: Smooth Boot 1.16.4-1.4.0 sodium: Sodium 0.1.0 starlight: Starlight 0.0.3 target-dummy: Target Dummy 1.0.2-1.16.4 tellme: TellMe 0.9.1-beta.1 tooltipfix: ToolTip Fix 1.0.2-1.16 tweakeroo: Tweakeroo 0.10.0-dev.20210303.123654 ublowfire: Low Fire 1.0.1 viafabric: ViaFabric 0.3.0-SNAPSHOT+build-662.1-mc-1.16 viaversion: ViaVersion 3.2.1 voxelmap: VoxelMap 1.10.15 voxelmappatch: VoxelMap Patch 1.0.0 worldedit: WorldEdit 7.2.0+a51fa43 worldeditcui: WorldEditCUI 1.16.2+01 wthit: wthit 2.5.4 Launched Version: 1.16.5-Fabric 0.11.3 Backend library: LWJGL version 3.2.2 build 10 Backend API: Intel(R) HD Graphics 520 GL version 4.6.0 - Build 26.20.100.7812, Intel GL Caps: Using framebuffer using OpenGL 3.0 Using VBOs: Yes Is Modded: Definitely; Client brand changed to 'fabric' Type: Client (map_client.txt) Graphics mode: fancy Resource Packs: vanilla, Fabric Mods, file/XeKr+redstone+display+1.16.2.zip Current Language: 简体中文 (中国) CPU: 4x Intel(R) Core(TM) i7-6500U CPU @ 2.50GHz Client Crashes Since Restart: 6 Integrated Server Crashes Since Restart: 0

plusls commented 3 years ago

现在已经定位到出问题的位置在

https://github.com/plusls/oh-my-minecraft-client/blob/8bddb51ec04d7ced919929e6df9aff0570350da9/src/main/java/com/plusls/ommc/feature/highlightLavaSource/LavaSourceResourceLoader.java#L70

根据 rei 调用的库的源码可以得知, rei 渲染时选中的坐标是 0, 0, 0,然后生成了液体的默认状态来调用 getFluidSprites

        public static FluidRenderingData from(Fluid fluid) {
            FluidRenderHandler fluidRenderHandler = FluidRenderHandlerRegistry.INSTANCE.get(fluid);
            if (fluidRenderHandler == null)
                return null;
            Sprite[] sprites = fluidRenderHandler.getFluidSprites(MinecraftClient.getInstance().world, MinecraftClient.getInstance().world == null ? null : BlockPos.ORIGIN, fluid.getDefaultState());
            int color = -1;
            if (MinecraftClient.getInstance().world != null)
                color = fluidRenderHandler.getFluidColor(MinecraftClient.getInstance().world, BlockPos.ORIGIN, fluid.getDefaultState());
            return new FluidRenderingDataImpl(sprites[0], color);
        }

但是我实现里先判断了该位置的方块是否有 FluidBlock.LEVEL 这个属性,如果有才会去调用 blockState.get,不知道是我对这个 API 的理解有问题还是 Mojang 代码糊了

先标记一下最近没啥时间修复,比较抱歉

plusls commented 3 years ago

我试了一下 5.8.10 的 rei 也没有崩溃,本地没复现出来 不知道你是否方便发一下你的 mod 包

AbrasiveBoar902 commented 3 years ago

触发方法是打开ommc的高亮岩浆源,重启游戏(保持高亮岩浆源打开状态),然后把rei翻到有液体渲染的那一页(一般是最后一页)

AbrasiveBoar902 commented 3 years ago

用的Java是JDK8u281 打开pcl之后下载1.16.5+Fabric0.11.3(不用下fabricAPI,已经有了) 然后打开就行了 单人和多人都可以触发崩溃,有一个单人的虚空世界,打开之后在物品栏界面把rei调到有液体渲染的那一页(一般是最后一页)就会崩溃 ↓↓↓↓↓↓ Minecraft.zip

plusls commented 3 years ago

前段时间太忙了,我现在回来看了

plusls commented 3 years ago

突然发现这个 BUG 我早就修了,在

https://github.com/plusls/oh-my-minecraft-client/commit/7a92d95e6a71b2ebd2a01ce75288ab6a7bac25a5

只是我一直忘了发 release

xb2016 commented 3 years ago

经过测试,此问题仍然存在,测试版本:OMMC-1.17-0.2.9,REI-6.0.257-alpha 错误原因:LavaSourceResourceLoader.java:69 中的 extendedBlockView 为 null,加个判断即可解决

plusls commented 3 years ago

经过测试,此问题仍然存在,测试版本:OMMC-1.17-0.2.9,REI-6.0.257-alpha 错误原因:LavaSourceResourceLoader.java:69 中的 extendedBlockView 为 null,加个判断即可解决

我记得1.16是没这个毛病的,感觉是你们 rei 改了代码

不过这两个变量确实可能会是 null

(见鬼你们 IDEA 怎么没骂我

xb2016 commented 3 years ago

经过测试,此问题仍然存在,测试版本:OMMC-1.17-0.2.9,REI-6.0.257-alpha 错误原因:LavaSourceResourceLoader.java:69 中的 extendedBlockView 为 null,加个判断即可解决

我记得1.16是没这个毛病的,感觉是你们 rei 改了代码

不过这两个变量确实可能会是 null

(见鬼你们 IDEA 怎么没骂我

我这加了判断之后就没事了,不知道是不是 Java16 的原因

plusls commented 3 years ago

经过测试,此问题仍然存在,测试版本:OMMC-1.17-0.2.9,REI-6.0.257-alpha 错误原因:LavaSourceResourceLoader.java:69 中的 extendedBlockView 为 null,加个判断即可解决

我记得1.16是没这个毛病的,感觉是你们 rei 改了代码 不过这两个变量确实可能会是 null (见鬼你们 IDEA 怎么没骂我

我这加了判断之后就没事了,不知道是不是 Java16 的原因

看了一眼,是 REI 在 117 重构了这部分的代码,换了个写法用了 fabric 的另一个 api 来获取的材质(但是 Nullable IDEA 应该要骂我啊

xb2016 commented 3 years ago

不懂 Java 骂不动()

plusls commented 3 years ago

release 了,等 github 自动 build 吧