Not Enough Items 1.8.+

Not Enough Items 1.8.+

16M Downloads

NEI breaks the MissingMods screen

mezz opened this issue ยท 14 comments

commented

When any mod dependency is missing, I get this crash instead of the MissingMods screen:
This is not specific to NEI's dependencies, if I add JEI so that NEI is happy, but add another mod like EnderIO (which needs EnderCore) the game will crash on the MissingMods screen in the same way.

---- Minecraft Crash Report ----

WARNING: coremods are present:
  CCLCorePlugin (CodeChickenLib-1.10.2-2.2.3.57-universal.jar)
  CCCDeobfPlugin (unknown)
  CodeChickenCorePlugin (CodeChickenCore-1.10.2-2.1.8.79-universal.jar)
  NEICorePlugin (NotEnoughItems-1.10.2-2.1.1.147-universal.jar)
Contact their authors BEFORE contacting forge

// Who set us up the TNT?

Time: 9/24/16 9:14 PM
Description: Rendering screen

java.lang.NoClassDefFoundError: bxl
    at net.minecraftforge.fml.common.versioning.Restriction.toStringFriendly(Restriction.java:224)
    at net.minecraftforge.fml.common.versioning.VersionRange.toStringFriendly(VersionRange.java:498)
    at net.minecraftforge.fml.client.GuiModsMissing.func_73863_a(GuiModsMissing.java:106)
    at net.minecraftforge.client.ForgeHooksClient.drawScreen(ForgeHooksClient.java:382)
    at net.minecraft.client.renderer.EntityRenderer.func_181560_a(EntityRenderer.java:1094)
    at net.minecraft.client.Minecraft.func_71411_J(Minecraft.java:1076)
    at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:371)
    at net.minecraft.client.main.Main.main(SourceFile:124)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    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(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.multimc.onesix.OneSixLauncher.launchWithMainClass(OneSixLauncher.java:191)
    at org.multimc.onesix.OneSixLauncher.launch(OneSixLauncher.java:252)
    at org.multimc.EntryPoint.listen(EntryPoint.java:162)
    at org.multimc.EntryPoint.main(EntryPoint.java:53)


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

-- Head --
Thread: Client thread
Stacktrace:
    at net.minecraftforge.fml.common.versioning.Restriction.toStringFriendly(Restriction.java:224)
    at net.minecraftforge.fml.common.versioning.VersionRange.toStringFriendly(VersionRange.java:498)
    at net.minecraftforge.fml.client.GuiModsMissing.func_73863_a(GuiModsMissing.java:106)
    at net.minecraftforge.client.ForgeHooksClient.drawScreen(ForgeHooksClient.java:382)

-- Screen render details --
Details:
    Screen name: net.minecraftforge.fml.client.GuiModsMissing
    Mouse location: Scaled: (286, 116). Absolute: (573, 246)
    Screen size: Scaled: (427, 240). Absolute: (854, 480). Scale factor of 2
Stacktrace:
    at net.minecraft.client.renderer.EntityRenderer.func_181560_a(EntityRenderer.java:1094)
    at net.minecraft.client.Minecraft.func_71411_J(Minecraft.java:1076)
    at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:371)
    at net.minecraft.client.main.Main.main(SourceFile:124)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    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(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.multimc.onesix.OneSixLauncher.launchWithMainClass(OneSixLauncher.java:191)
    at org.multimc.onesix.OneSixLauncher.launch(OneSixLauncher.java:252)
    at org.multimc.EntryPoint.listen(EntryPoint.java:162)
    at org.multimc.EntryPoint.main(EntryPoint.java:53)

-- System Details --
Details:
    Minecraft Version: 1.10.2
    Operating System: Windows 10 (amd64) version 10.0
    Java Version: 1.8.0_102, Oracle Corporation
    Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
    Memory: 2154380672 bytes (2054 MB) / 3191865344 bytes (3044 MB) up to 5726797824 bytes (5461 MB)
    JVM Flags: 3 total; -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump -Xms2048m -Xmx6144m
    IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0
    FML: MCP 9.32 Powered by Forge 12.18.1.2094 5 mods loaded, 5 mods active
    States: 'U' = Unloaded 'L' = Loaded 'C' = Constructed 'H' = Pre-initialized 'I' = Initialized 'J' = Post-initialized 'A' = Available 'D' = Disabled 'E' = Errored
    U   mcp{9.19} [Minecraft Coder Pack] (minecraft.jar) 
    U   FML{8.0.99.99} [Forge Mod Loader] (forge-1.10.2-12.18.1.2094-universal.jar) 
    U   Forge{12.18.1.2094} [Minecraft Forge] (forge-1.10.2-12.18.1.2094-universal.jar) 
    U   CodeChickenCore{2.1.8.79} [CodeChicken Core] (minecraft.jar) 
    U   NotEnoughItems{2.1.1.147} [Not Enough Items] (NotEnoughItems-1.10.2-2.1.1.147-universal.jar) 
    Loaded coremods (and transformers): 
CCLCorePlugin (CodeChickenLib-1.10.2-2.2.3.57-universal.jar)
  codechicken.lib.asm.ClassHeirachyManager
  codechicken.lib.asm.RenderHookTransformer
CCCDeobfPlugin (unknown)

CodeChickenCorePlugin (CodeChickenCore-1.10.2-2.1.8.79-universal.jar)
  codechicken.core.asm.TweakTransformer
  codechicken.core.asm.DelegatedTransformer
  codechicken.core.asm.DefaultImplementationTransformer
NEICorePlugin (NotEnoughItems-1.10.2-2.1.1.147-universal.jar)
  codechicken.nei.asm.NEITransformer
    GL info: ' Vendor: 'NVIDIA Corporation' Version: '4.5.0 NVIDIA 369.09' Renderer: 'GeForce GTX 680/PCIe/SSE2'
    Launched Version: MultiMC5
    LWJGL: 2.9.1
    OpenGL: GeForce GTX 680/PCIe/SSE2 GL version 4.5.0 NVIDIA 369.09, NVIDIA Corporation
    GL Caps: Using GL 1.3 multitexturing.
Using GL 1.3 texture combiners.
Using framebuffer objects because OpenGL 3.0 is supported and separate blending is supported.
Shaders are available because OpenGL 2.1 is supported.
VBOs are available because OpenGL 1.5 is supported.

    Using VBOs: Yes
    Is Modded: Definitely; Client brand changed to 'fml,forge'
    Type: Client (map_client.txt)
    Resource Packs: 
    Current Language: English (US)
    Profiler Position: N/A (disabled)
    CPU: 8x Intel(R) Core(TM) i7-2600K CPU @ 3.40GHz

bxl is I18n, which is normally only available client-side. The stack trace looks like it's client-side, but I have no idea what classes NEI edits so that's as far as I understand.

If I remove NEI, the MissingMods screen works fine, even with CCC and CCL present.

commented

Yeah, i have no idea either, NEI doesn't edit anything around that, ill do a bunch of digging and see if i can re produce in dev.

commented

This is the same as #22 and an issue that I closed (CCL repo) thinking this issue was solved with an update. After more testing, it seems that the error here does show more often than not, but sometimes it will show. I can't be sure why and what would cause it to act differently.

commented

My best guess is that is has something to do with this section of ASM injection:
https://github.com/TheCBProject/NotEnoughItems/blob/1.9/src/main/java/codechicken/nei/asm/NEITransformer.java#L69-L80

The crash log contains GuiModsMissing.func_73863_a and these lines edit func_73863_a (drawScreen).

commented

Maybe, but NEI only targets GuiContainer and any sub classes if it, I have some ideas, but sadly i have school to go to..

commented

Actually, it might be NEI somehow loading classes too early and
somehow causing class deobf to not load, but i was sure nei loaded
before class deobf and did all its asm in obf. Just an idea, trying to
document my ideas so people know whats going on. 

----- Original Message -----
From: "TheCBProject/NotEnoughItems"
To:"TheCBProject/NotEnoughItems"
Cc:"covers1624" , "Comment"
Sent:Thu, 29 Sep 2016 13:32:23 -0700
Subject:Re: [TheCBProject/NotEnoughItems] NEI breaks the MissingMods
screen (#23)

My best guess is that is has something to do with this section of ASM

injection:
https://github.com/TheCBProject/NotEnoughItems/blob/1.9/src/main/java/codechicken/nei/asm/NEITransformer.java#L69-L80
[1]

The crash log contains GuiModsMissing.func_73863_a and these lines

edit func_73863_a.

โ€”

You are receiving this because you commented.
Reply to this email directly, view it on GitHub [2], or mute the
thread [3].

Links:

[1]
https://github.com/TheCBProject/NotEnoughItems/blob/1.9/src/main/java/codechicken/nei/asm/NEITransformer.java#L69-L80
[2]
#23 (comment)
[3]
https://github.com/notifications/unsubscribe-auth/ABTl6t1sbPo8vDyWbZ3VMMxDREUgbZmFks5qvCBXgaJpZM4KF0Nt

commented

This is one particular issue that we at the Minecraft Forums are getting pretty tired of.
Therefore I'd like to suggest fixing it as priority no. 1.

If you don't know how to fix it, here's a suggestion on how to at least patch it:

  1. Create your own Minecraft Forum thread for Chickenbones' mods and clearly state that NEI is now a JEI addon, which means it needs JEI (and link JEI). Also link this Github if you want.
    You can always edit that thread's OP. (If you could edit Chickenbones' original thread's OP, I'm sure you would have done so already.)
  2. Ask the Minecraft Forum moderators if they want to lock Chickenbones' thread with one final comment, that the thread is continued at .

Just because lately this question about JEI covers at least 60% of all questions asked in the thread.
And this Github can not be found on Google or Github. Except if you already know the name of your group, "TheCBProject", or that the link to this Github has been posted in the (original) Minecraft forum thread a few times.

commented

@Robijnvogel As said 11 days ago

I have some ideas, but sadly i have school to go to..

School is kind of, just a little bit, more important.

commented

@Robijnvogel I can do that MC forum stuff now, i do have contact with CB so ill get him to edit his post.

commented

Good luck on your studies. :D

commented

I added this to the other project, it should direct more issues here and help people discover this Github project.
Chicken-Bones/NotEnoughItems#356

ChickenBones also updated the README to point to this project.

commented

cheers @mezz, the readme was already pointed.

commented

Good work people! :D

commented

I believe i have fixed this, there was issues with jenkins can you verify your end @mezz. http://puu.sh/rHjuX/276f6fd19d.png

commented

Testing with NEI 2.1.2.156

Looks good when just JEI is missing! Also works fine when JEI is there and another mod is missing its dependency.