Conditional Recipes from any mod completely break if you add or remove any recipes in Neoforge 1.20.4+
Saereth opened this issue ยท 3 comments
Minecraft Version
1.20.4
KubeJS Version
kubejs-neoforge-2004.7.0-build.16.jar
Rhino Version
rhino-neoforge-2004.2.3-build.4.jar
Architectury Version
architectury-11.1.17-neoforge.jar
Forge/Fabric Version
Neoforge 20.4.234
Describe your issue
1.20.4
- Minecraft Version:
1.20.4
- Neoforge Version:
20.4.234
- KubeJS Version:
2004.7.0-build.16
~/2004.7.0-build.20
When making a conditional recipe in a datapack, it works fine, untill you add a recipe through ServerEvents.recipes.
Steps to reproduce:
- Make a recipe in datapack format, with conditions
- Add a recipe via the ServerEvents.recipes
All recipes with conditions are now not available anymore.
My assumption is; that in Neoforge, its called "neoforge:conditions":[]
and not "conditions":[]
This is very evident when testing with Sophisticated Backpacks, as that mod uses it in every recipe, basicly rendering those useless.
For testing i also used this modid_loaded recipe, which works fine if there are no recipes declared via KubeJS.
JSONRecipe:
{
"neoforge:conditions":[
{
"type": "neoforge:modid_loaded",
"modid": "kubejs"
}
],
"type": "minecraft:crafting_shaped",
"category": "redstone",
"key": {
"#": {
"item": "minecraft:oak_planks"
}
},
"pattern": ["##", "##", "##"],
"result": {
"count": 3,
"item": "minecraft:oak_door"
}
}
Recipe i used to test if it would break the JSON Recipes
ServerEvents.recipes((event) => {
event
.shaped("minecraft:beehive", ["PPP", "SSS", "PPP"], {
P: "#minecraft:planks",
S: "minecraft:sugar",
})
});
through testing, i found out that, checkConditions
in RecipeHelper
is not firing correctly
(my assumption is that the ICondition.conditionsMatched(ops, arr)
is not working correctly).
Tazz Made a video showing it as well pretty succintly.
I know when you released the 1.20.4 you were moving on pretty immediately which is fine, I havent been able to test this to see if its still an issue on 1.20.5+ as I couldnt get kube to load up on that version presently so this may or may not continue to be a breaking issue in versions beyond 1.20.4 but I suspect it may be.
Crash report/logs
No response
My assumption is; that in Neoforge, its called "neoforge:conditions":[] and not "conditions":[]
well this is... irrelevant since we did that rename early on in the 1.20.4 cycle, but idk what's wrong with conditionsMatched hmmm