Failed to encode packet 'clientbound/minecraft:update_recipes' Caused by: io.netty.handler.codec.EncoderException: Empty ItemStack not allowed
jahirxtrap opened this issue ยท 3 comments
Minecraft Version
1.21.1
KubeJS Version
2100.7.0-build.119
Rhino Version
2100.2.5-build.46
Architectury Version
13.0.6-neoforge
Forge/Fabric Version
NeoForge 21.1.4
Describe your issue
I tested using my mod Iron Bookshelves alongside KubeJS (I simply added the mod without making any other changes). It seems that when a tag used in a recipe has no items, the world fails to load and displays an error message. The normal behavior should be that the recipe simply doesn't load, but when using KubeJS, the world itself fails to load. This error occurs with any mod that uses a tag with no items in JSON crafting table recipes.
Crash report/logs
You really shouldn't have an empty tag be used in a recipe. Use the neoforge:tag_empty
load condition to stop your recipe from attempting to load if the tag is empty.
I'm familiar with conditional recipes (I'm also a modder), but the point is that KubeJS overrides the normal game behavior I mentioned. If this is something that can't be changed, I have no other option but to "adapt" to how this mod handles recipes.
Looking into this, imo you should still add conditional json key for tagged recipes but KubeJS also shouldn't be crashing like this. it should fail the recipe on server loading side, not network side, so I will see if I can patch this. but I recommend you add that conditional key too