ServerEvents.recipes(event => {
    let ctnh = event.recipes.gtceu
    ctnh.macerator("rare_earth_fe_one")
        .itemInputs('32x gtceu:rare_earth_dust')
        .itemOutputs('32x gtceu:rare_earth_fe_one_dust', "12x gtceu:stone_dust")
        .EUt(480)
        .duration(60)
    ctnh.electromagnetic_separator("rare_earth_fe_two")
        .itemInputs("32x gtceu:rare_earth_fe_one_dust")
        .itemOutputs("16x gtceu:rare_earth_fe_two_dust", "32x gtceu:magnetic_iron_dust")
        .EUt(480)
        .duration(240)
    ctnh.chemical_bath("rare_earth_intensive_research")
        .duration(200)
        .EUt(480)
        .itemInputs("16x gtceu:rare_earth_fe_two_dust")
        .inputFluids(Fluid.of("gtceu:hydrochloric_acid", 9000))
        .itemOutputs("12x gtceu:rare_earth_intensive_research_dust")
        .outputFluids(Fluid.of('gtceu:iron_iii_chloride', 3000))
    ctnh.mixer("rare_earth_mixture")
        .itemInputs("1x gtceu:rare_earth_intensive_research_dust", "1x gtceu:bastnasite_dust", "1x gtceu:monazite_dust")
        .itemOutputs("3x gtceu:rare_earth_mixture_dust")
        .EUt(480)
        .duration(360)
    ctnh.mixer("rare_earth_mixture_oh")
        .circuit(1)
        .itemInputs("4x gtceu:rare_earth_mixture_dust", "4x gtceu:sodium_hydroxide_dust")
        .inputFluids(Fluid.of("minecraft:water", 4000))
        .outputFluids(Fluid.of("gtceu:rare_earth_mixture_oh", 1000))
        .EUt(480)
        .duration(480)
    ctnh.chemical_reactor("rare_earth_chloride_solution")
        .inputFluids(Fluid.of("gtceu:rare_earth_mixture_oh", 1000))
        .inputFluids(Fluid.of("gtceu:hydrochloric_acid", 6000))
        .outputFluids(Fluid.of("gtceu:rare_earth_chloride_solution", 6000))
        .itemOutputs("8x gtceu:salt_dust")
        .EUt(480)
        .duration(120)
    ctnh.fluid_heater("rare_earth_chloride_boil")
        .inputFluids(Fluid.of("gtceu:rare_earth_chloride_solution", 3000))
        .outputFluids(Fluid.of("gtceu:rare_earth_chloride_boil", 3000))
        .EUt(120)
        .duration(200)
    ctnh.crystallizer("rare_earth_crystals")
        .inputFluids(Fluid.of("gtceu:rare_earth_chloride_boil", 3000))
        .itemOutputs("4x gtceu:rare_earth_crystals_dust")
        .outputFluids(Fluid.of("minecraft:water", 6000))
        .EUt(1920)
        .duration(480).blastFurnaceTemp(4500)
    //离子交换机配方，上面还有2B Cl
    ctnh.ion_exchanger("rare_earth_high_affinity")
        .itemInputs("1x gtceu:rare_earth_crystals_dust")
        .inputFluids(Fluid.of("gtceu:hydrochloric_acid", 1500))
        .outputFluids(Fluid.of("gtceu:rare_earth_high_affinity", 1000))
        .outputFluids(Fluid.of("gtceu:rare_earth_low_affinty", 1000))
        .outputFluids(Fluid.of("gtceu:diluted_hydrochloric_acid", 4000))
        .outputFluids(Fluid.of("gtceu:red_mud", 1000))
        .EUt(1920)
        .duration(960)
    //离心稀土
    ctnh.centrifuge("rare_earth_low")
        .inputFluids(Fluid.of("gtceu:rare_earth_low_affinty"))
        .itemOutputs("4x gtceu:rare_earth_low_dust", "2x gtceu:rare_earth_middle_dust")
        .EUt(480)
        .duration(800)
    ctnh.centrifuge("rare_earth_high")
        .inputFluids(Fluid.of("gtceu:rare_earth_high_affinity"))
        .itemOutputs("4x gtceu:rare_earth_middle_dust", "2x gtceu:rare_earth_high_dust")
        .EUt(1920)
        .duration(800)
    //重中轻稀土处理
    ctnh.chemical_bath("rare_earth_high_fluoride")
        .itemInputs("1x gtceu:rare_earth_high_dust")
        .inputFluids(Fluid.of("gtceu:hydrofluoric_acid", 4000))
        .outputFluids(Fluid.of("gtceu:rare_earth_high_fluoride", 1000))
        .itemOutputs('gtceu:tiny_europium_dust')
        .EUt(6144)
        .duration(60)
    ctnh.chemical_bath("rare_earth_middle_fluoride")
        .itemInputs("1x gtceu:rare_earth_middle_dust")
        .inputFluids(Fluid.of("gtceu:hydrofluoric_acid", 4000))
        .outputFluids(Fluid.of("gtceu:rare_earth_middle_fluoride", 1000))
        .itemOutputs('gtceu:tiny_samarium_dust')
        .EUt(1920)
        .duration(60)
    ctnh.chemical_bath("rare_earth_low_fluoride")
        .itemInputs("1x gtceu:rare_earth_low_dust")
        .inputFluids(Fluid.of("gtceu:hydrofluoric_acid", 4000))
        .outputFluids(Fluid.of("gtceu:rare_earth_low_fluoride", 1000))
        .itemOutputs('gtceu:tiny_neodymium_dust')
        .EUt(480)
        .duration(60)
    ctnh.vacuum_sintering("rare_earth_low_fluoride_steam")
        .inputFluids(Fluid.of("gtceu:rare_earth_low_fluoride", 1000))
        .outputFluids(Fluid.of("gtceu:rare_earth_low_fluoride_steam", 1000))
        .outputFluids(Fluid.of("gtceu:fluorine", 4000))
        .EUt(480)
        .duration(60).blastFurnaceTemp(4500)
    ctnh.vacuum_sintering("rare_earth_high_fluoride_steam")
        .inputFluids(Fluid.of("gtceu:rare_earth_high_fluoride", 1000))
        .outputFluids(Fluid.of("gtceu:rare_earth_high_fluoride_steam", 1000))
        .outputFluids(Fluid.of("gtceu:fluorine", 4000))
        .EUt(6144)
        .duration(60).blastFurnaceTemp(4500)
    ctnh.vacuum_sintering("rare_earth_middle_fluoride_steam")
        .inputFluids(Fluid.of("gtceu:rare_earth_middle_fluoride", 1000))
        .outputFluids(Fluid.of("gtceu:rare_earth_middle_fluoride_steam", 1000))
        .outputFluids(Fluid.of("gtceu:fluorine", 4000))
        .EUt(1920)
        .duration(60).blastFurnaceTemp(4500)
    ctnh.condensing_discrete("lanthanum_cerium_praseodymium_neodymium_oxygen_mixture")
        .inputFluids(Fluid.of("gtceu:rare_earth_low_fluoride_steam"))
        .itemOutputs("8x gtceu:lanthanum_cerium_praseodymium_neodymium_oxygen_mixture_dust", "4x gtceu:europium_gadolinium_terbium_dysprosium_oxygen_mixture_dust", "2x gtceu:yttrium_holmium_erbium_thulium_ytterbium_oxygen_lutetium_mixture_dust")
        .EUt(6144)
        .duration(240)
    ctnh.condensing_discrete("europium_gadolinium_terbium_dysprosium_oxygen_mixture")
        .inputFluids(Fluid.of("gtceu:rare_earth_middle_fluoride_steam"))
        .itemOutputs("2x gtceu:lanthanum_cerium_praseodymium_neodymium_oxygen_mixture_dust", "8x gtceu:europium_gadolinium_terbium_dysprosium_oxygen_mixture_dust", "4x gtceu:yttrium_holmium_erbium_thulium_ytterbium_oxygen_lutetium_mixture_dust")
        .EUt(6144)
        .duration(240)
    ctnh.condensing_discrete("yttrium_holmium_erbium_thulium_ytterbium_oxygen_lutetium_mixture")
        .inputFluids(Fluid.of("gtceu:rare_earth_high_fluoride_steam"))
        .itemOutputs("2x gtceu:lanthanum_cerium_praseodymium_neodymium_oxygen_mixture_dust", "4x gtceu:europium_gadolinium_terbium_dysprosium_oxygen_mixture_dust", "8x gtceu:yttrium_holmium_erbium_thulium_ytterbium_oxygen_lutetium_mixture_dust")
        .EUt(6144)
        .duration(240)
    ctnh.chemical_reactor("lan_cer_pra_neo_chloride")
        .itemInputs("5x gtceu:lanthanum_cerium_praseodymium_neodymium_oxygen_mixture_dust")
        .inputFluids(Fluid.of("gtceu:hydrochloric_acid", 24000))
        .outputFluids(Fluid.of("minecraft:water", 12000))
        .itemOutputs("5x gtceu:lan_cer_pra_neo_chloride_dust")
        .EUt(6144)
        .duration(120)
    ctnh.chemical_reactor("ytt_hol_erb_thu_ytt_chloride")
        .itemInputs("5x gtceu:yttrium_holmium_erbium_thulium_ytterbium_oxygen_lutetium_mixture_dust")
        .inputFluids(Fluid.of("gtceu:hydrochloric_acid", 24000))
        .outputFluids(Fluid.of("minecraft:water", 12000))
        .itemOutputs("5x gtceu:ytt_hol_erb_thu_ytt_chloride_dust")
        .EUt(6144)
        .duration(480)
    ctnh.chemical_reactor("eur_gado_ter_dyspr_chloride")
        .itemInputs("5x gtceu:europium_gadolinium_terbium_dysprosium_oxygen_mixture_dust")
        .inputFluids(Fluid.of("gtceu:hydrochloric_acid", 24000))
        .outputFluids(Fluid.of("minecraft:water", 12000))
        .itemOutputs("5x gtceu:eur_gado_ter_dyspr_chloride_dust")
        .EUt(6144)
        .duration(240)
    ctnh.centrifuge("lanthanum_dust")
        .itemInputs("5x gtceu:lan_cer_pra_neo_chloride_dust")
        .itemOutputs("1x gtceu:lanthanum_dust", "1x gtceu:cerium_dust", "1x gtceu:praseodymium_dust", "1x gtceu:neodymium_dust", "1x gtceu:promethium_dust")
        .outputFluids(Fluid.of("gtceu:chlorine", 24000))
        .EUt(6144)
        .duration(120).blastFurnaceTemp(5200)
    ctnh.centrifuge("samarium_dust")
        .itemInputs("5x gtceu:eur_gado_ter_dyspr_chloride_dust")
        .itemOutputs("1x gtceu:samarium_dust", "1x gtceu:europium_dust", "1x gtceu:gadolinium_dust", "1x gtceu:terbium_dust", "1x gtceu:dysprosium_dust", "1x gtceu:holmium_dust")
        .outputFluids(Fluid.of("gtceu:chlorine", 24000))
        .EUt(6144)
        .duration(120).blastFurnaceTemp(5200)
    ctnh.centrifuge("holmium_dust")
        .itemInputs("5x gtceu:ytt_hol_erb_thu_ytt_chloride_dust")
        .itemOutputs("1x gtceu:erbium_dust", "1x gtceu:thulium_dust", "1x gtceu:ytterbium_dust", "1x gtceu:lutetium_dust", "1x gtceu:scandium_dust", "1x gtceu:yttrium_dust")
        .outputFluids(Fluid.of("gtceu:chlorine", 24000))
        .EUt(6144)
        .duration(120).blastFurnaceTemp(5200)







})