ServerEvents.recipes((event) => {
  // =========================================
  // Spawner Fluids
  // =========================================

  // Imp
  event.recipes.create
    .mixing(Fluid.of("create_mechanical_spawner:spawn_fluid_imp", 250), [
      Fluid.of("create_dd:vanilla_milkshake", 250),
      "create_dd:coal_piece",
    ])
    .heated()
    .id("create_mechanical_spawner:mixing/imp");

  // Imp Guard
  event.recipes.create
    .mixing(Fluid.of("create_mechanical_spawner:spawn_fluid_imp_guard", 250), [
      Fluid.of("create_dd:strawberry_milkshake", 250),
      "create_dd:blaze_gold",
    ])
    .heated()
    .id("create_mechanical_spawner:mixing/imp_guard");

  // Demon
  event.recipes.create
    .mixing(Fluid.of("create_mechanical_spawner:spawn_fluid_demon", 250), [
      Fluid.of("create_dd:glowberry_milkshake", 250),
      "create_dd:overcharge_alloy",
    ])
    .heated()
    .id("create_mechanical_spawner:mixing/demon");

  // Demon Lord
  event.recipes.create
    .mixing(Fluid.of("create_mechanical_spawner:spawn_fluid_demon_lord", 250), [
      Fluid.of("create_dd:caramel_milkshake", 250),
      "create_dd:refined_radiance",
    ])
    .superheated()
    .id("create_mechanical_spawner:mixing/demon_lord");

  // Ancient Demon Lord
  event.recipes.create
    .mixing(
      Fluid.of("create_mechanical_spawner:spawn_fluid_ancient_demon_lord", 250),
      [Fluid.of("create_dd:chocolate_milkshake", 250), "create_dd:shadow_steel"]
    )
    .superheated()
    .id("create_mechanical_spawner:mixing/ancient_demon_lord");

  // Lizard Tail
  event.recipes.create
    .mixing(
      Fluid.of("create_mechanical_spawner:spawn_fluid_lizard_tail", 250),
      [
        Fluid.of("colored_water:condense_lime_fluid", 250),
        "naturalist:lizard_tail",
      ]
    )
    .heated()
    .id("create_mechanical_spawner:mixing/lizard_tail");

  // =========================================
  // Spawner "Recipes"
  // =========================================

  // Imp Spawner
  event.remove({ type: "create_mechanical_spawner:spawner" });
  event.recipes
    .createMechanicalSpawnerSpawner(
      Fluid.of("create_mechanical_spawner:spawn_fluid_imp", 100)
    )
    .processingTime(1000)
    .mob("realmrpg_demons:imp");

  // Imp Guard Spawner
  //event.remove({type: 'create_mechanical_spawner:spawner'})
  event.recipes
    .createMechanicalSpawnerSpawner(
      Fluid.of("create_mechanical_spawner:spawn_fluid_imp_guard", 100)
    )
    .processingTime(2500)
    .mob("realmrpg_demons:imp_guard");

  // Demon Spawner
  //event.remove({type: 'create_mechanical_spawner:spawner'})
  event.recipes
    .createMechanicalSpawnerSpawner(
      Fluid.of("create_mechanical_spawner:spawn_fluid_demon", 100)
    )
    .processingTime(5000)
    .mob("realmrpg_demons:demon");

  // Demon Lord Spawner
  //event.remove({type: 'create_mechanical_spawner:spawner'})
  event.recipes
    .createMechanicalSpawnerSpawner(
      Fluid.of("create_mechanical_spawner:spawn_fluid_demon_lord", 100)
    )
    .processingTime(7500)
    .mob("realmrpg_demons:demon_lord");

  // Ancient Demon Lord Spawner
  //event.remove({type: 'create_mechanical_spawner:spawner'})
  event.recipes
    .createMechanicalSpawnerSpawner(
      Fluid.of("create_mechanical_spawner:spawn_fluid_ancient_demon_lord", 100)
    )
    .processingTime(10000)
    .mob("realmrpg_demons:ancient_demon_lord");

  // Lizard Tail Spawner
  //event.remove({type: 'create_mechanical_spawner:spawner'})
  event.recipes
    .createMechanicalSpawnerSpawner(
      Fluid.of("create_mechanical_spawner:spawn_fluid_lizard_tail", 50)
    )
    .processingTime(100)
    .mob("naturalist:lizard_tail");

  // Mechanical Spawner
  event.replaceInput(
    { id: "create_mechanical_spawner:mechanical_spawner" },
    "#forge:gems/emerald",
    "alexscaves:amber_monolith"
  );
});
