iChunUtil

iChunUtil

80M Downloads

[1.12.2] java.lang.IllegalArgumentException

LiskoSlayer63 opened this issue · 16 comments

commented

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)
commented
commented

@iChun I'm using 14.23.0.2548

commented

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?

commented

@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.

commented

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.

commented

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

commented

That's be great, thanks!

commented

@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!

commented

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

commented

@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.

commented

@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. 😄

commented
commented

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.

commented
commented

@iChun I'm glad if my information helped!

commented

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