Universal Tweaks

Universal Tweaks

871k Downloads

Obsolete mods screen triggers Ender IO crash

embeddedt opened this issue · 1 comments

commented

It seems that Ender IO is not expecting its rendering system to be initialized before registering items (which can happen if the game crashes early enough).

I am not sure if you can fix this yourself, but if not, another option which would be perfectly fine is to also display the obsolete mods in the log.

[11:43:23] [Client thread/ERROR] [FML]: A custom exception was thrown by a mod, the game will display an error screen and halt.
mod.acgaming.universaltweaks.UTObsoleteModsHandler$Exception: 
	at mod.acgaming.universaltweaks.UTObsoleteModsHandler.throwException(UTObsoleteModsHandler.java:15) ~[UTObsoleteModsHandler.class:?]
	at mod.acgaming.universaltweaks.UniversalTweaks.throwIncompatibility(UniversalTweaks.java:87) ~[UniversalTweaks.class:?]
	at mod.acgaming.universaltweaks.UniversalTweaks.preInit(UniversalTweaks.java:99) ~[UniversalTweaks.class:?]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_352]
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_352]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_352]
	at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_352]
	at net.minecraftforge.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:637) ~[forge-1.12.2-14.23.5.2860-universal.jar:?]
	at sun.reflect.GeneratedMethodAccessor10.invoke(Unknown Source) ~[?:?]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_352]
	at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_352]
	at com.google.common.eventbus.Subscriber.invokeSubscriberMethod(Subscriber.java:91) ~[guava-21.0.jar:?]
	at com.google.common.eventbus.Subscriber$SynchronizedSubscriber.invokeSubscriberMethod(Subscriber.java:150) ~[guava-21.0.jar:?]
	at com.google.common.eventbus.Subscriber$1.run(Subscriber.java:76) ~[guava-21.0.jar:?]
	at com.google.common.util.concurrent.MoreExecutors$DirectExecutor.execute(MoreExecutors.java:399) ~[guava-21.0.jar:?]
	at com.google.common.eventbus.Subscriber.dispatchEvent(Subscriber.java:71) ~[guava-21.0.jar:?]
	at com.google.common.eventbus.Dispatcher$PerThreadQueuedDispatcher.dispatch(Dispatcher.java:116) ~[guava-21.0.jar:?]
	at com.google.common.eventbus.EventBus.post(EventBus.java:217) ~[guava-21.0.jar:?]
	at net.minecraftforge.fml.common.LoadController.sendEventToModContainer(LoadController.java:219) ~[LoadController.class:?]
	at net.minecraftforge.fml.common.LoadController.propogateStateMessage(LoadController.java:197) ~[LoadController.class:?]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_352]
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_352]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_352]
	at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_352]
	at com.google.common.eventbus.Subscriber.invokeSubscriberMethod(Subscriber.java:91) ~[guava-21.0.jar:?]
	at com.google.common.eventbus.Subscriber$SynchronizedSubscriber.invokeSubscriberMethod(Subscriber.java:150) ~[guava-21.0.jar:?]
	at com.google.common.eventbus.Subscriber$1.run(Subscriber.java:76) ~[guava-21.0.jar:?]
	at com.google.common.util.concurrent.MoreExecutors$DirectExecutor.execute(MoreExecutors.java:399) ~[guava-21.0.jar:?]
	at com.google.common.eventbus.Subscriber.dispatchEvent(Subscriber.java:71) ~[guava-21.0.jar:?]
	at com.google.common.eventbus.Dispatcher$PerThreadQueuedDispatcher.dispatch(Dispatcher.java:116) ~[guava-21.0.jar:?]
	at com.google.common.eventbus.EventBus.post(EventBus.java:217) ~[guava-21.0.jar:?]
	at net.minecraftforge.fml.common.LoadController.distributeStateMessage(LoadController.java:136) ~[LoadController.class:?]
	at net.minecraftforge.fml.common.Loader.preinitializeMods(Loader.java:629) ~[Loader.class:?]
	at net.minecraftforge.fml.client.FMLClientHandler.beginMinecraftLoading(FMLClientHandler.java:252) [FMLClientHandler.class:?]
	at net.minecraft.client.Minecraft.init(Minecraft.java:467) [bib.class:?]
	at net.minecraft.client.Minecraft.run(Minecraft.java:5101) [bib.class:?]
	at net.minecraft.client.main.Main.main(SourceFile:123) [Main.class:?]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_352]
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_352]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_352]
	at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_352]
	at net.minecraft.launchwrapper.Launch.launch(Launch.java:135) [launchwrapper-1.12.jar:?]
	at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.12.jar:?]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_352]
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_352]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_352]
	at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_352]
	at org.prismlauncher.impl.OneSixLauncher.invokeMain(OneSixLauncher.java:104) [NewLaunch.jar:?]
	at org.prismlauncher.impl.OneSixLauncher.launchWithMainClass(OneSixLauncher.java:176) [NewLaunch.jar:?]
	at org.prismlauncher.impl.OneSixLauncher.launch(OneSixLauncher.java:186) [NewLaunch.jar:?]
	at org.prismlauncher.EntryPoint.listen(EntryPoint.java:144) [NewLaunch.jar:?]
	at org.prismlauncher.EntryPoint.main(EntryPoint.java:74) [NewLaunch.jar:?]
[11:43:23] [Client thread/WARN] [FML]: EventBus 0 shutting down - future events will not be posted.
[11:43:23] [Client thread/INFO] [Config]: [OptiFine] *** Reloading textures ***
[11:43:23] [Client thread/INFO] [Config]: [OptiFine] Resource packs: Quark+Trapdoor+Retexture.zip
[11:43:24] [Client thread/INFO] [MoreSoundConfigCore]: Starting patch of class paulscode.sound.libraries.LibraryLWJGLOpenAL
[11:43:24] [Client thread/INFO] [MoreSoundConfigCore]: Patch of class paulscode.sound.libraries.LibraryLWJGLOpenAL ended
[11:43:24] [Sound Library Loader/INFO] [minecraft/SoundManager]: Starting up SoundSystem...
[11:43:24] [Thread-14/INFO] [minecraft/SoundManager]: Initializing LWJGL OpenAL
[11:43:24] [Thread-14/INFO] [minecraft/SoundManager]: (The LWJGL binding of OpenAL.  For more information, see http://www.lwjgl.org)
[11:43:25] [Thread-14/INFO] [moresoundconfig]: Reading sound devices
[11:43:25] [Thread-14/INFO] [moresoundconfig]: SoundManager loading on device System Default
[11:43:25] [Thread-14/INFO] [minecraft/SoundManager]: OpenAL initialized.
[11:43:25] [Client thread/INFO] [foamfix]: Cleaning up ModelLoader...
[11:43:25] [Client thread/INFO] [LoliASM]: Clearing and Trimming multipartModels, original size: 0 entries
[11:43:25] [Client thread/INFO] [LoliASM]: Clearing and Trimming multipartDefinitions, original size: 0 entries
[11:43:25] [Client thread/INFO] [LoliASM]: Clearing and Trimming multipartVariantMap, original size: 0 entries
[11:43:25] [Client thread/INFO] [LoliASM]: Clearing and Trimming blockDefinitions, original size: 0 entries
[11:43:25] [Client thread/INFO] [OpenComputers]: Successfully patched net/minecraft/client/renderer/entity/RenderLiving.renderLeash.
[11:43:25] [Sound Library Loader/INFO] [minecraft/SoundManager]: Sound engine started
[11:43:25] [Client thread/INFO] [Quark ASM]: Transforming net.minecraft.client.renderer.entity.layers.LayerArmorBase
[11:43:25] [Client thread/INFO] [Quark ASM]: Applying Transformation to method (Names [renderArmorLayer, func_188361_a] Descriptor (Lnet/minecraft/entity/EntityLivingBase;FFFFFFFLnet/minecraft/inventory/EntityEquipmentSlot;)V)
[11:43:25] [Client thread/INFO] [Quark ASM]: Located Method, patching...
[11:43:25] [Client thread/INFO] [Quark ASM]: Patch result: true
[11:43:25] [Client thread/INFO] [Quark ASM]: Optifine Detected. Disabling Patch for Names [renderEnchantedGlint, func_188364_a] Descriptor (Lnet/minecraft/client/renderer/entity/RenderLivingBase;Lnet/minecraft/entity/EntityLivingBase;Lnet/minecraft/client/model/ModelBase;FFFFFFF)V
[11:43:25] [Client thread/INFO] [Quark ASM]: Transforming net.minecraft.client.renderer.entity.layers.LayerEntityOnShoulder
[11:43:25] [Client thread/INFO] [Quark ASM]: Applying Transformation to method (Names [renderEntityOnShoulder, func_192864_a] Descriptor (Lnet/minecraft/entity/player/EntityPlayer;Ljava/util/UUID;Lnet/minecraft/nbt/NBTTagCompound;Lnet/minecraft/client/renderer/entity/RenderLivingBase;Lnet/minecraft/client/model/ModelBase;Lnet/minecraft/util/ResourceLocation;Ljava/lang/Class;FFFFFFFZ)Lnet/minecraft/client/renderer/entity/layers/LayerEntityOnShoulder$DataHolder;)
[11:43:25] [Client thread/INFO] [Quark ASM]: Located Method, patching...
[11:43:25] [Client thread/INFO] [Quark ASM]: Located patch target node INVOKEVIRTUAL net/minecraft/client/renderer/entity/RenderLivingBase.func_110776_a (Lnet/minecraft/util/ResourceLocation;)V
[11:43:25] [Client thread/INFO] [Quark ASM]: Patch result: true
[11:43:25] [Client thread/FATAL] [LoliASM]: Minecraft ran into a problem! Report saved to: ~/.local/share/polymc/instances/Not a Modpack II (Dev)/.minecraft/crash-reports/crash-2022-11-19_11.43.25-client.txt
---- Minecraft Crash Report ----
// Lolis deobfuscated this stacktrace using MCP's stable-39 mappings.
// Uh... Did I do that?
Time: 2022-11-19 11:43:25 EST
Description: Initializing game
java.lang.NullPointerException: Houston we have a problem: 'missing item for modObject enderio:item_owl_egg'. Please report that on our bugtracker unless you are using some old version. Thank you.
    at com.enderio.core.common.util.NullHelper.notnull(NullHelper.java:47)
    at com.enderio.core.common.util.NullHelper.notnull(NullHelper.java:18)
    at crazypants.enderio.base.init.ModObjectRegistry.getItemNN(ModObjectRegistry.java:222)
    at crazypants.enderio.base.init.IModObjectBase.getItemNN(IModObjectBase.java:76)
    at crazypants.enderio.base.item.eggs.RenderEntityOwlEgg.<init>(RenderEntityOwlEgg.java:22)
    at crazypants.enderio.base.item.eggs.RenderEntityOwlEgg$Factory.createRenderFor(RenderEntityOwlEgg.java:39)
    at net.minecraftforge.fml.client.registry.RenderingRegistry.register(RenderingRegistry.java:77)
    at net.minecraftforge.fml.client.registry.RenderingRegistry.loadEntityRenderers(RenderingRegistry.java:70)
    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.optifine.reflect.Reflector.call(Reflector.java:808)
    at net.minecraft.client.renderer.entity.RenderManager.<init>(RenderManager.java:249)
    at net.minecraft.client.Minecraft.init(Minecraft.java:518)
    at net.minecraft.client.Minecraft.run(Minecraft.java:5101)
    at net.minecraft.client.main.Main.main(SourceFile:123)
    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.minecraft.launchwrapper.Launch.launch(Launch.java:135)
    at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
    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.prismlauncher.impl.OneSixLauncher.invokeMain(OneSixLauncher.java:104)
    at org.prismlauncher.impl.OneSixLauncher.launchWithMainClass(OneSixLauncher.java:176)
    at org.prismlauncher.impl.OneSixLauncher.launch(OneSixLauncher.java:186)
    at org.prismlauncher.EntryPoint.listen(EntryPoint.java:144)
    at org.prismlauncher.EntryPoint.main(EntryPoint.java:74)
commented

Interesting, good to know!
There‘s a config setting to disable the obsolete mods screen:

public boolean utObsoleteModsToggle = true;

Sadly, the config file doesn‘t generate at this stage. Gotta find a way for these edge cases.