#@ts-nocheck
#nowarn

import crafttweaker.api.recipe.Replacer;
import crafttweaker.api.data.IData;
import crafttweaker.api.data.MapData;
import crafttweaker.api.item.IItemStack;
import crafttweaker.api.item.IIngredient;
import crafttweaker.api.item.IIngredientTransformer;
import crafttweaker.api.data.INumberData;

var air = <item:minecraft:air>;
var menril_chunk = <item:integrateddynamics:crystalized_menril_chunk>;
var chorus_chunk = <item:integrateddynamics:crystalized_chorus_chunk>;

//挤压
<recipetype:integrateddynamics:squeezer>.addJSONRecipe("squeezer/soul_essence", {
    "type": "integrateddynamics:squeezer",
    "item": "alexsmobs:soul_heart",
    "result": {
        "fluid": {
                "fluid": "kubejs:soul_essence",
                "amount": 1000
        } as IData
    } as IData
});
<recipetype:integrateddynamics:squeezer>.addJSONRecipe("squeezer/coal", {
    "type": "integrateddynamics:squeezer",
    "item": {
        "tag": "forge:ores/coal"
    },
    "result": {
        "items": [
            {
                "item": {
                    "item": "minecraft:coal",
                    "count": 2
                }
            },
            {
                "item": "minecraft:coal",
                "chance": 0.5
            }
        ]
    }
});
<recipetype:integrateddynamics:squeezer>.addJSONRecipe("squeezer/redstone", {
    "type": "integrateddynamics:squeezer",
    "item": {
        "tag": "forge:ores/redstone"
    },
    "result": {
        "items": [
            {
                "item": {
                    "item": "minecraft:redstone",
                    "count": 2
                }
            },
            {
                "item": "minecraft:redstone",
                "chance": 0.5
            }
        ]
    }
});
<recipetype:integrateddynamics:squeezer>.addJSONRecipe("squeezer/quartz", {
    "type": "integrateddynamics:squeezer",
    "item": {
        "tag": "forge:ores/quartz"
    },
    "result": {
        "items": [
            {
                "item": {
                    "item": "minecraft:quartz",
                    "count": 2
                }
            },
            {
                "item": "minecraft:quartz",
                "chance": 0.5
            }
        ]
    }
});
<recipetype:integrateddynamics:squeezer>.addJSONRecipe("squeezer/lapis", {
    "type": "integrateddynamics:squeezer",
    "item": {
        "tag": "forge:ores/lapis"
    },
    "result": {
        "items": [
            {
                "item": {
                    "item": "minecraft:lapis_lazuli",
                    "count": 2
                }
            },
            {
                "item": "minecraft:lapis_lazuli",
                "chance": 0.5
            }
        ]
    }
});
<recipetype:integrateddynamics:squeezer>.addJSONRecipe("squeezer/cinnabar", {
    "type": "integrateddynamics:squeezer",
    "item": {
        "tag": "forge:ores/cinnabar"
    },
    "result": {
        "items": [
            {
                "item": {
                    "item": "emendatusenigmatica:cinnabar_gem",
                    "count": 2
                }
            },
            {
                "item": "emendatusenigmatica:cinnabar_gem",
                "chance": 0.5
            }
        ]
    }
});
<recipetype:integrateddynamics:squeezer>.addJSONRecipe("squeezer/apatite", {
    "type": "integrateddynamics:squeezer",
    "item": {
        "tag": "forge:ores/apatite"
    },
    "result": {
        "items": [
            {
                "item": {
                    "item": "emendatusenigmatica:apatite_gem",
                    "count": 2
                }
            },
            {
                "item": "emendatusenigmatica:apatite_gem",
                "chance": 0.5
            }
        ]
    }
});
<recipetype:integrateddynamics:squeezer>.addJSONRecipe("squeezer/sulfur", {
    "type": "integrateddynamics:squeezer",
    "item": {
        "tag": "forge:ores/sulfur"
    },
    "result": {
        "items": [
            {
                "item": {
                    "item": "emendatusenigmatica:sulfur_gem",
                    "count": 2
                }
            },
            {
                "item": "emendatusenigmatica:sulfur_gem",
                "chance": 0.5
            }
        ]
    }
});
<recipetype:integrateddynamics:squeezer>.addJSONRecipe("squeezer/fluorite", {
    "type": "integrateddynamics:squeezer",
    "item": {
        "tag": "forge:ores/fluorite"
    },
    "result": {
        "items": [
            {
                "item": {
                    "item": "emendatusenigmatica:fluorite_gem",
                    "count": 2
                }
            },
            {
                "item": "emendatusenigmatica:fluorite_gem",
                "chance": 0.5
            }
        ]
    }
});
<recipetype:integrateddynamics:squeezer>.addJSONRecipe("squeezer/potassium_nitrate", {
    "type": "integrateddynamics:squeezer",
    "item": {
        "tag": "forge:ores/potassium_nitrate"
    },
    "result": {
        "items": [
            {
                "item": {
                    "item": "emendatusenigmatica:potassium_nitrate_gem",
                    "count": 2
                }
            },
            {
                "item": "emendatusenigmatica:potassium_nitrate_gem",
                "chance": 0.5
            }
        ]
    }
});
<recipetype:integrateddynamics:squeezer>.addJSONRecipe("squeezer/certus_quartz", {
    "type": "integrateddynamics:squeezer",
    "item": {
        "tag": "forge:ores/certus_quartz"
    },
    "result": {
        "items": [
            {
                "item": {
                    "item": "emendatusenigmatica:certus_quartz_gem",
                    "count": 2
                }
            },
            {
                "item": "emendatusenigmatica:certus_quartz_gem",
                "chance": 0.5
            }
        ]
    }
});
<recipetype:integrateddynamics:squeezer>.addJSONRecipe("squeezer/charged_certus_quartz", {
    "type": "integrateddynamics:squeezer",
    "item": {
        "tag": "forge:ores/charged_certus_quartz"
    },
    "result": {
        "items": [
            {
                "item": {
                    "item": "emendatusenigmatica:charged_certus_quartz_gem",
                    "count": 2
                }
            },
            {
                "item": "emendatusenigmatica:charged_certus_quartz_gem",
                "chance": 0.5
            }
        ]
    }
});
for metal in ["iron","gold","aluminum","silver","copper","lead","nickel","uranium","osmium","tin","zinc","cobalt"] {
    <recipetype:integrateddynamics:squeezer>.addJSONRecipe("squeezer/dust_"+metal, {
        "type": "integrateddynamics:squeezer",
        "item": {
            "tag": "forge:ores/"+metal
        },
        "result": {
            "items": [
                {
                    "item": "emendatusenigmatica:"+metal+"_dust"
                },
                {
                    "item": "emendatusenigmatica:"+metal+"_dust",
                    "chance": 0.75
                }
            ]
        }
    });
    <recipetype:integrateddynamics:mechanical_squeezer>.addJSONRecipe("mechanical_squeezer/dust_"+metal, {
        "type": "integrateddynamics:mechanical_squeezer",
        "item": {
            "tag": "forge:ores/"+metal
        },
        "result": {
            "items": [
                {
                    "item": {
                        "item": "emendatusenigmatica:"+metal+"_dust",
                        "count": 2
                    }
                },
                {
                    "item": "emendatusenigmatica:"+metal+"_dust",
                    "chance": 0.5
                }
            ]
        },
        "duration": 40
    });
}

//烘干
<recipetype:integrateddynamics:drying_basin>.addJSONRecipe("drying_basin/soul_snare", {
    "type": "integrateddynamics:drying_basin",
    "item": "jaept:scarlet_rope",
    "fluid": {
        "fluid": "kubejs:soul_essence",
        "amount": 500
    } as IData,
    "duration": 200,
    "result": {
        "item": "bloodmagic:soulsnare"
    } as IData,
});
<recipetype:integrateddynamics:drying_basin>.addJSONRecipe("drying_basin/concrete", {
    "type": "integrateddynamics:drying_basin",
    "item": "minecraft:air",
    "fluid": {
        "fluid": "immersiveengineering:concrete",
        "amount": 1000
    } as IData,
    "duration": 100,
    "result": {
        "item": "immersiveengineering:concrete"
    } as IData,
});
<recipetype:integrateddynamics:drying_basin>.addJSONRecipe("drying_basin/rebar_concrete", {
    "type": "integrateddynamics:drying_basin",
    "item": "immersiveengineering:steel_scaffolding_standard",
    "fluid": {
        "fluid": "immersiveengineering:concrete",
        "amount": 1000
    } as IData,
    "duration": 200,
    "result": {
        "item": "engineersdecor:rebar_concrete"
    } as IData,
});
<recipetype:integrateddynamics:drying_basin>.addJSONRecipe("drying_basin/asphalt", {
    "type": "integrateddynamics:drying_basin",
    "item": "minecraft:air",
    "fluid": {
        "fluid": "kubejs:asphalt",
        "amount": 1000
    } as IData,
    "duration": 100,
    "result": {
        "item": "immersivepetroleum:asphalt"
    } as IData,
});
<recipetype:integrateddynamics:drying_basin>.addJSONRecipe("drying_basin/rubber_block", {
    "type": "integrateddynamics:drying_basin",
    "item": "minecraft:air",
    "fluid": {
        "fluid": "thermal:latex",
        "amount": 1000
    } as IData,
    "duration": 400,
    "result": {
        "item": "thermal:rubber_block"
    } as IData,
});

//电动挤压
<recipetype:integrateddynamics:mechanical_squeezer>.addJSONRecipe("mechanical_squeezer/soul_essence", {
    "type": "integrateddynamics:mechanical_squeezer",
    "item": "alexsmobs:soul_heart",
    "result": {
        "fluid": {
                "fluid": "kubejs:soul_essence",
                "amount": 1000
        } as IData
    } as IData,
    "duration": 80
});
<recipetype:integrateddynamics:mechanical_squeezer>.addJSONRecipe("mechanical_squeezer/coal", {
    "type": "integrateddynamics:mechanical_squeezer",
    "item": {
        "tag": "forge:ores/coal"
    },
    "result": {
        "items": [
            {
                "item": {
                    "item": "minecraft:coal",
                    "count": 3
                }
            },
            {
                "item": {
                    "item": "minecraft:coal",
                    "count": 2
                },
                "chance": 0.5
            }
        ]
    },
    "duration": 40
});
<recipetype:integrateddynamics:mechanical_squeezer>.addJSONRecipe("mechanical_squeezer/redstone", {
    "type": "integrateddynamics:mechanical_squeezer",
    "item": {
        "tag": "forge:ores/redstone"
    },
    "result": {
        "items": [
            {
                "item": {
                    "item": "minecraft:redstone",
                    "count": 3
                }
            },
            {
                "item": {
                    "item": "minecraft:redstone",
                    "count": 2
                },
                "chance": 0.5
            }
        ]
    },
    "duration": 40
});
<recipetype:integrateddynamics:mechanical_squeezer>.addJSONRecipe("mechanical_squeezer/quartz", {
    "type": "integrateddynamics:mechanical_squeezer",
    "item": {
        "tag": "forge:ores/quartz"
    },
    "result": {
        "items": [
            {
                "item": {
                    "item": "minecraft:quartz",
                    "count": 3
                }
            },
            {
                "item": {
                    "item": "minecraft:quartz",
                    "count": 2
                },
                "chance": 0.5
            }
        ]
    },
    "duration": 40
});
<recipetype:integrateddynamics:mechanical_squeezer>.addJSONRecipe("mechanical_squeezer/lapis", {
    "type": "integrateddynamics:mechanical_squeezer",
    "item": {
        "tag": "forge:ores/lapis"
    },
    "result": {
        "items": [
            {
                "item": {
                    "item": "minecraft:lapis_lazuli",
                    "count": 3
                }
            },
            {
                "item": {
                    "item": "minecraft:lapis_lazuli",
                    "count": 2
                },
                "chance": 0.5
            }
        ]
    },
    "duration": 40
});
<recipetype:integrateddynamics:mechanical_squeezer>.addJSONRecipe("mechanical_squeezer/cinnabar", {
    "type": "integrateddynamics:mechanical_squeezer",
    "item": {
        "tag": "forge:ores/cinnabar"
    },
    "result": {
        "items": [
            {
                "item": {
                    "item": "emendatusenigmatica:cinnabar_gem",
                    "count": 3
                }
            },
            {
                "item": {
                    "item": "emendatusenigmatica:cinnabar_gem",
                    "count": 2
                },
                "chance": 0.5
            }
        ]
    },
    "duration": 40
});
<recipetype:integrateddynamics:mechanical_squeezer>.addJSONRecipe("mechanical_squeezer/apatite", {
    "type": "integrateddynamics:mechanical_squeezer",
    "item": {
        "tag": "forge:ores/apatite"
    },
    "result": {
        "items": [
            {
                "item": {
                    "item": "emendatusenigmatica:apatite_gem",
                    "count": 3
                }
            },
            {
                "item": {
                    "item": "emendatusenigmatica:apatite_gem",
                    "count": 2
                },
                "chance": 0.5
            }
        ]
    },
    "duration": 40
});
<recipetype:integrateddynamics:mechanical_squeezer>.addJSONRecipe("mechanical_squeezer/sulfur", {
    "type": "integrateddynamics:mechanical_squeezer",
    "item": {
        "tag": "forge:ores/sulfur"
    },
    "result": {
        "items": [
            {
                "item": {
                    "item": "emendatusenigmatica:sulfur_gem",
                    "count": 3
                }
            },
            {
                "item": {
                    "item": "emendatusenigmatica:sulfur_gem",
                    "count": 2
                },
                "chance": 0.5
            }
        ]
    },
    "duration": 40
});
<recipetype:integrateddynamics:mechanical_squeezer>.addJSONRecipe("mechanical_squeezer/fluorite", {
    "type": "integrateddynamics:mechanical_squeezer",
    "item": {
        "tag": "forge:ores/fluorite"
    },
    "result": {
        "items": [
            {
                "item": {
                    "item": "emendatusenigmatica:fluorite_gem",
                    "count": 3
                }
            },
            {
                "item": {
                    "item": "emendatusenigmatica:fluorite_gem",
                    "count": 2
                },
                "chance": 0.5
            }
        ]
    },
    "duration": 40
});
<recipetype:integrateddynamics:mechanical_squeezer>.addJSONRecipe("mechanical_squeezer/potassium_nitrate", {
    "type": "integrateddynamics:mechanical_squeezer",
    "item": {
        "tag": "forge:ores/potassium_nitrate"
    },
    "result": {
        "items": [
            {
                "item": {
                    "item": "emendatusenigmatica:potassium_nitrate_gem",
                    "count": 3
                }
            },
            {
                "item": {
                    "item": "emendatusenigmatica:potassium_nitrate_gem",
                    "count": 2
                },
                "chance": 0.5
            }
        ]
    },
    "duration": 40
});
<recipetype:integrateddynamics:mechanical_squeezer>.addJSONRecipe("mechanical_squeezer/certus_quartz", {
    "type": "integrateddynamics:mechanical_squeezer",
    "item": {
        "tag": "forge:ores/certus_quartz"
    },
    "result": {
        "items": [
            {
                "item": {
                    "item": "emendatusenigmatica:certus_quartz_gem",
                    "count": 3
                }
            },
            {
                "item": {
                    "item": "emendatusenigmatica:certus_quartz_gem",
                    "count": 2
                },
                "chance": 0.5
            }
        ]
    },
    "duration": 40
});
<recipetype:integrateddynamics:mechanical_squeezer>.addJSONRecipe("mechanical_squeezer/charged_certus_quartz", {
    "type": "integrateddynamics:mechanical_squeezer",
    "item": {
        "tag": "forge:ores/charged_certus_quartz"
    },
    "result": {
        "items": [
            {
                "item": {
                    "item": "emendatusenigmatica:charged_certus_quartz_gem",
                    "count": 3
                }
            },
            {
                "item": {
                    "item": "emendatusenigmatica:charged_certus_quartz_gem",
                    "count": 2
                },
                "chance": 0.5
            }
        ]
    },
    "duration": 40
});

//电动烘干
<recipetype:integrateddynamics:mechanical_drying_basin>.addJSONRecipe("mechanical_drying_basin/soul_snare", {
    "type": "integrateddynamics:mechanical_drying_basin",
    "item": "jaept:scarlet_rope",
    "fluid": {
        "fluid": "kubejs:soul_essence",
        "amount": 500
    } as IData,
    "duration": 40,
    "result": {
        "item": "bloodmagic:soulsnare"
    } as IData,
});
<recipetype:integrateddynamics:mechanical_drying_basin>.addJSONRecipe("mechanical_drying_basin/concrete", {
    "type": "integrateddynamics:mechanical_drying_basin",
    "item": "minecraft:air",
    "fluid": {
        "fluid": "immersiveengineering:concrete",
        "amount": 1000
    } as IData,
    "duration": 20,
    "result": {
        "item": "immersiveengineering:concrete"
    } as IData,
});
<recipetype:integrateddynamics:mechanical_drying_basin>.addJSONRecipe("mechanical_drying_basin/rebar_concrete", {
    "type": "integrateddynamics:mechanical_drying_basin",
    "item": "immersiveengineering:steel_scaffolding_standard",
    "fluid": {
        "fluid": "immersiveengineering:concrete",
        "amount": 1000
    } as IData,
    "duration": 40,
    "result": {
        "item": "engineersdecor:rebar_concrete"
    } as IData,
});
<recipetype:integrateddynamics:mechanical_drying_basin>.addJSONRecipe("mechanical_drying_basin/asphalt", {
    "type": "integrateddynamics:mechanical_drying_basin",
    "item": "minecraft:air",
    "fluid": {
        "fluid": "kubejs:asphalt",
        "amount": 1000
    } as IData,
    "duration": 20,
    "result": {
        "item": "immersivepetroleum:asphalt"
    } as IData,
});
<recipetype:integrateddynamics:mechanical_drying_basin>.addJSONRecipe("mechanical_drying_basin/rubber_block", {
    "type": "integrateddynamics:mechanical_drying_basin",
    "item": "minecraft:air",
    "fluid": {
        "fluid": "thermal:latex",
        "amount": 1000
    } as IData,
    "duration": 80,
    "result": {
        "item": "thermal:rubber_block"
    } as IData,
});