(1.16.5) Minecraft crashes with Rubidium when I build a 23 * 23 Nether Portal
PasserBy384 opened this issue · 7 comments
Describe the bug
When I try to build a 23 * 23 Nether Portal, the game will crash
Versions :
Minecraft: 1.16.5
forge-1.16.5-36.2.35-client.
forge-1.16.5-36.2.35-universal.
Mantle-1.16.5-1.6.157:
Inspirations-1.16.5-1.2.3.38:
rubidium-0.2.6.
minecraft-exported-logs:
Description: Unexpected error
java.util.concurrent.CompletionException: java.lang.NullPointerException: Cannot invoke "net.minecraft.block.BlockState.func_177230_c()" because the return value of "net.minecraft.world.IBlockDisplayReader.func_180495_p(net.minecraft.util.math.BlockPos)" is null
at java.util.concurrent.CompletableFuture.reportJoin(CompletableFuture.java:413) ~[?:?] {}
at java.util.concurrent.CompletableFuture.join(CompletableFuture.java:2118) ~[?:?] {}
at me.jellysquid.mods.sodium.common.util.collections.FutureDequeDrain.findNext(FutureDequeDrain.java:33) ~[rubidium:?] {re:classloading}
at me.jellysquid.mods.sodium.common.util.collections.FutureDequeDrain.hasNext(FutureDequeDrain.java:23) ~[rubidium:?] {re:classloading}
at me.jellysquid.mods.sodium.client.render.chunk.backends.multidraw.MultidrawChunkRenderBackend.setupUploadBatches(MultidrawChunkRenderBackend.java:233) ~[rubidium:?] {re:classloading}
at me.jellysquid.mods.sodium.client.render.chunk.backends.multidraw.MultidrawChunkRenderBackend.upload(MultidrawChunkRenderBackend.java:112) ~[rubidium:?] {re:classloading}
at me.jellysquid.mods.sodium.client.render.chunk.ChunkRenderManager.updateChunks(ChunkRenderManager.java:459) ~[rubidium:?] {re:classloading}
at me.jellysquid.mods.sodium.client.render.SodiumWorldRenderer.updateChunks(SodiumWorldRenderer.java:205) ~[rubidium:?] {re:mixin,re:classloading}
at net.minecraft.client.renderer.WorldRenderer.func_228437_a_(WorldRenderer.java:3763) ~[?:?] {re:mixin,pl:runtimedistcleaner:A,re:classloading,pl:mixin:APP:rubidium.mixins.json:features.block.MixinWorldRenderer,pl:mixin:APP:rubidium.mixins.json:features.buffer_builder.intrinsics.MixinWorldRenderer,pl:mixin:APP:rubidium.mixins.json:features.chunk_rendering.MixinWorldRenderer,pl:mixin:APP:rubidium.mixins.json:features.options.MixinWorldRenderer,pl:mixin:APP:rubidium.mixins.json:features.sky.MixinWorldRenderer,pl:mixin:A,pl:runtimedistcleaner:A}
at net.minecraft.client.renderer.WorldRenderer.func_228426_a_(WorldRenderer.java:936) ~[?:?] {re:mixin,pl:runtimedistcleaner:A,re:classloading,pl:mixin:APP:rubidium.mixins.json:features.block.MixinWorldRenderer,pl:mixin:APP:rubidium.mixins.json:features.buffer_builder.intrinsics.MixinWorldRenderer,pl:mixin:APP:rubidium.mixins.json:features.chunk_rendering.MixinWorldRenderer,pl:mixin:APP:rubidium.mixins.json:features.options.MixinWorldRenderer,pl:mixin:APP:rubidium.mixins.json:features.sky.MixinWorldRenderer,pl:mixin:A,pl:runtimedistcleaner:A}
at net.minecraft.client.renderer.GameRenderer.func_228378_a_(GameRenderer.java:608) ~[?:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:rubidium.mixins.json:core.matrix.MixinGameRenderer,pl:mixin:A,pl:runtimedistcleaner:A}
at net.minecraft.client.renderer.GameRenderer.func_195458_a(GameRenderer.java:425) ~[?:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:rubidium.mixins.json:core.matrix.MixinGameRenderer,pl:mixin:A,pl:runtimedistcleaner:A}
at net.minecraft.client.Minecraft.func_195542_b(Minecraft.java:977) ~[?:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:rubidium.mixins.json:features.gui.fast_fps_pie.MixinMinecraftClient,pl:mixin:APP:rubidium.mixins.json:features.options.MixinMinecraftClient,pl:mixin:A,pl:runtimedistcleaner:A}
at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:607) ~[?:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:rubidium.mixins.json:features.gui.fast_fps_pie.MixinMinecraftClient,pl:mixin:APP:rubidium.mixins.json:features.options.MixinMinecraftClient,pl:mixin:A,pl:runtimedistcleaner:A}
at net.minecraft.client.main.Main.main(Main.java:184) ~[1.16.5.jar:?] {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:568) ~[?:?] {}
at net.minecraftforge.fml.loading.FMLClientLaunchProvider.lambda$launchService$0(FMLClientLaunchProvider.java:37) ~[forge-1.16.5-36.2.35.jar:36.2] {}
at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:37) [modlauncher-8.1.3.jar:?] {}
at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:54) [modlauncher-8.1.3.jar:?] {}
at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:72) [modlauncher-8.1.3.jar:?] {}
at cpw.mods.modlauncher.Launcher.run(Launcher.java:82) [modlauncher-8.1.3.jar:?] {}
at cpw.mods.modlauncher.Launcher.main(Launcher.java:66) [modlauncher-8.1.3.jar:?] {}
Caused by: java.lang.NullPointerException: Cannot invoke "net.minecraft.block.BlockState.func_177230_c()" because the return value of "net.minecraft.world.IBlockDisplayReader.func_180495_p(net.minecraft.util.math.BlockPos)" is null
at knightminer.inspirations.tweaks.client.PortalColorHandler.getColor(PortalColorHandler.java:57) ~[inspirations:1.16.5-1.2.3.38] {re:classloading}
at me.jellysquid.mods.sodium.client.model.quad.blender.SmoothBiomeColorBlender.getBlockColor(SmoothBiomeColorBlender.java:31) ~[rubidium:?] {re:classloading}
at me.jellysquid.mods.sodium.client.model.quad.blender.SmoothBiomeColorBlender.getInterpolatedVertexColor(SmoothBiomeColorBlender.java:56) ~[rubidium:?] {re:classloading}
at me.jellysquid.mods.sodium.client.model.quad.blender.SmoothBiomeColorBlender.getColors(SmoothBiomeColorBlender.java:23) ~[rubidium:?] {re:classloading}
at me.jellysquid.mods.sodium.client.render.pipeline.BlockRenderer.renderQuad(BlockRenderer.java:130) ~[rubidium:?] {re:classloading}
at me.jellysquid.mods.sodium.client.render.pipeline.BlockRenderer.renderQuadList(BlockRenderer.java:115) ~[rubidium:?] {re:classloading}
at me.jellysquid.mods.sodium.client.render.pipeline.BlockRenderer.renderModel(BlockRenderer.java:86) ~[rubidium:?] {re:classloading}
at me.jellysquid.mods.sodium.client.render.chunk.tasks.ChunkRenderRebuildTask.performBuild(ChunkRenderRebuildTask.java:115) ~[rubidium:?] {re:classloading}
at me.jellysquid.mods.sodium.client.render.chunk.compile.ChunkBuilder$WorkerRunnable.run(ChunkBuilder.java:290) ~[rubidium:?] {re:classloading}
at java.lang.Thread.run(Thread.java:833) ~[?:?] {}
A detailed walkthrough of the error, its code path and all known details is as follows:
Thread: Render thread
Stacktrace:
at java.util.concurrent.CompletableFuture.reportJoin(CompletableFuture.java:413) ~[?:?] {}
at java.util.concurrent.CompletableFuture.join(CompletableFuture.java:2118) ~[?:?] {}
at me.jellysquid.mods.sodium.common.util.collections.FutureDequeDrain.findNext(FutureDequeDrain.java:33) ~[rubidium:?] {re:classloading}
at me.jellysquid.mods.sodium.common.util.collections.FutureDequeDrain.hasNext(FutureDequeDrain.java:23) ~[rubidium:?] {re:classloading}
at me.jellysquid.mods.sodium.client.render.chunk.backends.multidraw.MultidrawChunkRenderBackend.setupUploadBatches(MultidrawChunkRenderBackend.java:233) ~[rubidium:?] {re:classloading}
at me.jellysquid.mods.sodium.client.render.chunk.backends.multidraw.MultidrawChunkRenderBackend.upload(MultidrawChunkRenderBackend.java:112) ~[rubidium:?] {re:classloading}
at me.jellysquid.mods.sodium.client.render.chunk.ChunkRenderManager.updateChunks(ChunkRenderManager.java:459) ~[rubidium:?] {re:classloading}
at me.jellysquid.mods.sodium.client.render.SodiumWorldRenderer.updateChunks(SodiumWorldRenderer.java:205) ~[rubidium:?] {re:mixin,re:classloading}
at net.minecraft.client.renderer.WorldRenderer.func_228437_a_(WorldRenderer.java:3763) ~[?:?] {re:mixin,pl:runtimedistcleaner:A,re:classloading,pl:mixin:APP:rubidium.mixins.json:features.block.MixinWorldRenderer,pl:mixin:APP:rubidium.mixins.json:features.buffer_builder.intrinsics.MixinWorldRenderer,pl:mixin:APP:rubidium.mixins.json:features.chunk_rendering.MixinWorldRenderer,pl:mixin:APP:rubidium.mixins.json:features.options.MixinWorldRenderer,pl:mixin:APP:rubidium.mixins.json:features.sky.MixinWorldRenderer,pl:mixin:A,pl:runtimedistcleaner:A}
at net.minecraft.client.renderer.WorldRenderer.func_228426_a_(WorldRenderer.java:936) ~[?:?] {re:mixin,pl:runtimedistcleaner:A,re:classloading,pl:mixin:APP:rubidium.mixins.json:features.block.MixinWorldRenderer,pl:mixin:APP:rubidium.mixins.json:features.buffer_builder.intrinsics.MixinWorldRenderer,pl:mixin:APP:rubidium.mixins.json:features.chunk_rendering.MixinWorldRenderer,pl:mixin:APP:rubidium.mixins.json:features.options.MixinWorldRenderer,pl:mixin:APP:rubidium.mixins.json:features.sky.MixinWorldRenderer,pl:mixin:A,pl:runtimedistcleaner:A}
at net.minecraft.client.renderer.GameRenderer.func_228378_a_(GameRenderer.java:608) ~[?:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:rubidium.mixins.json:core.matrix.MixinGameRenderer,pl:mixin:A,pl:runtimedistcleaner:A}
-- Affected level --
Details:
All players: 1 total; [ClientPlayerEntity['Passer_by384'/83, l='ClientLevel', x=-232.05, y=4.00, z=-197.30]]
Chunk stats: Client Chunk Cache: 1024, 486
Level dimension: minecraft:overworld
Level spawn location: World: (-224,4,-192), Chunk: (at 0,0,0 in -14,-12; contains blocks -224,0,-192 to -209,255,-177), Region: (-1,-1; contains chunks -32,-32 to -1,-1, blocks -512,0,-512 to -1,255,-1)
Level time: 3286 game time, 3286 day time
Server brand: forge
Server type: Integrated singleplayer server
Stacktrace:
at net.minecraft.client.world.ClientWorld.func_72914_a(ClientWorld.java:447) ~[?:?] {re:mixin,pl:runtimedistcleaner:A,re:classloading,pl:mixin:APP:rubidium.mixins.json:features.chunk_rendering.MixinClientWorld,pl:mixin:APP:rubidium.mixins.json:features.world_ticking.MixinClientWorld,pl:mixin:A,pl:runtimedistcleaner:A}
at net.minecraft.client.Minecraft.func_71396_d(Minecraft.java:2031) ~[?:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:rubidium.mixins.json:features.gui.fast_fps_pie.MixinMinecraftClient,pl:mixin:APP:rubidium.mixins.json:features.options.MixinMinecraftClient,pl:mixin:A,pl:runtimedistcleaner:A}
at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:628) ~[?:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:rubidium.mixins.json:features.gui.fast_fps_pie.MixinMinecraftClient,pl:mixin:APP:rubidium.mixins.json:features.options.MixinMinecraftClient,pl:mixin:A,pl:runtimedistcleaner:A}
at net.minecraft.client.main.Main.main(Main.java:184) ~[1.16.5.jar:?] {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:568) ~[?:?] {}
at net.minecraftforge.fml.loading.FMLClientLaunchProvider.lambda$launchService$0(FMLClientLaunchProvider.java:37) ~[forge-1.16.5-36.2.35.jar:36.2] {}
at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:37) [modlauncher-8.1.3.jar:?] {}
at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:54) [modlauncher-8.1.3.jar:?] {}
at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:72) [modlauncher-8.1.3.jar:?] {}
at cpw.mods.modlauncher.Launcher.run(Launcher.java:82) [modlauncher-8.1.3.jar:?] {}
at cpw.mods.modlauncher.Launcher.main(Launcher.java:66) [modlauncher-8.1.3.jar:?] {}
Everything Inspirations does in that code is consistent with vanilla code. If a performance mod breaks my valid vanilla code, IMO its on them to either handle that case or explain what I am doing that is invalid. To me this looks like Rubidium is missing a null check in a function where vanilla passes null.