[1.12] [CraftTweaker] Crusher not adding Custom Recipes with the same output
MasterEnderman opened this issue ยท 9 comments
Description of the issue:
I made a few recipes to recycle diamond armor / tools in the crusher. It shows in the CraftTweaker log that it registers the recipes, but they won't show in JEI and they won't work if you throw the items into the crusher. Only the first specified recipe shows up ingame.
Script:
recycling.zs
import crafttweaker.item.IItemStack;
import crafttweaker.liquid.ILiquidDefinition;
import crafttweaker.liquid.ILiquidStack;
import crafttweaker.item.IIngredient;
import crafttweaker.oredict.IOreDict;
import crafttweaker.oredict.IOreDictEntry;
mods.immersiveengineering.Crusher.addRecipe(<minecraft:diamond>*8, <minecraft:diamond_chestplate>, 1024);
mods.immersiveengineering.Crusher.addRecipe(<minecraft:diamond>*7, <minecraft:diamond_leggings>, 1024);
mods.immersiveengineering.Crusher.addRecipe(<minecraft:diamond>*4, <minecraft:diamond_boots>, 1024);
mods.immersiveengineering.Crusher.addRecipe(<minecraft:diamond>*5, <minecraft:diamond_helmet>, 1024);
mods.immersiveengineering.Crusher.addRecipe(<minecraft:diamond>*2, <minecraft:diamond_sword>, 1024);
mods.immersiveengineering.Crusher.addRecipe(<minecraft:diamond>, <minecraft:diamond_shovel>, 1024);
mods.immersiveengineering.Crusher.addRecipe(<minecraft:diamond>*3, <minecraft:diamond_pickaxe>, 1024);
mods.immersiveengineering.Crusher.addRecipe(<minecraft:diamond>*3, <minecraft:diamond_axe>, 1024);
mods.immersiveengineering.Crusher.addRecipe(<minecraft:diamond>*2, <minecraft:diamond_hoe>, 1024);
mods.immersiveengineering.Crusher.addRecipe(<maille:chainmesh>*5, <minecraft:chainmail_helmet>, 1024);
mods.immersiveengineering.Crusher.addRecipe(<maille:chainmesh>*8, <minecraft:chainmail_chestplate>, 1024);
mods.immersiveengineering.Crusher.addRecipe(<maille:chainmesh>*7, <minecraft:chainmail_leggings>, 1024);
mods.immersiveengineering.Crusher.addRecipe(<maille:chainmesh>*2, <minecraft:chainmail_boots>, 1024, <immersiveengineering:metal:18>*2, 1.0);
mods.immersiveengineering.Crusher.addRecipe(<minecraft:diamond>*5, <minecraft:diamond_horse_armor>, 1024);
CraftTweaker.log:
[INITIALIZATION][CLIENT][INFO] [crafttweaker | SIDE_CLIENT]: Loading Script: {[0:crafttweaker]: recycling.zs}
[INITIALIZATION][CLIENT][INFO] Adding Crusher Recipe for Diamond
[INITIALIZATION][CLIENT][INFO] Adding Crusher Recipe for Diamond
[INITIALIZATION][CLIENT][INFO] Adding Crusher Recipe for Diamond
[INITIALIZATION][CLIENT][INFO] Adding Crusher Recipe for Diamond
[INITIALIZATION][CLIENT][INFO] Adding Crusher Recipe for Diamond
[INITIALIZATION][CLIENT][INFO] Adding Crusher Recipe for Diamond
[INITIALIZATION][CLIENT][INFO] Adding Crusher Recipe for Diamond
[INITIALIZATION][CLIENT][INFO] Adding Crusher Recipe for Diamond
[INITIALIZATION][CLIENT][INFO] Adding Crusher Recipe for Diamond
[INITIALIZATION][CLIENT][INFO] Adding Crusher Recipe for Chain Mesh
[INITIALIZATION][CLIENT][INFO] Adding Crusher Recipe for Chain Mesh
[INITIALIZATION][CLIENT][INFO] Adding Crusher Recipe for Chain Mesh
[INITIALIZATION][CLIENT][INFO] Adding Crusher Recipe for Chain Mesh
[INITIALIZATION][CLIENT][INFO] Adding Crusher Recipe for Diamond
Versions & Modlist
Forge: 14.23.4.2757
IE: 0.12-85
Modlist: https://pastebin.com/HkhL1qeV
like the gold and iron armors, i just added it to the arc furnace and that seems to work :)
Not solving your issue but just pointing out you should use the arc for it like the others :D
Sure that's something I could do, but that would mean that you melt the diamond armor and tools, which doesn't really makes sense to me.
I'm seeing the same behavior, using All The Mods 3 (Remix) 0.0.3, trying to add the following recipes:
mods.immersiveengineering.Crusher.addRecipe(<minecraft:clay_ball>*4, <minecraft:clay>, 1024);
mods.immersiveengineering.Crusher.addRecipe(<minecraft:clay_ball>*4, <minecraft:hardened_clay>, 2048);
mods.immersiveengineering.Crusher.addRecipe(<minecraft:clay_ball>*4, <minecraft:stained_hardened_clay:*>, 2048);
Only the first one shows up in JEI and works, but the log indicates all three are added. Only tried against the vanilla furnace, but there all recipes show up.
Versions:
- Immersive Engineering 0.12-85
- CraftTweaker2 4.1.9
- Forge 14.23.4.2759
So I removed all other CT scripts, and still getting the same behavior. The log now looks like this:
[INITIALIZATION][CLIENT][INFO] CraftTweaker: Building registry
[INITIALIZATION][CLIENT][INFO] CraftTweaker: Successfully built item registry
[INITIALIZATION][CLIENT][INFO] Loading scripts
[INITIALIZATION][CLIENT][INFO] [crafttweaker | SIDE_CLIENT]: Loading Script: {[0:crafttweaker]: general\squid-box.zs}
[INITIALIZATION][CLIENT][INFO] ============== Squid-Box Customizations ==============
[INITIALIZATION][CLIENT][INFO] ======================================================
[INITIALIZATION][CLIENT][INFO] Adding Crusher Recipe for Clay
[INITIALIZATION][CLIENT][INFO] Adding Crusher Recipe for Clay
[INITIALIZATION][CLIENT][INFO] Adding Crusher Recipe for Clay
[INITIALIZATION][CLIENT][INFO] Completed script loading in: 374ms
[POSTINITIALIZATION][CLIENT][INFO] Adding furnace recipe for <minecraft:hardened_clay>
[POSTINITIALIZATION][CLIENT][INFO] Adding furnace recipe for <sgcraft:naquadah>
[SERVER_STARTED][CLIENT][INFO] Fixed the RecipeBook
and my only .cz file contains:
import crafttweaker.item.IIngredient;
import crafttweaker.item.IItemStack;
import crafttweaker.oredict.IOreDict;
import crafttweaker.oredict.IOreDictEntry;
#packmode normal simplified
print(" ============== Squid-Box Customizations ============== ");
print(" ====================================================== ");
//====== Add recipes to IE Crusher ======
mods.immersiveengineering.Crusher.addRecipe(<minecraft:clay_ball>*4, <minecraft:clay>, 3600);
mods.immersiveengineering.Crusher.addRecipe(<minecraft:clay_ball>*4, <minecraft:hardened_clay>, 4000);
mods.immersiveengineering.Crusher.addRecipe(<minecraft:clay_ball>*2, <minecraft:stained_hardened_clay:*>, 4000, <minecraft:clay_ball>*2, 1.0);
furnace.addRecipe(<minecraft:clay_ball>*4, <minecraft:hardened_clay>);
furnace.addRecipe(<minecraft:clay_ball>*4, <sgcraft:naquadah>);
(Added furnace recipes just to check if it works with "normal" blocks, guessing that's why those recipes are listed under POSTINITIALIZATION while the first ones are under INITIALIZATION.)
Is there any way to collect more log info, or further debug this? I guess I could start stripping out mods from the pack, but don't really know where to start.
I'm unable to replicate this, I also can't see any way for this to happen. Could one of you try removing all other CT scripts to see whether one of them is interfering with your new recipes?
After quite some tinkering it looks like this problem appears if UniDict is present.
UniDict 1.12.2-2.7b
WanionLib 1.12.2-1.5
Happy to help with any further testing, but I'm pretty much at my (very weak) modded Minecraft knowledge now.
(Also added the same (as close as possible) recipe to the Arc Furnace, which adds them without issue.)
Report this to UniDict. I looked at their code, they seem to be "cleaning up" the crusher recipes in a way that looks like it may well cause issues (e.g. assuming that 2 recipes are the same when a specific hash is the same (I could probably create recipes where this doesn't work in just a few minutes)).