console.info('[SOCIETY] addRecipes.js loaded')

ServerEvents.recipes(event => {
  // Crafting up
  event.shapeless('society:gold_sea_coin', ['9x society:iron_sea_coin'])
  event.shapeless('society:neptunium_sea_coin', ['9x society:gold_sea_coin'])
  // Crafting down
  event.shapeless('9x society:iron_sea_coin', ['society:gold_sea_coin'])
  event.shapeless('9x society:gold_sea_coin', ['society:neptunium_sea_coin'])

  event.shapeless('2x aquaculture:neptunium_nugget', ['society:neptunium_sea_coin', 'minecraft:flint']).keepIngredient('minecraft:flint')

  // Chum
  // TODO: Check IDs
  event.shapeless("society:bucket_of_thrasher_chum", ["fishofthieves:splashtail", "minecraft:bucket", "2x minecraft:bone_meal"]);
  event.shapeless("society:bucket_of_book_chum", ["eidolon:shadow_gem", "minecraft:bucket", "2x irons_spellbooks:epic_ink"]);
  event.shapeless("society:bucket_of_meat_chum", ["biomancy:living_flesh", "biomancy:blood_bucket", "2x minecraft:bone_meal"]);
  event.shapeless("society:bucket_of_black_tiger_shrimp_chum", ["fishofthieves:wildsplash", "minecraft:bucket", "2x minecraft:bone_meal"]);

  // Decrees
  event.shapeless(Item.of('bountiful:decree', '{"bountiful:decree_data":\'{"ids":["professor"]}\'}'), ['society:unholy_contract', 'biomancy:primordial_core'])
  event.shapeless(
    Item.of(
      "bountiful:decree",
      '{"bountiful:decree_data":\'{"ids":["hunter"]}\'}'
    ),
    [
      "irons_spellbooks:hogskin",
      "dimdungeons:block_portal_crown",
      "irons_spellbooks:rare_ink",
    ]
  );
  event.shaped(Item.of('bountiful:decree', '{"bountiful:decree_data":\'{"ids":["gatekeeper"]}\'}'), [
    'rsr',
    'cGc',
    'rNr'
  ], {
    r: 'eidolon:crimson_essence',
    s: Item.of('irons_spellbooks:artificer_cane', '{ISBUpgrades:[{id:"irons_spellbooks:ender_power",slot:"mainhand",upgrades:3}]}').weakNBT(),
    c: 'dimdungeons:block_portal_crown',
    G: 'dimdungeons:block_portal_keyhole',
    N: 'eidolon:notetaking_tools'
  }
  )
  event.shaped(Item.of('bountiful:decree', '{"bountiful:decree_data":\'{"ids":["sushi_chef"]}\'}'), [
    'rdf',
    'mGn',
    'csl'
  ], {
    r: 'aquaculture:neptunium_fishing_rod',
    d: 'alexscaves:deep_sea_sushi_roll',
    f: 'aquaculture:neptunium_fillet_knife',
    m: 'farmersdelight:rice_roll_medley_block',
    G: 'society:gourmand_contract',
    n: 'netherdepthsupgrade:nether_rice_roll_medley_block',
    c: 'sushigocrafting:cleaver_knife',
    s: 'sushigocrafting:salmon_gunkan',
    l: 'netherdepthsupgrade:lava_fishing_rod'
  }
  )
  event.shaped(Item.of('bountiful:decree', '{"bountiful:decree_data":\'{"ids":["baker"]}\'}'), [
    ' b ',
    'pGp',
    ' k '
  ], {
    b: 'bakery:bakery_standard',
    k: 'herbalbrews:herbalbrews_standard',
    p: 'endersdelight:chorus_pie_slice',
    G: 'society:gourmand_contract'
  }
  )
  // Artifacts
  event.shaped('artifacts:universal_attractor', [
    'l s',
    'SLS',
    'ISI'
  ], {
    l: 'oreganized:lead_ingot',
    s: 'oreganized:silver_ingot',
    S: 'irons_spellbooks:shriving_stone',
    L: 'irons_spellbooks:lightning_bottle',
    I: 'irons_spellbooks:legendary_ink'
  }
  )

  event.shaped('artifacts:crystal_heart', [
    'GZG',
    'ICI',
    'GJG'
  ], {
    J: 'vinery:jo_special_mixture',
    Z: 'eidolon:zombie_heart',
    G: 'irons_spellbooks:greater_healing_potion',
    C: 'irons_spellbooks:upgrade_orb',
    I: 'irons_spellbooks:legendary_ink'
  }
  )

  event.shaped('artifacts:whoopee_cushion', [
    'LLL',
    'RBR',
    'LLL'
  ], {
    R: 'irons_spellbooks:blood_rune',
    L: 'minecraft:leather',
    B: 'supplementaries:bellows'
  }
  )

  event.shaped('artifacts:scarf_of_invisibility', [
    'MLM',
    'RIR',
    'MLM'
  ], {
    R: 'irons_spellbooks:evocation_rune',
    L: 'irons_spellbooks:greater_evasion_elixir',
    I: 'irons_spellbooks:invisibility_ring',
    M: 'irons_spellbooks:magic_cloth'
  }
  )

  event.shaped('artifacts:superstitious_hat', [
    'MLM',
    'RGR',
    'MFM'
  ], {
    R: 'irons_spellbooks:ender_rune',
    L: Item.of('minecraft:potion', '{Potion:"buzzier_bees:strong_luck"}').weakNBT(),
    G: 'minecraft:raw_gold_block',
    M: 'irons_spellbooks:magic_cloth',
    F: 'minecraft:rabbit_foot'
  }
  )

  event.shaped('artifacts:running_shoes', [
    'MMM',
    'RBR',
    'MMM'
  ], {
    R: 'irons_spellbooks:fire_rune',
    B: Item.of('minecraft:leather_boots', '{Damage:0,ISBUpgrades:[{id:"irons_spellbooks:fire_power",slot:"feet",upgrades:10}]}').weakNBT(),
    M: 'irons_spellbooks:magic_cloth'
  }
  )

  event.shaped('artifacts:cloud_in_a_bottle', [
    'ALA',
    'RCR',
    'ALA'
  ], {
    R: 'irons_spellbooks:lightning_rune',
    L: 'irons_spellbooks:lightning_bottle',
    C: 'quark:bottled_cloud',
    A: 'irons_spellbooks:arcane_essence'
  }
  )

  event.shaped('artifacts:aqua_dashers', [
    'MKM',
    'RBR',
    'MKM'
  ], {
    R: 'irons_spellbooks:ice_rune',
    B: Item.of('minecraft:leather_boots', '{Damage:0,ISBUpgrades:[{id:"irons_spellbooks:ice_power",slot:"feet",upgrades:5}]}').weakNBT(),
    M: 'irons_spellbooks:magic_cloth',
    K: 'vinery:kelp_cider'
  }
  )

  event.shaped('artifacts:panic_necklace', [
    'L L',
    ' P ',
    ' W '
  ], {
    P: 'eidolon:sanguine_amulet',
    L: 'eidolon:raven_feather',
    W: 'eidolon:arcane_seal'
  }
  )

  event.shaped('artifacts:thorn_pendant', [
    ' H ',
    'CPC',
    ' H '
  ], {
    P: 'eidolon:basic_amulet',
    C: 'minecraft:cactus',
    H: 'eidolon:withered_heart'
  }
  )

  event.shaped('artifacts:steadfast_spikes', [
    ' L ',
    ' W ',
    ' S '
  ], {
    L: 'eidolon:lesser_soul_gem',
    W: 'eidolon:warlock_boots',
    S: 'eidolon:resolute_belt'
  }
  )

  event.shaped('artifacts:flippers', [
    'FWF'
  ], {
    F: 'aquamirae:fin',
    W: 'eidolon:warlock_boots'
  }
  )

  event.shaped('artifacts:flame_pendant', [
    'FPF',
    ' E '
  ], {
    P: 'eidolon:basic_amulet',
    F: 'irons_spellbooks:fire_rune',
    E: 'embers:ember_crystal_cluster'
  }
  )

  event.shaped('artifacts:snowshoes', [
    ' A ',
    'FDF',
    ' A '
  ], {
    D: 'artifacts:aqua_dashers',
    F: 'embers:ashen_fabric',
    A: 'embers:adhesive'
  }
  )

  event.shaped('artifacts:obsidian_skull', [
    'OSO',
    'SWS',
    'OSO'
  ], {
    W: 'minecraft:wither_skeleton_skull',
    O: 'minecraft:obsidian',
    S: 'embers:shifting_scales'
  }
  )

  event.shaped('artifacts:pocket_piston', [
    ' P ',
    ' H '
  ], {
    P: 'minecraft:piston',
    H: 'artifacts:power_glove'
  }
  )

  event.shaped('artifacts:antidote_vessel', [
    ' C ',
    'RVE',
    ' H '
  ], {
    V: 'biomancy:vial',
    C: 'biomancy:cleansing_serum',
    R: 'biomancy:rejuvenation_serum',
    E: 'biomancy:exotic_compound',
    H: 'biomancy:healing_additive'
  }
  )

  event.shaped('artifacts:onion_ring', [
    'BON',
    'OPO',
    'NOB'
  ], {
    P: 'biomancy:primordial_core',
    B: 'biomancy:bloomberry',
    O: 'farmersdelight:onion',
    N: 'biomancy:nutrient_bar'
  }
  )

  event.shaped('artifacts:villager_hat', [
    ' V ',
    ' S ',
    ' T '
  ], {
    V: 'irons_spellbooks:villager_spell_book',
    S: 'vinery:straw_hat',
    T: 'ars_nouveau:ritual_restoration'
  }
  )

  event.shaped('artifacts:cowboy_hat', [
    ' L ',
    ' G ',
    ' H '
  ], {
    L: Item.of('minecraft:lingering_potion', '{Potion:"minecraft:strong_swiftness"}').weakNBT(),
    G: 'ars_elemental:earth_hat',
    H: 'ars_nouveau:glyph_summon_steed'
  }
  )

  event.shaped('artifacts:umbrella', [
    ' S ',
    ' U '
  ], {
    S: 'ars_nouveau:enchanters_shield',
    U: 'beachparty:beach_parasol'
  }
  )

  event.shaped('artifacts:lucky_scarf', [
    'CMC',
    'MSM',
    'CMC'
  ], {
    S: 'artifacts:scarf_of_invisibility',
    M: 'ars_nouveau:magebloom_fiber',
    C: 'buzzier_bees:four_leaf_clover'
  }
  )

  event.shaped('artifacts:helium_flamingo', [
    ' O ',
    'PLP',
    ' P '
  ], {
    P: 'handcrafted:pink_sheet',
    O: 'nightlights:octopus_pink',
    L: 'ars_nouveau:belt_of_levitation'
  }
  )

  event.shaped('artifacts:bunny_hoppers', [
    'MMM',
    'RFR',
    'MMM'
  ], {
    R: 'minecraft:rabbit_foot',
    F: 'grapplemod:longfallboots',
    M: 'ars_nouveau:thread_feather'
  }
  )

  // Misc
  event.smoking("quark:bottled_cloud", Item.of('minecraft:potion', { Potion: "minecraft:water" }));
  event.shapeless('upgrade_aquatic:driftwood_planks', ['aquaculture:driftwood'])
  event.shapeless('8x minecraft:calcite', ['minecraft:smooth_basalt', 'biomancy:mineral_fragment'])
  event.shaped('8x upgrade_aquatic:coralstone', [
    'SSS',
    'SNS',
    'SSS'
  ], {
    S: 'minecraft:stone_bricks',
    N: 'minecraft:nautilus_shell'
  }
  )

  // Compat
  event.shaped('oceansdelight:fugu_roll', [
    'PP ',
    'R  '
  ], {
    P: 'crabbersdelight:pufferfish_slice',
    R: 'farmersdelight:cooked_rice'
  }
  )
  event.shaped('oceansdelight:fugu_roll', [
    'csc',
    'c c',
    'ccc'
  ], {
    s: 'minecraft:string',
    c: 'farmersdelight:canvas'
  }
  )
  
  // Lead/Silver management
  event.shapeless('eidolon:lead_block', ['oreganized:lead_block'])
  event.shapeless('eidolon:silver_block', ['oreganized:silver_block'])
  event.shapeless('embers:lead_block', ['oreganized:lead_block'])
  event.shapeless('embers:silver_block', ['oreganized:silver_block'])
  event.shapeless('oreganized:lead_block', ['eidolon:lead_block'])
  event.shapeless('oreganized:silver_block', ['eidolon:silver_block'])
  event.shapeless('oreganized:lead_block', ['embers:lead_block'])
  event.shapeless('oreganized:silver_block', ['embers:silver_block'])

  // Dramatic Doors
  event.shapeless('dramaticdoors:short_azalea_door', ['dramaticdoors:short_quark_azalea_door', 'minecraft:blue_dye'])
  event.shapeless('dramaticdoors:tall_azalea_door', ['dramaticdoors:tall_quark_azalea_door', 'minecraft:blue_dye'])
  event.shapeless('dramaticdoors:short_aspen_door', ['dramaticdoors:short_pewen_door', 'minecraft:yellow_dye'])
  event.shapeless('dramaticdoors:tall_aspen_door', ['dramaticdoors:tall_pewen_door', 'minecraft:yellow_dye'])
  event.shapeless('dramaticdoors:short_grimwood_door', ['dramaticdoors:short_soulblight_door', 'minecraft:black_dye'])
  event.shapeless('dramaticdoors:tall_grimwood_door', ['dramaticdoors:tall_soulblight_door', 'minecraft:black_dye'])
  event.shapeless('dramaticdoors:short_wisteria_door', ['dramaticdoors:short_oak_door', 'minecraft:white_dye'])
  event.shapeless('dramaticdoors:tall_wisteria_door', ['dramaticdoors:tall_oak_door', 'minecraft:white_dye'])
  event.shapeless('dramaticdoors:short_poise_door', ['dramaticdoors:short_crimson_door', 'minecraft:magenta_dye'])
  event.shapeless('dramaticdoors:tall_poise_door', ['dramaticdoors:tall_crimson_door', 'minecraft:magenta_dye'])
  event.shapeless('dramaticdoors:short_dark_cherry_door', ['dramaticdoors:short_cherry_door', 'minecraft:black_dye'])
  event.shapeless('dramaticdoors:tall_dark_cherry_door', ['dramaticdoors:tall_cherry_door', 'minecraft:black_dye'])
  event.shapeless('dramaticdoors:short_laurel_door', ['dramaticdoors:short_jungle_door', 'minecraft:brown_dye'])
  event.shapeless('dramaticdoors:tall_laurel_door', ['dramaticdoors:tall_jungle_door', 'minecraft:brown_dye'])
  event.shapeless('dramaticdoors:short_morado_door', ['dramaticdoors:short_mangrove_door', 'minecraft:red_dye'])
  event.shapeless('dramaticdoors:tall_morado_door', ['dramaticdoors:tall_mangrove_door', 'minecraft:red_dye'])
  event.shapeless('dramaticdoors:short_pine_door', ['dramaticdoors:short_jungle_door', 'alexscaves:pine_nuts'])
  event.shapeless('dramaticdoors:tall_pine_door', ['dramaticdoors:tall_jungle_door', 'alexscaves:pine_nuts'])
  event.shapeless('dramaticdoors:short_yucca_door', ['dramaticdoors:short_acacia_door', 'minecraft:brown_dye'])
  event.shapeless('dramaticdoors:tall_yucca_door', ['dramaticdoors:tall_acacia_door', 'minecraft:brown_dye'])
  event.shapeless('dramaticdoors:short_rosewood_door', ['dramaticdoors:short_mangrove_door', 'minecraft:white_dye'])
  event.shapeless('dramaticdoors:tall_rosewood_door', ['dramaticdoors:tall_mangrove_door', 'minecraft:white_dye'])
  event.shapeless('dramaticdoors:short_kousa_door', ['dramaticdoors:short_quark_azalea_door', 'minecraft:light_blue_dye'])
  event.shapeless('dramaticdoors:tall_kousa_door', ['dramaticdoors:tall_quark_azalea_door', 'minecraft:light_blue_dye'])
  event.shapeless('dramaticdoors:short_willow_door', ['dramaticdoors:short_quark_azalea_door', 'minecraft:green_dye'])
  event.shapeless('dramaticdoors:tall_willow_door', ['dramaticdoors:tall_quark_azalea_door', 'minecraft:green_dye'])
  event.shapeless('dramaticdoors:short_silver_door', ['dramaticdoors:short_iron_door', 'oreganized:silver_ingot'])
  event.shapeless('dramaticdoors:tall_silver_door', ['dramaticdoors:tall_iron_door', 'oreganized:silver_ingot'])

  event.stonecutting('2x dramaticdoors:short_quark_blossom_door', 'quark:blossom_door')

  // Bakery
  event.shapeless('bakery:cake_dough', ['#bakery:wheat', 'minecraft:egg', 'minecraft:sugar', 'cookingforblockheads:cow_jar']).keepIngredient('cookingforblockheads:cow_jar')
  event.shapeless('bakery:sweet_dough', ['#bakery:wheat', 'minecraft:egg', 'minecraft:sugar', 'ars_elemental:everfull_urn']).keepIngredient('ars_elemental:everfull_urn')
  event.shapeless('3x farmersdelight:wheat_dough', ['3x minecraft:wheat', 'ars_elemental:everfull_urn']).keepIngredient('ars_elemental:everfull_urn')
  event.shaped('4x candlelight:dough', [
    '   ',
    'WUW',
    'WWW'
  ], {
    U: 'ars_elemental:everfull_urn',
    W: '#brewery:wheat'
  }
  ).keepIngredient('ars_elemental:everfull_urn')
  event.shapeless('4x herbalbrews:water_cup', ['minecraft:water_bucket'])
  event.shapeless('herbalbrews:milk_coffee', ['herbalbrews:coffee', 'farmersdelight:milk_bottle'])

  event.custom({
    type: 'farmersdelight:cutting',
    ingredients: [
      { item: 'herbalbrews:lavender' }
    ],
    tool: { tag: 'forge:tools/knives' },
    result: [
      { item: 'herbalbrews:lavender_blossom', count: 2 }
    ]
  })

  // Neptuna
  event.custom({
    type: 'farmersdelight:cutting',
    ingredients: [
      { item: 'aquaculture:neptuna' }
    ],
    tool: { tag: 'forge:tools/knives' },
    result: [
      { item: 'aquaculture:neptunium_nugget', count: 1 }
    ]
  })
})