[1.19.2] 2.0.19 breaks KubeJS recipes
itsdinkd opened this issue ยท 6 comments
When updating to 2.0.19 of Alloy Forgery, my main kubejs file broke with the following error message in kubejs' error file, server.txt
Could you send the given custom recipes for alloy forgery? The log provided doesn't have much to go on besides something about the recipes having a null output.
There is no custom recipe for Alloy Forgery, that's unfortunately the thing. I am not changing any recipes involving alloy in the file that's breaking. It's most likely affecting the recipes that have tags (ore) that alloy forgery is compatible with.
After talking with some in KubeJS discord, we're looking at this commit with this as possibly the reason? I have a feeling that the devs are storing null instead of Air for their Item output field in the recipe
1942777#diff-9350e8f16bdbe0fdb014662a3a22c224e725349a76ea57f14ff0656f4038e737
Here is the discord convo in kubejs discord if you'd like to join https://discord.com/channels/303440391124942858/1081321614026752040/1081337880368136272
I double checked also and 2.0.17 is indeed is not having any issues with the kubejs script file that breaks when using 2.0.19
Ah, still don't know where this is happening and why but Ill see about getting a build with a Change to fix this issue.
I need more time to figure out what is going on here before I decided on the previous action.
An addendum to anyone who stumbled upon this issue, you are able to bypass it by forcing KubeJS to ignore Alloy Forgery when parsing recipes.
By adding a "not" condition to your recipe events, then the Alloy Forgery recipe handler is never invoked by KubeJS, and therefore it never fails. Provided example:
ServerEvents.recipes(event => {
// helper function that always checks against alloy forgery for each recipe output removal
let removeOutput = function(output2) {
event.remove({output: output2, not:{mod:'alloy_forgery'}})
}
// sticks begone, without any errors!
removeOutput('minecraft:stick')
...