// priority: 9
//Run this at a lower priority than cyclic_whitelist.js

const flintBlockID = 'supplementaries:flint_block';

/**
 * 
 * 
 * 
 * 
 * 
 * 
 * 
 * 
 * Misc Recipe Changes
 */
ServerEvents.recipes((event) => {
  //Replacement
  event.remove([
    { output: "vs_eureka:engine" },
    { output: "quark:gunpowder_sack" },
    { output: "minecraft:lodestone" },
    { output: "quark:pipe" },
    { output: "createaddition:electrum_amulet" },
  ]);

  //Last recipe required 6
  //Create copper pipes yield 4 per 3 copper
  //We want to encourage the use of belts
  event.shaped(Item.of("quark:pipe", 1), [
    " C ",
    " B ",
    " C ",
  ],
    {
      C: "create:copper_sheet",
      B: "#forge:glass",
    }
  );

  //Add nametag recipe
  event.shaped(Item.of("minecraft:name_tag", 1), [
    "BCC",
    " BC",
    "A B"
  ],
    {
      A: "minecraft:writable_book",
      B: "minecraft:paper",
      C: "minecraft:string",
    }
  );

  event.shaped(Item.of("northstar:lunar_sapphire_crystal", 1), [
    " C ",
    "RCR",
    "ICI"
  ],
    {
      I: "minecraft:iron_ingot",
      R: "minecraft:redstone",
      C: "northstar:polished_lunar_sapphire",
    }
  );

  event.shaped(Item.of("minecraft:lodestone", 1), [
    "CCC",
    "CBC",
    "CCC"
  ],
    {
      C: "minecraft:chiseled_stone_bricks",
      B: "minecraft:iron_ingot",
      //B: 'kubejs:black_gold_ingot',
    }
  );

  event.shaped(Item.of("vs_eureka:engine", 1), [
    "GGG",
    "IBP",
    "GGG"
  ],
    {
      // G: "minecraft:gold_block",
      G: "create:brass_block",
      I: "thermal:iron_gear",
      //S: "minecraft:smooth_stone",
      P: "minecraft:glass_pane",
      B: "minecraft:blast_furnace",
    }
  );
});


/**
 * 
 * 
 * 
 * 
 * 
 * 
 * 
 * 
 * 
 * 
 * 
 * 
 * Waystones
 */
ServerEvents.recipes((event) => {
  //Replace recipes
  event.remove([
    { output: "waystones:warp_plate" },
    { output: "waystones:warp_stone" },
    { output: "waystones:warp_dust" },
    { output: "waystones:return_scroll" },
    { output: "waystones:bound_scroll" },
    { output: "waystones:warp_scroll" },
  ]);

  //1 netherite scrap makes 8 nethersteel ingots
  //Thats enough for 2 warp plates or 2 warp stones
  event.shaped(Item.of("kubejs:warp_core", 1), [
    "ADA",
    "DGD",
    "ADA",
  ],
    {
      G: "minecraft:emerald",
      D: "thermal:enderium_ingot",
      A: 'kubejs:black_netherite_ingot',
      //A: 'minecraft:lodestone',
      //A: "northstar:polished_lunar_sapphire",
      //A: "northstar:martian_steel_sheet",
    });

  //By adding lunar amethyst, we
  //1) make a purpose for it
  //2) Prevent everything from being too easy too soon, We can spread out the progression even more
  event.recipes.create.mechanical_crafting("waystones:warp_stone", [
    " AAA ",
    "AEEEA",
    "AEWEA",
    "AEEEA",
    " AAA ",
  ],
    {
      W: 'kubejs:warp_core',
      A: "northstar:polished_lunar_sapphire",
      E: "minecraft:ender_eye",
    });

  //We could make warp dust harder, since eye_teleport and warp plate are the only 2 that use it (warp plate and block both use 4 warp dust)
  event.shapeless(Item.of("waystones:warp_dust", 4), [
    "thermal:ender_pearl_dust",
    "northstar:polished_lunar_sapphire",
    "northstar:polished_lunar_sapphire",
    "northstar:polished_lunar_sapphire",
    "create:powdered_obsidian",
    "minecraft:gunpowder",
  ]);

  event.shaped(Item.of("waystones:return_scroll", 1), [
    "BCB",
    "GDG",
    "PEP"
  ],
    {
      P: "minecraft:paper",
      G: "minecraft:compass",
      D: "waystones:warp_dust",
      B: "minecraft:blaze_rod",
      E: "minecraft:glow_ink_sac",
      C: "northstar:polished_lunar_sapphire",
    }
  );

  event.shaped(Item.of("waystones:bound_scroll", 1), [
    "BEB",
    "GDG",
    "PLP"
  ],
    {
      P: "minecraft:paper",
      B: "minecraft:blaze_rod",
      G: "minecraft:compass",
      D: "waystones:warp_dust",
      //E: "minecraft:purple_dye",
      E: "minecraft:glow_ink_sac",
      L: "northstar:polished_lunar_sapphire",
    }
  );

  event.shaped(Item.of("waystones:warp_scroll", 1), [
    "BDB",
    "EGE",
    "PLP"
  ],
    {
      B: "minecraft:blaze_rod",
      P: "minecraft:paper",
      // G: "minecraft:compass",
      G: "minecraft:experience_bottle",
      D: "minecraft:glow_ink_sac",
      E: "waystones:warp_dust",
      L: "northstar:martian_steel_sheet",
      // L: "northstar:polished_lunar_sapphire",
    }
  );

  //Warp plate comes with 4 free warp dust and 1 flint (that is why it is in the original recipe)
  //This should be hard to engourage other means of travel for short distances
  event.recipes.create.mechanical_crafting('waystones:warp_plate', [
    'OOOOO',
    'DDKDD',
    'OOROO',
    'FFWFF',
  ],
    {
      D: 'waystones:warp_dust',
      O: 'create:sturdy_sheet',
      K: "minecraft:flint",
      // R: 'thermal:xp_crystal',
      R: 'create_enchantment_industry:hyper_experience_bottle',
      // R: 'thermal:rf_coil',
      W: 'kubejs:warp_core',
      F: 'minecraft:obsidian',
    });
});

/**
 * 
 * 
 * 
 * 
 * 
 * 
 * 
 * 
 * 
 * 
 * 
 * 
 * 
 * 
 * 
 * Cyclic Recipe Changes
 */
ServerEvents.recipes((event) => {

  event.remove([
    { output: "cyclic:mattock" },
    { output: "cyclic:mattock_stone" },
    { output: "cyclic:crafting_stick" },
    { output: "cyclic:ender_bag" },
    { output: "cyclic:crystal_chestplate" },
    { output: "cyclic:crystal_leggings" },
    { output: "cyclic:crystal_helmet" },
    { output: "cyclic:crystal_boots" },
    { output: "cyclic:glowing_helmet" },
    { output: "cyclic:anvil" },
    { output: "cyclic:apple_honey" },
    { output: "cyclic:eye_teleport" },
    { output: "cyclic:altar_destruction" },
    { output: "cyclic:battery" },
    { output: "cyclic:battery_clay" },
    { output: "cyclic:generator_solar" },
    { output: "cyclic:fire_killer" },
    { output: "cyclic:workbench" },
    { output: "cyclic:beacon" },
    { output: "cyclic:crafter" },
    { output: "cyclic:crate_mini" },
    { output: "cyclic:dark_glass" },
    { output: "cyclic:melter" },
    { output: "cyclic:solidifier" },
    { output: "cyclic:charm_stealthpotion" },
    { output: "cyclic:shield_flint" },
    { output: "cyclic:spikes_curse" },
    { output: "cyclic:spikes_fire" },
    { output: "cyclic:detector_moon" },
    { output: "cyclic:shield_obsidian" },
    { output: "cyclic:scaffold_fragile" },
    { output: "cyclic:scaffold_responsive" },
    { output: "cyclic:scaffold_replace" },
    { output: "cyclic:item_pipe" },
  ]);


  //This should be harder than using real methods of travel (Elevators, carts, etc)
  //Eye is only for those situations where you want transportation to be as easy as physically possible
  //Will this cause lag?
  // event.recipes.create.mechanical_crafting('cyclic:eye_teleport', [
  //   'FFFFF',
  //   'OPPPO',
  //   'OPWPO',
  //   'OPPPO',
  //   'TTSTT'
  // ], {
  //   P: 'minecraft:ender_pearl',
  //   W: 'quark:ender_watcher',
  //   S: 'waystones:warp_stone',
  //   T: 'northstar:tungsten_block',
  //   O: 'waystones:warp_dust',
  //   F: 'cyclic:gem_obsidian',
  // });


  //Remove cyclic solidifier recipes
  let solidifier_whitelist = [
    "cyclic:solidifier/solidifier_obs_legacy",
    "cyclic:solidifier/solidifier_obs",
    "cyclic:solidifier/solidifier_amberalt",
    "cyclic:solidifier/solidifier_amber",
    "cyclic:solidifier/solidifier_obsflower",
    "cyclic:solidifier/solidifier_ice0",
    "cyclic:solidifier/solidifier_ice",
    "cyclic:solidifier/solidifier_glass",
    "cyclic:solidifier/solidifier_glass0",
    "cyclic:melter/melter_obslava1",
    "cyclic:solidifier/fireball_dark",
    "cyclic:solidifier/candle",
    //For converting liquid back into solid form
    "cyclic:solidifier/solidifier_slimeblock",
    "cyclic:solidifier/solidifier_honey_block0",
  ];

  // let solidifier_blacklist = [
  //   "cyclic:solidifier/solidifier_obsidian",
  //   "cyclic:solidifier/solidifier_magmabricksl",
  //   "cyclic:solidifier/solidifier_magmaava",
  //   "cyclic:solidifier/solidifier_magmabrickred",
  //   "cyclic:solidifier/solidifier_magmabrick",
  //   "cyclic:solidifier/solidifier_magmaliq",
  // ];

  event.forEachRecipe({ mod: "cyclic" }, (recipe) => {
    let id = recipe.getId();
    let include = solidifier_whitelist.includes(id);
    if (id.includes("solidifier") && !include) {
      event.remove({ id: id });
    }
  });



  //Item pipe
  event.shaped(Item.of('cyclic:item_pipe', 1), [
    '   ',
    'CBC',
    '   '
  ], {
    C: 'create:copper_sheet',
    B: 'minecraft:bricks',
  });


  //Spikes
  event.shaped(Item.of('cyclic:spikes_fire', 1), [
    ' R ',
    ' C ',
    '   '
  ], {
    C: 'cyclic:spikes_iron',
    R: 'minecraft:fire_charge',
  });

  event.shaped(Item.of('cyclic:spikes_curse', 1), [
    'RRR',
    'RCR',
    'RRR'
  ], {
    C: 'cyclic:spikes_iron',
    R: 'minecraft:spider_eye',
  });

  //Solidifier and melter
  event.shaped(Item.of('cyclic:solidifier', 1), [
    'RCR',
    'GQG',
    'OTO'
  ], {
    C: 'minecraft:packed_ice',
    R: 'thermal:invar_gear',
    Q: 'thermal:machine_frame',
    G: 'minecraft:glass',
    O: 'minecraft:obsidian',
    T: 'thermal:rf_coil',
  });

  event.shaped(Item.of('cyclic:melter', 1), [
    'RCR',
    'GQG',
    'OTO'
  ], {
    C: 'minecraft:blast_furnace',
    R: 'thermal:invar_gear',
    Q: 'thermal:machine_frame',
    G: 'minecraft:glass',
    O: 'minecraft:obsidian',
    T: 'thermal:rf_coil',
  });


  //ONLY protects against knockback, while regular shield protects against everything
  //has 10x durability of vanilla shield
  event.recipes.create.mechanical_crafting('cyclic:shield_obsidian', [
    'OOO',
    'OSO',
    'OoO',
    ' O '
  ], {
    S: 'minecraft:shield',
    O: 'cyclic:gem_obsidian',
    o: 'create:sturdy_sheet',
  });

  event.shaped(Item.of('cyclic:shield_flint', 1), [
    ' S ',
    ' F ',
    '   '
  ], {
    S: 'minecraft:shield',
    F: flintBlockID,
  });

  event.shaped(Item.of('cyclic:dark_glass', 5), [
    'TAT',
    'ATA',
    'TAT'
  ], {
    T: 'thermal:obsidian_glass',
    // A: 'minecraft:amethyst_shard',
    A: 'northstar:polished_amethyst',
  });

  /**
   * The apple is worth 20 HP, but given that it requires 8 gold apples of 5HP each, the recipe makes this item totally fair.
   */
  event.shaped(Item.of('cyclic:apple_honey', 1), [
    '   ',
    'GAG',
    'GGG'
  ], {
    A: 'create:honeyed_apple',
    G: 'minecraft:golden_apple',
  });


  //Disables effect particles
  event.shaped(Item.of('cyclic:charm_stealthpotion', 1), [
    'GGG',
    'DCD',
    'GGG'
  ], {
    D: 'minecraft:flint',
    C: 'minecraft:redstone',
    G: 'minecraft:gold_nugget',
  });

  //Shader filter to get night vision is free, so there is no use for this
  event.shaped(Item.of('cyclic:glowing_helmet', 1), [
    'GGG',
    'DDD',
    'D D'
  ], {
    D: 'minecraft:glowstone',
    G: 'minecraft:gold_ingot',
    //O: 'cyclic:gem_amber',
    // G: 'minecraft:gold_block',
    // J: 'mowziesmobs:glowing_jelly',
  });

  //Mind as well
  event.shapeless(Item.of('minecraft:glowstone_dust', 12), [
    'mowziesmobs:glowing_jelly',
  ]);

  /**
   * We should not make this too hard to make/use, because:
   * - Create enchantment industry allows us to repair mending tools instantly using create spout and XP juice
   * - The aether altar allows repairing at relatively the same speed with ambrosium shards as the cost
   * The witherite is incredibly hard to beat and requires a nether star, adding witherite ingot makes the recipe too  hard
   */
  event.recipes.create.mechanical_crafting(
    'cyclic:anvil', [
    'OOOOO',
    'DdddD',
    ' TRT ',
    'QTATQ',
    'QQQQQ'
  ], {
    R: 'thermal:rf_coil',
    D: 'minecraft:diamond_block',
    // d: 'minecraft:diamond',
    d: 'northstar:polished_diamond',
    O: 'cyclic:gem_amber',
    A: 'minecraft:anvil',
    Q: 'minecraft:iron_block',
    T: 'create:sturdy_sheet',
  });


  //Thermal dynamos produce about 40RF/tick 1 solar panel produces 0.16 RF/tick
  //Thermal dynamos require: 1 redstone dust, 1 rf coil, 1 iron gear, 2 iron ingots, and 2 blocks of any type
  //There would have to be 250 solar panels to match the output rate of 1 coal dynamo
  event.shaped(Item.of('cyclic:generator_solar', 4), [
    'BBB',
    'IRI',
    'IAI'
  ], {
    R: 'thermal:rf_coil',
    A: 'minecraft:redstone',
    B: 'minecraft:glass',
    I: 'minecraft:iron_ingot',
    // C: 'thermal:iron_gear',
  });

  event.shaped(Item.of('cyclic:altar_destruction', 1), [
    'GGG',
    'ONO',
    'OOO'
  ], {
    // C: 'minecraft:creeper_head',
    O: 'thermal:gunpowder_block',
    N: 'minecraft:nether_star',
    G: 'thermal:obsidian_glass',
    // G: 'minecraft:glass'
  });

  event.shaped(Item.of('cyclic:detector_moon', 1), [
    'GGG',
    'O O',
    'DDD'
  ], {
    O: 'minecraft:observer',
    G: 'minecraft:glass',
    D: 'minecraft:daylight_detector',
  });

  event.shaped(Item.of('cyclic:fire_killer', 1), [
    ' T ',
    'IRI',
    'IGI'
  ], {
    R: 'minecraft:flint',
    G: 'minecraft:red_dye',
    T: 'minecraft:tripwire_hook',
    I: 'minecraft:iron_ingot',
  });

  event.shaped(Item.of('cyclic:workbench', 1), [
    'CCC',
    'CWC',
    'CCC'
  ], {
    C: 'cyclic:compressed_cobblestone',
    W: 'minecraft:crafting_table',
  });


});


/**
 * 
 * 
 * 
 * 
 * 
 * 
 * 
 * 
 * 
 * 
 * 
 * 
 * 
 * Thermal Recipe Changes
 */
ServerEvents.recipes((event) => {
  event.remove([
    { output: "thermal:flux_drill" },
    { output: "thermal:flux_saw" },
    { output: "thermal:machine_pulverizer" },
    { output: "thermal:area_radius_augment" },
    { output: "thermal:drill_head" },
    { output: "thermal:flux_capacitor" },
  ]);

  //Dont make this too hard, but radial enhanncment is pretty good for any item
  //Allows increased radius
  event.shaped(Item.of('thermal:area_radius_augment', 1), [
    'GrG',
    'PtP',
    'GrG',
  ], {
    // t: 'thermal:tin_ingot',
    t: 'thermal:silver_gear',
    r: 'thermal:redstone_servo',
    G: 'thermal:gold_gear',
    P: 'kubejs:precision_component',
  });


  //The pulverizer allows a chance to get additional stuff (sometimes ore doubling), if using a catalyst
  //Pulverizer affectively increases diamond yield to about 1.5x (50% chance of additional diamond)
  event.shaped(Item.of('thermal:machine_pulverizer', 1), [
    ' b ',
    'sfs',
    'iri',
  ], {
    b: 'minecraft:blast_furnace',
    r: 'thermal:rf_coil',
    f: 'thermal:machine_frame',
    s: flintBlockID,
    // i: 'thermal:copper_gear',
    //Changed copper to signalum
    i: 'thermal:signalum_gear',
  });

  //This is only used for the drill, so it makes sense to add diamond
  event.recipes.create.mechanical_crafting('thermal:drill_head', [
    ' D ',
    'DDD',
    'iii',
    'ici'
  ], {
    c: 'minecraft:copper_ingot',
    i: 'minecraft:iron_ingot',
    D: '#forge:dusts/diamond',
  });


  // Since this is like an unbreakable pick, it needs some diamonds, we will put most on the drill head
  // It has infinite durability and can be upgraded with radial enhancment to mine 3x3, 5x5 or 7x7 blocks
  // These recipes roughly require 1 diamond chestplate, 1 netherite ingot, silver, presicion mechanism and rubber
  event.recipes.create.mechanical_crafting('thermal:flux_drill', [
    ' d ',
    'ggg',
    'trt',
    'GGG',
    'EPE',
    'ERE',
  ], {
    d: 'thermal:drill_head',
    r: 'thermal:rf_coil',
    g: 'thermal:netherite_plate',
    //i: '#forge:plates/iron',
    t: 'thermal:silver_gear',
    E: 'thermal:enderium_gear',
    P: 'kubejs:precision_machine',
    R: 'thermal:cured_rubber',
    G: 'create:sturdy_sheet',
    //W: 'cataclysm:witherite_ingot',
  });

  event.recipes.create.mechanical_crafting('thermal:flux_saw', [
    ' d ',
    'igi',
    'trt',
    'GGG',
    'PEP',
    'ERE',
  ], {
    d: 'thermal:saw_blade',
    r: 'thermal:rf_coil',
    g: 'thermal:netherite_plate',
    i: '#forge:plates/iron',
    t: 'thermal:silver_gear',
    E: 'thermal:enderium_gear',
    P: 'kubejs:precision_component',
    R: 'thermal:cured_rubber',
    G: 'create:sturdy_sheet',
  });

  //Thermal battery has 4 lead ingots, 1 electrum gear and 4 cured rubber
  //The original capacitor had 3 lead ingots, 3 redstone, 1 rf coil
  //Can recharge all items in inventory
  event.recipes.create.mechanical_crafting('thermal:flux_capacitor', [
    'aEa',
    'RrR',
    'lal',
    'lal'
  ], {
    r: 'thermal:rf_coil',
    l: 'thermal:lead_ingot',
    a: 'minecraft:redstone',
    //added
    R: 'thermal:cured_rubber',
    E: 'thermal:electrum_gear',
  });

});

/**
 * 
 * 
 * 
 * Aether recipes
 */
ServerEvents.recipes((event) => {
  event.remove([
    { output: "aether:altar" },
  ]);

  //The Altar allows items to be recharged using ambrosium shards
  //https://aether.fandom.com/wiki/Zanite_Gemstone
  //Zanite is the second most common ore in The Aether. 
  //https://aether.fandom.com/wiki/Ambrosium_Shard
  //Holystone Tools when being used have a chance to cause whatever they are being used on to drop an Ambrosium Shard.
  //The altar smelts gravitite into enchanted gravitite (block)
  event.shaped(Item.of('aether:altar', 1), [
    'ZZZ',
    'ZZZ',
    'HHH',
  ], {
    Z: 'aether:zanite_block',
    // z: 'aether:zanite_gemstone',
    H: 'aether:holystone'
  });
});
/**
 * New recipes
 */

/**
 * Add custom item and block recipes
 */
ServerEvents.recipes((event) => {

  // event.recipes.create.mixing('kubejs:black_gold_ingot', [
  //   "minecraft:gold_ingot",
  //   "create:powdered_obsidian",
  //   "create:powdered_obsidian",
  //   "create:powdered_obsidian",
  //   "create:powdered_obsidian",
  //   "create:powdered_obsidian",
  //   "create:powdered_obsidian",
  //   "create:powdered_obsidian",
  //   "create:powdered_obsidian",
  // ]).heated();

  event.recipes.create.mixing('kubejs:black_netherite_ingot', [
    "createbigcannons:nethersteel_ingot",
    // "createbigcannons:nethersteel_ingot",
    // "create:powdered_obsidian",
    "create:powdered_obsidian",
    "create:powdered_obsidian",
    "create:powdered_obsidian",
    "create:powdered_obsidian",
    "create:powdered_obsidian",
    "create:powdered_obsidian",
    "create:powdered_obsidian",
    "create:powdered_obsidian",
  ]).superheated();

  event.shaped(Item.of("kubejs:precision_component", 1),
    ["PPP", "PPP", "PPP"], {
    P: "create:precision_mechanism",
  });

  event.shaped(Item.of("kubejs:precision_machine", 1),
    ["PPP", "PPP", "PPP"], {
    P: "kubejs:precision_component",
  });

  // event.recipes.create.sequenced_assembly([
  // 	Item.of('create:precision_mechanism').withChance(130.0), // this is the item that will appear in JEI as the result
  // 	Item.of('create:golden_sheet').withChance(8.0), // the rest of these items will be part of the scrap
  // 	Item.of('create:andesite_alloy').withChance(8.0),
  // 	Item.of('create:cogwheel').withChance(5.0),
  // 	Item.of('create:shaft').withChance(2.0),
  // 	Item.of('create:crushed_gold_ore').withChance(2.0),
  // 	Item.of('2x minecraft:gold_nugget').withChance(2.0),
  // 	'minecraft:iron_ingot',
  // 	'minecraft:clock'
  // ], 'create:golden_sheet', [ // 'create:golden_sheet' is the input
  // 	// the transitional item set by `transitionalItem('create:incomplete_large_cogwheel')` is the item used during the intermediate stages of the assembly
  // 	event.recipes.createDeploying('create:incomplete_precision_mechanism', ['create:incomplete_precision_mechanism', 'create:precision_mechanism']),
  // 	// like a normal recipe function, is used as a sequence step in this array. Input and output have the transitional item
  // 	event.recipes.createDeploying('create:incomplete_precision_mechanism', ['create:incomplete_precision_mechanism', 'create:large_cogwheel']),
  //   event.recipes.createDeploying('create:incomplete_precision_mechanism', ['create:incomplete_precision_mechanism', 'create:precision_mechanism']),
  // 	event.recipes.createDeploying('create:incomplete_precision_mechanism', ['create:incomplete_precision_mechanism', 'minecraft:iron_nugget'])
  // ]).transitionalItem('kubejs:precision_component').loops(6) // set the transitional item and the number of loops



  event.shaped(Item.of("create:precision_mechanism", 9), ["kubejs:precision_component"]);
  event.shaped(Item.of("kubejs:precision_component", 9), ["kubejs:precision_machine"]);


  //Dirt
  event.shaped(Item.of("kubejs:phantom_dirt", 12), ["BSB", "BFB", "BSB"], {
    B: "minecraft:dirt",
    F: "minecraft:phantom_membrane",
    S: "minecraft:string",
  });

  //Stone
  event.shaped(Item.of("kubejs:phantom_stone", 12), ["BSB", "BFB", "BSB"], {
    B: "minecraft:stone",
    F: "minecraft:phantom_membrane",
    S: "minecraft:string",
  });

  //netherrack
  event.shaped(Item.of("kubejs:phantom_netherrack", 12), ["BSB", "BFB", "BSB"], {
    B: "minecraft:netherrack",
    F: "minecraft:phantom_membrane",
    S: "minecraft:string",
  });

  //snow
  event.shaped(Item.of("kubejs:phantom_snow", 12), ["BSB", "BFB", "BSB"], {
    B: "minecraft:snow_block",
    F: "minecraft:phantom_membrane",
    S: "minecraft:string",
  });

  //sandstone
  event.shaped(Item.of("kubejs:phantom_sandstone", 12), ["BSB", "BFB", "BSB"], {
    B: "minecraft:sandstone",
    F: "minecraft:phantom_membrane",
    S: "minecraft:string",
  });

  //red sandstone
  event.shaped(Item.of("kubejs:phantom_red_sandstone", 12), ["BSB", "BFB", "BSB"], {
    B: "minecraft:red_sandstone",
    F: "minecraft:phantom_membrane",
    S: "minecraft:string",
  });

  //cobblestone
  event.shaped(Item.of("kubejs:phantom_cobblestone", 12), ["BSB", "BFB", "BSB"], {
    B: "minecraft:cobblestone",
    F: "minecraft:phantom_membrane",
    S: "minecraft:string",
  });

  //stone bricks
  event.shaped(Item.of("kubejs:phantom_stone_bricks", 12), ["BSB", "BFB", "BSB"], {
    B: "minecraft:stone_bricks",
    F: "minecraft:phantom_membrane",
    S: "minecraft:string",
  });

  //end stone
  event.shaped(Item.of("kubejs:phantom_end_stone", 12), ["BSB", "BFB", "BSB"], {
    B: "minecraft:end_stone",
    F: "minecraft:phantom_membrane",
    S: "minecraft:string",
  });

});