Chisel-Team/ConnectedTexturesMod

[1.16.1] Hard crash from ctm parsing errors

Opened this issue · 1 comments

Mod version: CTM_DEV-MC1.15.2-1.1.0.12

The game crashes to desktop with an IllegalArgumentException if the incorrect number of textures are provided. Personally I feel that resource loading should not result in such crashes, and should instead softly fail and show a meaningful message for the end-user in the log.

---- Minecraft Crash Report ----
// Uh... Did I do that?

Time: 29/07/20 20:21
Description: Rendering overlay

java.lang.IllegalArgumentException: Texture type team.chisel.ctm.client.texture.type.TextureTypeEdges@7200702 requires exactly 3 textures. 2 were provided.
	at team.chisel.ctm.client.model.ModelCTM.getTextures(ModelCTM.java:126) ~[?:MC1.15.2-1.1.0.12] {re:classloading}
	at team.chisel.ctm.client.model.ModelCTM.initializeTextures(ModelCTM.java:152) ~[?:MC1.15.2-1.1.0.12] {re:classloading}
	at team.chisel.ctm.client.util.TextureMetadataHandler.wrap(TextureMetadataHandler.java:186) ~[?:MC1.15.2-1.1.0.12] {re:classloading}
	at team.chisel.ctm.client.util.TextureMetadataHandler.onModelBake(TextureMetadataHandler.java:174) ~[?:MC1.15.2-1.1.0.12] {re:classloading}
	at net.minecraftforge.eventbus.ASMEventHandler_0_TextureMetadataHandler_onModelBake_ModelBakeEvent.invoke(.dynamic) ~[?:?] {}
	at net.minecraftforge.eventbus.ASMEventHandler.invoke(ASMEventHandler.java:80) ~[eventbus-2.2.0-service.jar:?] {}
	at net.minecraftforge.eventbus.EventBus.post(EventBus.java:258) ~[eventbus-2.2.0-service.jar:?] {}
	at net.minecraftforge.fml.javafmlmod.FMLModContainer.acceptEvent(FMLModContainer.java:168) ~[?:31.2] {re:classloading}
	at net.minecraftforge.fml.ModLoader.lambda$postEvent$31(ModLoader.java:260) ~[?:?] {re:classloading}
	at java.util.HashMap.forEach(HashMap.java:1289) ~[?:1.8.0_252] {}
	at net.minecraftforge.fml.ModList.forEachModContainer(ModList.java:218) ~[?:?] {re:classloading}
	at net.minecraftforge.fml.ModLoader.postEvent(ModLoader.java:260) ~[?:?] {re:classloading}
	at net.minecraftforge.client.ForgeHooksClient.onModelBake(ForgeHooksClient.java:393) ~[?:?] {re:classloading}
	at net.minecraft.client.renderer.model.ModelManager.func_212853_a_(ModelManager.java:71) ~[?:?] {re:classloading,pl:runtimedistcleaner:A}
	at net.minecraft.client.renderer.model.ModelManager.func_212853_a_(ModelManager.java:19) ~[?:?] {re:classloading,pl:runtimedistcleaner:A}
	at net.minecraft.client.resources.ReloadListener.func_215269_a(SourceFile:13) ~[?:?] {re:classloading}
	at java.util.concurrent.CompletableFuture.uniAccept(CompletableFuture.java:670) ~[?:1.8.0_252] {}
	at java.util.concurrent.CompletableFuture$UniAccept.tryFire(CompletableFuture.java:646) ~[?:1.8.0_252] {}
	at java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:456) ~[?:1.8.0_252] {}
	at net.minecraft.resources.AsyncReloader.func_219557_a(SourceFile:71) ~[?:?] {re:classloading}
	at net.minecraft.util.concurrent.ThreadTaskExecutor.execute(SourceFile:94) ~[?:?] {re:classloading,pl:accesstransformer:B}
	at net.minecraft.resources.AsyncReloader.func_219560_a(SourceFile:70) ~[?:?] {re:classloading}
	at java.util.concurrent.CompletableFuture$UniCompletion.claim(CompletableFuture.java:543) ~[?:1.8.0_252] {}
	at java.util.concurrent.CompletableFuture.uniAccept(CompletableFuture.java:667) ~[?:1.8.0_252] {}
	at java.util.concurrent.CompletableFuture$UniAccept.tryFire(CompletableFuture.java:646) ~[?:1.8.0_252] {}
	at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:488) ~[?:1.8.0_252] {}
	at java.util.concurrent.CompletableFuture.postFire(CompletableFuture.java:575) ~[?:1.8.0_252] {}
	at java.util.concurrent.CompletableFuture$UniAccept.tryFire(CompletableFuture.java:649) ~[?:1.8.0_252] {}
	at java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:456) ~[?:1.8.0_252] {}
	at net.minecraft.resources.AsyncReloader.func_219557_a(SourceFile:71) ~[?:?] {re:classloading}
	at net.minecraft.util.concurrent.ThreadTaskExecutor.execute(SourceFile:94) ~[?:?] {re:classloading,pl:accesstransformer:B}
	at net.minecraft.resources.AsyncReloader.func_219560_a(SourceFile:70) ~[?:?] {re:classloading}
	at java.util.concurrent.CompletableFuture$UniCompletion.claim(CompletableFuture.java:543) ~[?:1.8.0_252] {}
	at java.util.concurrent.CompletableFuture.uniAccept(CompletableFuture.java:667) ~[?:1.8.0_252] {}
	at java.util.concurrent.CompletableFuture$UniAccept.tryFire(CompletableFuture.java:646) ~[?:1.8.0_252] {}
	at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:488) ~[?:1.8.0_252] {}
	at java.util.concurrent.CompletableFuture.postFire(CompletableFuture.java:575) ~[?:1.8.0_252] {}
	at java.util.concurrent.CompletableFuture$UniAccept.tryFire(CompletableFuture.java:649) ~[?:1.8.0_252] {}
	at java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:456) ~[?:1.8.0_252] {}
	at net.minecraft.resources.AsyncReloader.func_219557_a(SourceFile:71) ~[?:?] {re:classloading}
	at net.minecraft.util.concurrent.ThreadTaskExecutor.execute(SourceFile:94) ~[?:?] {re:classloading,pl:accesstransformer:B}
	at net.minecraft.resources.AsyncReloader.func_219560_a(SourceFile:70) ~[?:?] {re:classloading}
	at java.util.concurrent.CompletableFuture$UniCompletion.claim(CompletableFuture.java:543) ~[?:1.8.0_252] {}
	at java.util.concurrent.CompletableFuture.uniAccept(CompletableFuture.java:667) ~[?:1.8.0_252] {}
	at java.util.concurrent.CompletableFuture$UniAccept.tryFire(CompletableFuture.java:646) ~[?:1.8.0_252] {}
	at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:488) ~[?:1.8.0_252] {}
	at java.util.concurrent.CompletableFuture.postFire(CompletableFuture.java:575) ~[?:1.8.0_252] {}
	at java.util.concurrent.CompletableFuture$UniAccept.tryFire(CompletableFuture.java:649) ~[?:1.8.0_252] {}
	at java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:456) ~[?:1.8.0_252] {}
	at net.minecraft.resources.AsyncReloader.func_219557_a(SourceFile:71) ~[?:?] {re:classloading}
	at net.minecraft.util.concurrent.ThreadTaskExecutor.execute(SourceFile:94) ~[?:?] {re:classloading,pl:accesstransformer:B}
	at net.minecraft.resources.AsyncReloader.func_219560_a(SourceFile:70) ~[?:?] {re:classloading}
	at java.util.concurrent.CompletableFuture$UniCompletion.claim(CompletableFuture.java:543) ~[?:1.8.0_252] {}
	at java.util.concurrent.CompletableFuture.uniAccept(CompletableFuture.java:667) ~[?:1.8.0_252] {}
	at java.util.concurrent.CompletableFuture$UniAccept.tryFire(CompletableFuture.java:646) ~[?:1.8.0_252] {}
	at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:488) ~[?:1.8.0_252] {}
	at java.util.concurrent.CompletableFuture.postFire(CompletableFuture.java:575) ~[?:1.8.0_252] {}
	at java.util.concurrent.CompletableFuture$UniAccept.tryFire(CompletableFuture.java:649) ~[?:1.8.0_252] {}
	at java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:456) ~[?:1.8.0_252] {}
	at net.minecraft.resources.AsyncReloader.func_219557_a(SourceFile:71) ~[?:?] {re:classloading}
	at net.minecraft.util.concurrent.ThreadTaskExecutor.execute(SourceFile:94) ~[?:?] {re:classloading,pl:accesstransformer:B}
	at net.minecraft.resources.AsyncReloader.func_219560_a(SourceFile:70) ~[?:?] {re:classloading}
	at java.util.concurrent.CompletableFuture$UniCompletion.claim(CompletableFuture.java:543) ~[?:1.8.0_252] {}
	at java.util.concurrent.CompletableFuture.uniAccept(CompletableFuture.java:667) ~[?:1.8.0_252] {}
	at java.util.concurrent.CompletableFuture$UniAccept.tryFire(CompletableFuture.java:646) ~[?:1.8.0_252] {}
	at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:488) ~[?:1.8.0_252] {}
	at java.util.concurrent.CompletableFuture.postFire(CompletableFuture.java:575) ~[?:1.8.0_252] {}
	at java.util.concurrent.CompletableFuture$UniAccept.tryFire(CompletableFuture.java:649) ~[?:1.8.0_252] {}
	at java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:456) ~[?:1.8.0_252] {}
	at net.minecraft.resources.AsyncReloader.func_219557_a(SourceFile:71) ~[?:?] {re:classloading}
	at net.minecraft.util.concurrent.ThreadTaskExecutor.execute(SourceFile:94) ~[?:?] {re:classloading,pl:accesstransformer:B}
	at net.minecraft.resources.AsyncReloader.func_219560_a(SourceFile:70) ~[?:?] {re:classloading}
	at java.util.concurrent.CompletableFuture$UniCompletion.claim(CompletableFuture.java:543) ~[?:1.8.0_252] {}
	at java.util.concurrent.CompletableFuture.uniAccept(CompletableFuture.java:667) ~[?:1.8.0_252] {}
	at java.util.concurrent.CompletableFuture$UniAccept.tryFire(CompletableFuture.java:646) ~[?:1.8.0_252] {}
	at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:488) ~[?:1.8.0_252] {}
	at java.util.concurrent.CompletableFuture.postFire(CompletableFuture.java:575) ~[?:1.8.0_252] {}
	at java.util.concurrent.CompletableFuture$UniAccept.tryFire(CompletableFuture.java:649) ~[?:1.8.0_252] {}
	at java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:456) ~[?:1.8.0_252] {}
	at com.mojang.blaze3d.systems.RenderSystem.replayQueue(SourceFile:112) ~[?:?] {re:classloading}
	at com.mojang.blaze3d.systems.RenderSystem.flipFrame(SourceFile:99) ~[?:?] {re:classloading}
	at net.minecraft.client.MainWindow.func_227802_e_(MainWindow.java:296) ~[?:?] {re:classloading,pl:runtimedistcleaner:A}
	at net.minecraft.client.Minecraft.func_195542_b(Minecraft.java:946) ~[?:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}
	at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:553) ~[?:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}
	at net.minecraft.client.main.Main.main(SourceFile:204) ~[minecraft-1.15.2-client.jar:?] {re:classloading}
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_252] {}
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_252] {}
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_252] {}
	at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_252] {}
	at net.minecraftforge.fml.loading.FMLClientLaunchProvider.lambda$launchService$0(FMLClientLaunchProvider.java:51) ~[forge-1.15.2-31.2.31-launcher.jar:31.2] {}
	at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:37) [modlauncher-5.1.0.jar:?] {}
	at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:54) [modlauncher-5.1.0.jar:?] {}
	at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:72) [modlauncher-5.1.0.jar:?] {}
	at cpw.mods.modlauncher.Launcher.run(Launcher.java:81) [modlauncher-5.1.0.jar:?] {}
	at cpw.mods.modlauncher.Launcher.main(Launcher.java:65) [modlauncher-5.1.0.jar:?] {}
	at io.github.zekerzhayard.forgewrapper.installer.Main.main(Main.java:50) [ForgeWrapper-1.4.2.jar:?] {}
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_252] {}
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_252] {}
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_252] {}
	at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_252] {}
	at org.multimc.onesix.OneSixLauncher.launchWithMainClass(OneSixLauncher.java:196) [NewLaunch.jar:?] {}
	at org.multimc.onesix.OneSixLauncher.launch(OneSixLauncher.java:231) [NewLaunch.jar:?] {}
	at org.multimc.EntryPoint.listen(EntryPoint.java:143) [NewLaunch.jar:?] {}
	at org.multimc.EntryPoint.main(EntryPoint.java:34) [NewLaunch.jar:?] {}


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

-- Head --
Thread: Render thread
Stacktrace:
	at team.chisel.ctm.client.model.ModelCTM.getTextures(ModelCTM.java:126)
	at team.chisel.ctm.client.model.ModelCTM.initializeTextures(ModelCTM.java:152)
	at team.chisel.ctm.client.util.TextureMetadataHandler.wrap(TextureMetadataHandler.java:186)
	at team.chisel.ctm.client.util.TextureMetadataHandler.onModelBake(TextureMetadataHandler.java:174)
	at net.minecraftforge.eventbus.ASMEventHandler_0_TextureMetadataHandler_onModelBake_ModelBakeEvent.invoke(.dynamic)
	at net.minecraftforge.eventbus.ASMEventHandler.invoke(ASMEventHandler.java:80)
	at net.minecraftforge.eventbus.EventBus.post(EventBus.java:258)
	at net.minecraftforge.fml.javafmlmod.FMLModContainer.acceptEvent(FMLModContainer.java:168)
	at net.minecraftforge.fml.ModLoader.lambda$postEvent$31(ModLoader.java:260)
	at java.util.HashMap.forEach(HashMap.java:1289)
	at net.minecraftforge.fml.ModList.forEachModContainer(ModList.java:218)
	at net.minecraftforge.fml.ModLoader.postEvent(ModLoader.java:260)
	at net.minecraftforge.client.ForgeHooksClient.onModelBake(ForgeHooksClient.java:393)
	at net.minecraft.client.renderer.model.ModelManager.func_212853_a_(ModelManager.java:71)
	at net.minecraft.client.renderer.model.ModelManager.func_212853_a_(ModelManager.java:19)
	at net.minecraft.client.resources.ReloadListener.func_215269_a(SourceFile:13)
	at java.util.concurrent.CompletableFuture.uniAccept(CompletableFuture.java:670)
	at java.util.concurrent.CompletableFuture$UniAccept.tryFire(CompletableFuture.java:646)
	at java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:456)
	at net.minecraft.resources.AsyncReloader.func_219557_a(SourceFile:71)
	at net.minecraft.util.concurrent.ThreadTaskExecutor.execute(SourceFile:94)
	at net.minecraft.resources.AsyncReloader.func_219560_a(SourceFile:70)
	at java.util.concurrent.CompletableFuture$UniCompletion.claim(CompletableFuture.java:543)
	at java.util.concurrent.CompletableFuture.uniAccept(CompletableFuture.java:667)
	at java.util.concurrent.CompletableFuture$UniAccept.tryFire(CompletableFuture.java:646)
	at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:488)
	at java.util.concurrent.CompletableFuture.postFire(CompletableFuture.java:575)
	at java.util.concurrent.CompletableFuture$UniAccept.tryFire(CompletableFuture.java:649)
	at java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:456)
	at net.minecraft.resources.AsyncReloader.func_219557_a(SourceFile:71)
	at net.minecraft.util.concurrent.ThreadTaskExecutor.execute(SourceFile:94)
	at net.minecraft.resources.AsyncReloader.func_219560_a(SourceFile:70)
	at java.util.concurrent.CompletableFuture$UniCompletion.claim(CompletableFuture.java:543)
	at java.util.concurrent.CompletableFuture.uniAccept(CompletableFuture.java:667)
	at java.util.concurrent.CompletableFuture$UniAccept.tryFire(CompletableFuture.java:646)
	at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:488)
	at java.util.concurrent.CompletableFuture.postFire(CompletableFuture.java:575)
	at java.util.concurrent.CompletableFuture$UniAccept.tryFire(CompletableFuture.java:649)
	at java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:456)
	at net.minecraft.resources.AsyncReloader.func_219557_a(SourceFile:71)
	at net.minecraft.util.concurrent.ThreadTaskExecutor.execute(SourceFile:94)
	at net.minecraft.resources.AsyncReloader.func_219560_a(SourceFile:70)
	at java.util.concurrent.CompletableFuture$UniCompletion.claim(CompletableFuture.java:543)
	at java.util.concurrent.CompletableFuture.uniAccept(CompletableFuture.java:667)
	at java.util.concurrent.CompletableFuture$UniAccept.tryFire(CompletableFuture.java:646)
	at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:488)
	at java.util.concurrent.CompletableFuture.postFire(CompletableFuture.java:575)
	at java.util.concurrent.CompletableFuture$UniAccept.tryFire(CompletableFuture.java:649)
	at java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:456)
	at net.minecraft.resources.AsyncReloader.func_219557_a(SourceFile:71)
	at net.minecraft.util.concurrent.ThreadTaskExecutor.execute(SourceFile:94)
	at net.minecraft.resources.AsyncReloader.func_219560_a(SourceFile:70)
	at java.util.concurrent.CompletableFuture$UniCompletion.claim(CompletableFuture.java:543)
	at java.util.concurrent.CompletableFuture.uniAccept(CompletableFuture.java:667)
	at java.util.concurrent.CompletableFuture$UniAccept.tryFire(CompletableFuture.java:646)
	at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:488)
	at java.util.concurrent.CompletableFuture.postFire(CompletableFuture.java:575)
	at java.util.concurrent.CompletableFuture$UniAccept.tryFire(CompletableFuture.java:649)
	at java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:456)
	at net.minecraft.resources.AsyncReloader.func_219557_a(SourceFile:71)
	at net.minecraft.util.concurrent.ThreadTaskExecutor.execute(SourceFile:94)
	at net.minecraft.resources.AsyncReloader.func_219560_a(SourceFile:70)
	at java.util.concurrent.CompletableFuture$UniCompletion.claim(CompletableFuture.java:543)
	at java.util.concurrent.CompletableFuture.uniAccept(CompletableFuture.java:667)
	at java.util.concurrent.CompletableFuture$UniAccept.tryFire(CompletableFuture.java:646)
	at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:488)
	at java.util.concurrent.CompletableFuture.postFire(CompletableFuture.java:575)
	at java.util.concurrent.CompletableFuture$UniAccept.tryFire(CompletableFuture.java:649)
	at java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:456)
	at net.minecraft.resources.AsyncReloader.func_219557_a(SourceFile:71)
	at net.minecraft.util.concurrent.ThreadTaskExecutor.execute(SourceFile:94)
	at net.minecraft.resources.AsyncReloader.func_219560_a(SourceFile:70)
	at java.util.concurrent.CompletableFuture$UniCompletion.claim(CompletableFuture.java:543)
	at java.util.concurrent.CompletableFuture.uniAccept(CompletableFuture.java:667)
	at java.util.concurrent.CompletableFuture$UniAccept.tryFire(CompletableFuture.java:646)
	at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:488)
	at java.util.concurrent.CompletableFuture.postFire(CompletableFuture.java:575)
	at java.util.concurrent.CompletableFuture$UniAccept.tryFire(CompletableFuture.java:649)
	at java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:456)
	at com.mojang.blaze3d.systems.RenderSystem.replayQueue(SourceFile:112)
	at com.mojang.blaze3d.systems.RenderSystem.flipFrame(SourceFile:99)

-- Overlay render details --
Details:
	Overlay name: net.minecraft.client.gui.ResourceLoadProgressGui
Stacktrace:
	at net.minecraft.client.renderer.GameRenderer.func_195458_a(GameRenderer.java:472)
	at net.minecraft.client.Minecraft.func_195542_b(Minecraft.java:924)
	at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:553)
	at net.minecraft.client.main.Main.main(SourceFile:204)
	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.minecraftforge.fml.loading.FMLClientLaunchProvider.lambda$launchService$0(FMLClientLaunchProvider.java:51)
	at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:37)
	at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:54)
	at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:72)
	at cpw.mods.modlauncher.Launcher.run(Launcher.java:81)
	at cpw.mods.modlauncher.Launcher.main(Launcher.java:65)
	at io.github.zekerzhayard.forgewrapper.installer.Main.main(Main.java:50)
	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 org.multimc.onesix.OneSixLauncher.launchWithMainClass(OneSixLauncher.java:196)
	at org.multimc.onesix.OneSixLauncher.launch(OneSixLauncher.java:231)
	at org.multimc.EntryPoint.listen(EntryPoint.java:143)
	at org.multimc.EntryPoint.main(EntryPoint.java:34)

-- Affected level --
Details:
	All players: 1 total; [ClientPlayerEntity['HeckinChloe'/2, l='MpServer', x=9.47, y=65.00, z=-127.01]]
	Chunk stats: Client Chunk Cache: 841, 575
	Level dimension: DimensionType{minecraft:overworld}
	Level name: MpServer
	Level seed: -1367696018341923132
	Level generator: ID 01 - flat, ver 0. Features enabled: false
	Level generator options: {}
	Level spawn location: World: (16,64,-112), Chunk: (at 0,4,0 in 1,-7; contains blocks 16,0,-112 to 31,255,-97), Region: (0,-1; contains chunks 0,-32 to 31,-1, blocks 0,0,-512 to 511,255,-1)
	Level time: 492741 game time, 6000 day time
	Known server brands: 
	Level was modded: false
	Level storage version: 0x00000 - Unknown?
	Level weather: Rain time: 0 (now: false), thunder time: 0 (now: false)
	Level game mode: Game mode: creative (ID 1). Hardcore: false. Cheats: false
	Server brand: forge
	Server type: Integrated singleplayer server

-- System Details --
Details:
	Minecraft Version: 1.15.2
	Minecraft Version ID: 1.15.2
	Operating System: Windows 10 (amd64) version 10.0
	Java Version: 1.8.0_252, AdoptOpenJDK
	Java VM Version: OpenJDK 64-Bit Server VM (mixed mode), AdoptOpenJDK
	Memory: 1837174016 bytes (1752 MB) / 2422734848 bytes (2310 MB) up to 7635730432 bytes (7282 MB)
	CPUs: 8
	JVM Flags: 3 total; -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump -Xms1024m -Xmx8192m
	ModLauncher: 5.1.0+69+master.79f13f7
	ModLauncher launch target: fmlclient
	ModLauncher naming: srg
	ModLauncher services: 
		/eventbus-2.2.0-service.jar eventbus PLUGINSERVICE 
		/forge-1.15.2-31.2.31-launcher.jar object_holder_definalize PLUGINSERVICE 
		/forge-1.15.2-31.2.31-launcher.jar runtime_enum_extender PLUGINSERVICE 
		/accesstransformers-2.1.3-shadowed.jar accesstransformer PLUGINSERVICE 
		/forge-1.15.2-31.2.31-launcher.jar capability_inject_definalize PLUGINSERVICE 
		/forge-1.15.2-31.2.31-launcher.jar runtimedistcleaner PLUGINSERVICE 
		/forge-1.15.2-31.2.31-launcher.jar fml TRANSFORMATIONSERVICE 
	FML: 31.2
	Forge: net.minecraftforge:31.2.31
	FML Language Providers: 
		javafml@31.2
		minecraft@1
	Mod List: 
		forge-1.15.2-31.2.31-client.jar Minecraft {minecraft@1.15.2 DONE}
		forge-1.15.2-31.2.31-universal.jar Forge {forge@31.2.31 DONE}
		CTM_DEV-MC1.15.2-1.1.0.12.jar ConnectedTexturesMod {ctm@MC1.15.2-1.1.0.12 DONE}
	Launched Version: MultiMC5
	Backend library: LWJGL version 3.2.2 build 10
	Backend API: GeForce GTX 970/PCIe/SSE2 GL version 4.6.0 NVIDIA 432.00, NVIDIA Corporation
	GL Caps: Using framebuffer using OpenGL 3.0
	Using VBOs: Yes
	Is Modded: Definitely; Client brand changed to 'forge'
	Type: Client (map_client.txt)
	Resource Packs: 
	Current Language: English (US)
	CPU: 8x Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz

No resource processing should crash the game. Vanilla used to catch this type of error in 1.12, but apparently no longer does.