iChun / iChunUtil

iChunUtil as required by several of my mods.
GNU Lesser General Public License v3.0
40 stars 53 forks source link

[1.12.2] java.lang.IllegalArgumentException #160

Closed LiskoSlayer63 closed 6 years ago

LiskoSlayer63 commented 6 years ago

When trying to open the Recipe Book when iChunUtil is installed it crashes Minecraft because it can't find "ichunutil:porkchops". I assume that this is a bug.

It doesn't affect playing so much because I don't even use the Recipe Book but it's annoying if you accidentally click it.

There's the crash message:

java.lang.IllegalArgumentException: Attempted to get the ID for a unknown recipe: net.minecraft.item.crafting.ShapelessRecipes@7e2788e7 Name: ichunutil:porkchops
    at net.minecraft.stats.RecipeBook.func_194075_d(RecipeBook.java:53)
    at net.minecraft.stats.RecipeBook.func_193830_f(RecipeBook.java:35)
    at net.minecraft.client.gui.recipebook.RecipeList.func_194210_a(SourceFile:34)
    at net.minecraft.client.gui.recipebook.GuiRecipeBook.lambda$updateCollections$0(GuiRecipeBook.java:161)
    at java.util.ArrayList.forEach(Unknown Source)
    at net.minecraft.client.gui.recipebook.GuiRecipeBook.func_193003_g(GuiRecipeBook.java:159)
    at net.minecraft.client.gui.recipebook.GuiRecipeBook.func_193014_a(GuiRecipeBook.java:96)
    at net.minecraft.client.gui.inventory.GuiInventory.func_146284_a(SourceFile:182)
    at net.minecraft.client.gui.GuiScreen.func_73864_a(GuiScreen.java:443)
    at net.minecraft.client.gui.inventory.GuiContainer.func_73864_a(GuiContainer.java:323)
    at net.minecraft.client.gui.inventory.GuiInventory.func_73864_a(SourceFile:160)
    at net.minecraft.client.gui.GuiScreen.func_146274_d(GuiScreen.java:533)
    at net.minecraft.client.gui.GuiScreen.func_146269_k(GuiScreen.java:501)
    at net.minecraft.client.Minecraft.func_71407_l(Minecraft.java:1757)
    at net.minecraft.client.Minecraft.func_71411_J(Minecraft.java:1096)
    at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:397)
    at net.minecraft.client.main.Main.main(SourceFile:123)
    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)
iChun commented 6 years ago

What forge are you using?

On Mon, Nov 20, 2017 at 6:13 AM, LiskoSlayer63 notifications@github.com wrote:

When trying to open the Recipe Book when iChunUtil is installed it crashes Minecraft because it can't find "ichunutil:porkchops". I assume that this is a bug.

It doesn't affect to playing so much because I don't even use the Recipe Book but it's annoying if you accidentally click it.

There's the crash message:

java.lang.IllegalArgumentException: Attempted to get the ID for a unknown recipe: net.minecraft.item.crafting.ShapelessRecipes@7e2788e7 Name: ichunutil:porkchops at net.minecraft.stats.RecipeBook.func_194075_d(RecipeBook.java:53) at net.minecraft.stats.RecipeBook.func_193830_f(RecipeBook.java:35) at net.minecraft.client.gui.recipebook.RecipeList.func_194210_a(SourceFile:34) at net.minecraft.client.gui.recipebook.GuiRecipeBook.lambda$updateCollections$0(GuiRecipeBook.java:161) at java.util.ArrayList.forEach(Unknown Source) at net.minecraft.client.gui.recipebook.GuiRecipeBook.func_193003_g(GuiRecipeBook.java:159) at net.minecraft.client.gui.recipebook.GuiRecipeBook.func_193014_a(GuiRecipeBook.java:96) at net.minecraft.client.gui.inventory.GuiInventory.func_146284_a(SourceFile:182) at net.minecraft.client.gui.GuiScreen.func_73864_a(GuiScreen.java:443) at net.minecraft.client.gui.inventory.GuiContainer.func_73864_a(GuiContainer.java:323) at net.minecraft.client.gui.inventory.GuiInventory.func_73864_a(SourceFile:160) at net.minecraft.client.gui.GuiScreen.func_146274_d(GuiScreen.java:533) at net.minecraft.client.gui.GuiScreen.func_146269_k(GuiScreen.java:501) at net.minecraft.client.Minecraft.func_71407_l(Minecraft.java:1757) at net.minecraft.client.Minecraft.func_71411_J(Minecraft.java:1096) at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:397) at net.minecraft.client.main.Main.main(SourceFile:123) 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)

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/iChun/iChunUtil/issues/160, or mute the thread https://github.com/notifications/unsubscribe-auth/ACMSTPXMhl39_2tDBAGv6KObOm8xHc-dks5s4Kf0gaJpZM4QjkC4 .

LiskoSlayer63 commented 6 years ago

@iChun I'm using 14.23.0.2548

iChun commented 6 years ago

Huh, that's strange. You're the only person to report this thusfar. It's not crashing on an older version of Forge in deobfuscated environment. What version of iChunUtil are you on and what other mods do you have?

LiskoSlayer63 commented 6 years ago

@iChun I'm using the newest one available in CurseForge (7.1.2). I uploaded the full crash log here so you can see all my mods.

iChun commented 6 years ago

It doesn't crash with just forge and iChunUtil does it? I see something about maybe having to register recipes but I'm surprised it hasn't crashed before this.

iChun commented 6 years ago

So I'm wondering if it's another mod causing it to crash or something

LiskoSlayer63 commented 6 years ago

@iChun Hm, it might be some other mod. I'm only just testing new mods that I can finally upgrade to 1.12.2, so it is possible that some other mod is causing this problem. I'll be testing different things probably for all night and report here if I find something!

iChun commented 6 years ago

That's be great, thanks!

LiskoSlayer63 commented 6 years ago

@iChun I feel so stupid right now. Seems that your mod wasn't causing the crash, it was Minecraft itself!

My server didn't have your mod installed because there was no need for it, but after 1.12 version of Minecraft the server can host loot tables and when the server didn't know about iChunUtil it either didn't know about it's loot tables and therefore didn't send any information to the client which caused the crash.

This crash was simply fixed by dropping the mod in the server's mod directory, case closed. 😄

iChun commented 6 years ago

Wait how'd you even connect to the server without the mod installed though.

LiskoSlayer63 commented 6 years ago

@iChun My client has one mod which required iChunUtil (visual mod), server has none. I can easily connect to the server with no problem because there's nothing which actually needs the library (except that one client side mod). So the iChunUtil isn't needed on the server side. Putting it there only prevents the client from crashing because then the client can stream the loot table data for it. If I was in singleplayer everything worked fine because it used the local tables but if I tried to connect to any server which doesn't have it the recipe book button will crash the client. Fortunately I play only on my own server so the fix was easy to do by putting that one redundant library (iChunUtil) to the serber's mod folder altought it really doesn't need it there.

Sorry if my explanation is little confusing, didn't sleep at all and I'm on the phone at the moment.

iChun commented 6 years ago

No no that's the thing though, iChunUtil was never stated anywhere as being client only so it should have been required on the server as well. That's why I'm confused you could connect without it on the server.

On 20 Nov 2017 9:06 pm, "LiskoSlayer63" notifications@github.com wrote:

@iChun https://github.com/ichun My client has one mod which required iChunUtil (visual mod), server has none. I can easily connect to the server with no problem because there's nothing which actually needs the library (except that one client side mod). So the iChunUtil isn't needed on the server side. Putting it there only prevents the client from crashing because then the client can stream the loot table data for it. If I was in singleplayer everything worked fine because it used the local tables but if I tried to connect to any server which doesn't have it the recipe book button will crash the client. Fortunately I play only on my own server so the fix was easy to do by putting that one redundant library (iChunUtil) to the serber's mod folder altought it really doesn't need it there.

Sorry if my explanation is little confusing, didn't sleep at all and I'm on the phone at the moment.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/iChun/iChunUtil/issues/160#issuecomment-345690039, or mute the thread https://github.com/notifications/unsubscribe-auth/ACMSTL-mIIHKp7a4feiWZmvT4ZY9_3xrks5s4XlSgaJpZM4QjkC4 .

LiskoSlayer63 commented 6 years ago

You could always connect if you have all the mods that server needs, but in this case I have those. I mean, you could connect with OptiFine even that server doesn't have OptiFine. I'm 99% sure that this crash happens if you try to connect to a vanilla server with modded client which has iChunUtil.

iChun commented 6 years ago

Oh right. Fair point. I was thinking the other way around how clients can't connect if the server doesn't have it. Huh. Thanks for the info though. That's something new I've learnt today.

On 20 Nov 2017 10:48 pm, "LiskoSlayer63" notifications@github.com wrote:

You could always connect if you have all the mods that server needs, but in this case I have those. I mean, you could connect with OptiFine even that server doesn't have OptiFine.

— You are receiving this because you were mentioned.

Reply to this email directly, view it on GitHub https://github.com/iChun/iChunUtil/issues/160#issuecomment-345717376, or mute the thread https://github.com/notifications/unsubscribe-auth/ACMSTLBhhaGK9i4oW-hMneVaMQVCd0H0ks5s4ZFPgaJpZM4QjkC4 .

LiskoSlayer63 commented 6 years ago

@iChun I'm glad if my information helped!

iChun commented 6 years ago

This is fixed for the next version of iChunUtil. You'll stop crashing now yay!