//Priority: 2
/**
  
  █▀▄▀█ █▀█ █▄░█ █░█ █▀▄▀█ █▀▀ █▄░█ ▀█▀ ▄▀█ █░░   █▀▀ ▀▄▀ █▀█ █▀▀ █▀█ █ █▀▀ █▄░█ █▀▀ █▀▀
  █░▀░█ █▄█ █░▀█ █▄█ █░▀░█ ██▄ █░▀█ ░█░ █▀█ █▄▄   ██▄ █░█ █▀▀ ██▄ █▀▄ █ ██▄ █░▀█ █▄▄ ██▄

  ☻/  * @file Global Constants for use in other scripts
  /▌  * @copyright KnightDexx's Modded Minecraft World | ModernGamingWorld | GeekTechMedia
  /\

*/
//======= ITEM =======
ServerEvents.tags('item', e => {

   //======= Wooden Plates =======
   e.add('monumental_experience:wooden_plates', [
      'kubejs:plate_wood_cherry',
      'kubejs:plate_wood_dark_oak',
      'kubejs:plate_wood_jungle',
      'kubejs:plate_wood_oak',
      'kubejs:plate_wood_mangrove',
      'kubejs:plate_wood_jungle',
      'kubejs:plate_wood_spruce',
      'kubejs:part_plate_small_wood'
   ])

   //======= Cloth =======
   e.add('monumental_experience:cloth', [
      'reliquary:cloth',
      'hexerei:cloth',
      'botania:manaweave_cloth',
      '#create:table_cloths'
   ])

   //======= Netherite plates =======
   e.add('forge:plates/netherite', [
      'createdeco:netherite_sheet'
   ])

   //======= Zinc plates =======
   e.add('forge:plates/zinc', [
      'createdeco:zinc_sheet'
   ])

   //======= Cauldron =======
   e.add('monumental_experience:cauldrons', [
      'ars_nouveau:wixie_cauldron',
      'hexerei:mixing_cauldron',
      'minecraft:cauldron',
      'mcwholidays:cauldron',
      'reliquary:apothecary_cauldron',
      'securitycraft:reinforced_cauldron'
   ])

   //======= Coal Chunks =======
   e.add('monumental_experience:chunks/coal', [
      'ironcoals:base_coal_chunk',
      'ironcoals:iron_coal_chunk',
      'ironcoals:gold_coal_chunk',
      'ironcoals:diamond_coal_chunk',
      'ironcoals:emerald_coal_chunk'
   ])

   //======= Conveyors =======
   e.add('monumental_experience:conveyors', [
    'cyclic:conveyor',
    'industrialforegoing:conveyor',
    'immersiveengineering:conveyor_basic',
    'immersiveengineering:conveyor_redstone',
    'immersiveengineering:conveyor_dropper',
    'immersiveengineering:conveyor_vertical',
    'immersiveengineering:conveyor_splitter'
   ])

   //======= Cloth =======
   e.add('monumental_experience:essences/fire', [
      'mysticalagriculture:fire_essence',
      'ars_nouveau:fire_essence'
   ])

   //======= Lasers =======
   e.add('monumental_experience:jars', [
    'ars_nouveau:source_jar',
    'ars_nouveau:potion_jar',
    'ars_nouveau:mob_jar',
    'ars_nouveau:jar_of_light',
    'ars_nouveau:void_jar',
    'cookingforblockheads:milk_jar',
    'hexerei:herb_jar',
    'supplementaries:jar',
    'twilightforest:firefly_jar',
    'twilightforest:cicada_jar',
    'thermal:jar',
    'productivebees:jar_oak'
   ])

   //======= Lasers =======
   e.add('monumental_experience:lasers', [
    'cyclic:laser',
    'mekanism:laser',
    'pneumaticcraft:assembly_laser',
    'industrialforegoing:laser_drill'
   ])

   //======= Lasers Lens =======
   e.add('monumental_experience:laser_lenses', [
    'industrialforegoing:laser_lens0',
    'industrialforegoing:laser_lens1',
    'industrialforegoing:laser_lens2',
    'industrialforegoing:laser_lens3',
    'industrialforegoing:laser_lens5',
    'industrialforegoing:laser_lens6',
    'industrialforegoing:laser_lens7',
    'industrialforegoing:laser_lens8',
    'industrialforegoing:laser_lens9',
    'industrialforegoing:laser_lens10',
    'industrialforegoing:laser_lens11',
    'industrialforegoing:laser_lens12',
    'industrialforegoing:laser_lens13',
    'industrialforegoing:laser_lens14',
    'industrialforegoing:laser_lens15'
   ])

   //======= Eyes =======
   e.add('monumental_experience:eyes', [
    'botania:third_eye',
    'minecraft:ender_eye',
    'reliquary:salamander_eye',
    'cyclic:ender_eye_reuse',
    'upgrade_aquatic:elder_eye',
    'enigmaticlegacy:extradimensional_eye',
    'endrem:exotic_eye',
    'endrem:guardian_eye',
    'cataclysm:mech_eye',
    'cataclysm:flame_eye',
    'cataclysm:void_eye',
    'cataclysm:monstrous_eye',
    'cataclysm:abyss_eye',
    'cataclysm:desert_eye',
    'cataclysm:cursed_eye',
    'undead_revamp2:huntereye',
    'naturesaura:eye'
   ])

   //======= Tanks =======
   e.add('monumental_experience:tanks', [
    'ae2:sky_stone_tank',
    'create:fluid_tank',
    'mekanism:basic_fluid_tank',
    'mekanism:advanced_fluid_tank',
    'mekanism:elite_fluid_tank',
    'mekanism:ultimate_fluid_tank',
    '#pneumaticcraft:fluid_tanks',
    'rftoolscontrol:tank',
    'rftoolsutility:tank'
   ])

   //======= Hoppers =======
   e.add('monumental_experience:hoppers', [
    'minecraft:hopper',
    'naturesaura:grated_chute',
    'pneumaticcraft:omnidirectional_hopper',
    'pneumaticcraft:liquid_hopper',
    'cyclic:hopper_fluid',
    'cyclic:hopper',
    'cyclic:hopper_gold'
   ])

   //======= Piston =======
   e.add('monumental_experience:piston', [
    'create:mechanical_piston',
    'create:sticky_mechanical_piston',
    'minecraft:sticky_piston',
    'minecraft:piston',
    'multipiston:multipistonblock',
    'securitycraft:reinforced_piston',
    'securitycraft:reinforced_sticky_piston'
   ])

   //======= Hammers =======
   e.add('monumental_experience:tools/hammers', [
    '#alltheores:ore_hammers',
    'blue_skies:crushing_hammer',
    'doom:sentinelhammer',
    'framedblocks:framed_hammer',
    'mcwroofs:roofing_hammer',
    'mcwwindows:hammer',
    'handcrafted:hammer',
    'gobber2:gobber2_hammer',
    'gobber2:gobber2_hammer_nether',
    'gobber2:gobber2_hammer_end',
    'grimoireofgaia:minotaur_hammer',
    'hexerei:warhammer',
    'immersiveengineering:hammer'
   ])

   //======= Clocks =======
   let clocks = ['oak', 'spruce', 'birch', 'jungle', 'acacia', 'dark_oak', 'mangrove', 'cherry', 'cuckoo', 'clock']

   clocks.forEach(type => {
      e.add('forge:clocks', `furniture:${type}_clock`)
      e.add('forge:clocks', `cyclic:${type}`)
      e.add('forge:clocks', `furniture:${type}_grandfather_clock`)
      e.add('forge:clocks', `create:${type}_clock`)
      e.add('forge:clocks', `supplementaries:${type}_block`)
   })

   //======= Planks =======
   e.add('forge:planks/mangrove', 'minecraft:mangrove_planks')
   const TwilightWoodTypes = ['transformation', 'dark', 'sorting', 'twilight_oak', 'canopy', 'time', 'mining']
   TwilightWoodTypes.forEach((wood_type) => {
      e.add(`forge:planks/${wood_type}`, `twilightforest:${wood_type}_planks`)
   })

   //======= Hexerei =======
   e.add('hexerei:mahogany_logs', [
      'hexerei:mahogany_log',
      'hexerei:stripped_mahogany_log',
      'hexerei:mahogany_wood',
      'hexerei:stripped_mahogany_wood'
   ])
   e.add('hexerei:willow_logs', [
      'hexerei:willow_log',
      'hexerei:stripped_willow_log',
      'hexerei:willow_wood',
      'hexerei:stripped_willow_wood'
   ])
   e.add('hexerei:witch_hazel_logs', [
      'hexerei:witch_hazel_log',
      'hexerei:stripped_witch_hazel_log',
      'hexerei:witch_hazel_wood',
      'hexerei:stripped_witch_hazel_wood'
   ])

   //======= Botania =======
   let botaiaQueartz = ['dark', 'mana', 'blaze', 'lavender', 'red', 'elven', 'sunny']

   botaiaQueartz.forEach(type => {
      e.add('botania:all_quartz', `botania:quartz_${type}`)
   })

   //======= Fix Mythicbotany tags =======
   e.add('forge:raw_materials/elementium', 'mythicbotany:raw_elementium')
   e.add('forge:storage_blocks/raw_elementium', 'mythicbotany:raw_elementium_block')


   //======= Logs =======
   e.add('minecraft:crimson_logs', '#minecraft:crimson_stems')
   e.add('minecraft:warped_logs', '#minecraft:warped_stems')
   e.add('securitycraft:reinforced/crimson_logs', '#securitycraft:reinforced/crimson_stems')
   e.add('securitycraft:reinforced/warped_logs', '#securitycraft:reinforced/warped_stems')
   e.add('twilightforest:dark_logs', '#twilightforest:darkwood_logs')
   e.add('twilightforest:time_logs', '#twilightforest:timewood_logs')
   e.add('twilightforest:transformation_logs', '#twilightforest:transwood_logs')
   e.add('twilightforest:sorting_logs', '#twilightforest:sortwood_logs')

   //======= Sophisticated Storage =======
   //======= Wooden Barrels, Chests & Shulker Boxes =======
   e.add('misctags:barrels/wooden', 'sophisticatedstorage:barrel')
   e.add('misctags:limited_barrels_1/wooden', 'sophisticatedstorage:limited_barrel_1')
   e.add('misctags:limited_barrels_2/wooden', 'sophisticatedstorage:limited_barrel_2')
   e.add('misctags:limited_barrels_3/wooden', 'sophisticatedstorage:limited_barrel_3')
   e.add('misctags:limited_barrels_4/wooden', 'sophisticatedstorage:limited_barrel_4')
   e.add('misctags:chests/wooden', 'sophisticatedstorage:chest')
   e.add('misctags:shulker_box', 'sophisticatedstorage:shulker_box')
   //======= Iron Barrels, Chests & Shulker Boxes =======
   e.add('misctags:barrels/iron', 'sophisticatedstorage:iron_barrel')
   e.add('misctags:limited_barrels_1/iron', 'sophisticatedstorage:limited_iron_barrel_1')
   e.add('misctags:limited_barrels_2/iron', 'sophisticatedstorage:limited_iron_barrel_2')
   e.add('misctags:limited_barrels_3/iron', 'sophisticatedstorage:limited_iron_barrel_3')
   e.add('misctags:limited_barrels_4/iron', 'sophisticatedstorage:limited_iron_barrel_4')
   e.add('misctags:chests/iron', 'sophisticatedstorage:iron_chest')
   e.add('misctags:shulker_boxes/iron', 'sophisticatedstorage:iron_shulker_box')
   //======= Gold Barrels, Chests & Shulker Boxes =======
   e.add('misctags:barrels/gold', 'sophisticatedstorage:gold_barrel')
   e.add('misctags:limited_barrels_1/gold', 'sophisticatedstorage:limited_gold_barrel_1')
   e.add('misctags:limited_barrels_2/gold', 'sophisticatedstorage:limited_gold_barrel_2')
   e.add('misctags:limited_barrels_3/gold', 'sophisticatedstorage:limited_gold_barrel_3')
   e.add('misctags:limited_barrels_4/gold', 'sophisticatedstorage:limited_gold_barrel_4')
   e.add('misctags:chests/gold', 'sophisticatedstorage:gold_chest')
   e.add('misctags:shulker_boxes/gold', 'sophisticatedstorage:gold_shulker_box')
   //======= Diamond Barrels, Chests & Shulker Boxes =======
   e.add('misctags:barrels/diamond', 'sophisticatedstorage:diamond_barrel')
   e.add('misctags:limited_barrels_1/diamond', 'sophisticatedstorage:limited_diamond_barrel_1')
   e.add('misctags:limited_barrels_2/diamond', 'sophisticatedstorage:limited_diamond_barrel_2')
   e.add('misctags:limited_barrels_3/diamond', 'sophisticatedstorage:limited_diamond_barrel_3')
   e.add('misctags:limited_barrels_4/diamond', 'sophisticatedstorage:limited_diamond_barrel_4')
   e.add('misctags:chests/diamond', 'sophisticatedstorage:diamond_chest')
   e.add('misctags:shulker_boxes/diamond', 'sophisticatedstorage:diamond_shulker_box')
   //======= Netherite Barrels, Chests & Shulker Boxes =======
   e.add('misctags:barrels/netherite', 'sophisticatedstorage:netherite_barrel')
   e.add('misctags:limited_barrels_1/netherite', 'sophisticatedstorage:limited_netherite_barrel_1')
   e.add('misctags:limited_barrels_2/netherite', 'sophisticatedstorage:limited_netherite_barrel_2')
   e.add('misctags:limited_barrels_3/netherite', 'sophisticatedstorage:limited_netherite_barrel_3')
   e.add('misctags:limited_barrels_4/netherite', 'sophisticatedstorage:limited_netherite_barrel_4')
   e.add('misctags:chests/netherite', 'sophisticatedstorage:netherite_chest')
   e.add('misctags:shulker_boxes/netherite', 'sophisticatedstorage:netherite_shulker_box')

   //======= Mining Gadgets =======
   e.add('mininggadgets:mininggadgets', [
      'mininggadgets:mininggadget_simple',
      'mininggadgets:mininggadget_fancy',
      'mininggadgets:mininggadget'
   ])

   //======= Industrial Foregoing =======
   e.add('industrialforegoing:bioreactor', '#forge:crops')
   e.add('industrialforegoing:laser_lenses', [
      'industrialforegoing:laser_lens0',
      'industrialforegoing:laser_lens1',
      'industrialforegoing:laser_lens2',
      'industrialforegoing:laser_lens3',
      'industrialforegoing:laser_lens4',
      'industrialforegoing:laser_lens5',
      'industrialforegoing:laser_lens6',
      'industrialforegoing:laser_lens7',
      'industrialforegoing:laser_lens8',
      'industrialforegoing:laser_lens9',
      'industrialforegoing:laser_lens10',
      'industrialforegoing:laser_lens11',
      'industrialforegoing:laser_lens12',
      'industrialforegoing:laser_lens13',
      'industrialforegoing:laser_lens14',
      'industrialforegoing:laser_lens15'
   ])

   //======= RFTools =======
   //======= Crafters =======
   e.add('rftools:crafter', [
      'rftoolsutility:crafter1',
      'rftoolsutility:crafter2',
      'rftoolsutility:crafter3'
   ])
   //======= Power Cells =======
   e.add('rftools:powercell', [
      'rftoolspower:cell1',
      'rftoolspower:cell2',
      'rftoolspower:cell3'
   ])
   //======= Dimensional Cells =======
   e.add('rftools:dimensionalcell', [
      'rftoolspower:dimensionalcell',
      'rftoolspower:dimensionalcell_simple',
      'rftoolspower:dimensionalcell_advanced'
   ])

   //======= BLUE SKIES =======
   //======= Spears =======
   e.add('blue_skies:spears', [
      'blue_skies:bluebright_spear',
      'blue_skies:starlit_spear',
      'blue_skies:frostbright_spear',
      'blue_skies:lunar_spear',
      'blue_skies:dusk_spear',
      'blue_skies:maple_spear',
      'blue_skies:cherry_spear'
   ])

   //======= Summoner Artifact Drops =======
   e.add('blue_skies:summoner_drops', [
      'blue_skies:ethereal_arc',
      'blue_skies:soulbound_spear',
      'blue_skies:summoning_tome',
      'blue_skies:summoning_table',
      'blue_skies:blinding_rage'
   ])

   //======= Starlit Crusher Artifact Drops =======
   e.add('blue_skies:starlit_crusher_drops', [
      'blue_skies:crushing_hammer',
      'blue_skies:nature_arc',
      'blue_skies:defying_starlight'
   ])

   //======= Alchemist Artifact Drops =======
   e.add('blue_skies:alchemist_drops', [
      'blue_skies:spike_shield',
      'blue_skies:dusk_arc',
      'blue_skies:alchemy_table',
      'blue_skies:blinding_rage'
   ])

   //======= Arachnarch Artifact Drops =======
   e.add('blue_skies:arachnarch_drops', [
      'blue_skies:venom_sac',
      'blue_skies:poison_arc',
      'blue_skies:different_sword',
      'blue_skies:venomous_encounter'
   ])

   //======= Glazed Terracota =======
   e.add('forge:glazed_terracotta', [
      'minecraft:white_glazed_terracotta',
      'minecraft:orange_glazed_terracotta',
      'minecraft:magenta_glazed_terracotta',
      'minecraft:light_blue_glazed_terracotta',
      'minecraft:yellow_glazed_terracotta',
      'minecraft:lime_glazed_terracotta',
      'minecraft:pink_glazed_terracotta',
      'minecraft:gray_glazed_terracotta',
      'minecraft:light_gray_glazed_terracotta',
      'minecraft:cyan_glazed_terracotta',
      'minecraft:purple_glazed_terracotta',
      'minecraft:blue_glazed_terracotta',
      'minecraft:brown_glazed_terracotta',
      'minecraft:green_glazed_terracotta',
      'minecraft:red_glazed_terracotta',
      'minecraft:black_glazed_terracotta'
   ])

   //======= Smooth Stones =======
   e.add('misctags:smooth_stone', [
      'minecraft:smooth_stone',
      'minecraft:smooth_red_sandstone',
      'minecraft:smooth_sandstone',
      'minecraft:smooth_quartz',
      'minecraft:smooth_basalt',
      'biomeswevegone:smooth_black_sandstone',
      'biomeswevegone:smooth_white_sandstone',
      'biomeswevegone:smooth_blue_sandstone',
      'biomeswevegone:smooth_purple_sandstone',
      'biomeswevegone:smooth_pink_sandstone'
   ])

   //======= Arow Top =======
   e.add('forge:arrow_top', [
      'minecraft:flint',
      'alexsmobs:bone_serpent_tooth',
      'alexsmobs:shark_tooth',
      'alexsmobs:cachalot_whale_tooth',
      'tombstone:bone_needle'
   ])

   //======= Mysticay Agriculture =======
   e.add('misctags:farmland/tier6', ['mysticalagradditions:insanium_farmland'])
   e.add('misctags:farmland/tier5', ['mysticalagriculture:supremium_farmland', '#misctags:farmland/tier6'])
   e.add('misctags:farmland/tier4', ['mysticalagriculture:imperium_farmland', '#misctags:farmland/tier5'])
   e.add('misctags:farmland/tier3', ['mysticalagriculture:tertium_farmland', '#misctags:farmland/tier4'])
   e.add('misctags:farmland/tier2', ['mysticalagriculture:prudentium_farmland', '#misctags:farmland/tier3'])
   e.add('misctags:farmland/tier1', ['mysticalagriculture:inferium_farmland', '#misctags:farmland/tier2'])

   //======= Minecraft Furnaces =======
   e.add('misctags:furnace', ['minecraft:furnace', 'quark:deepslate_furnace', 'quark:blackstone_furnace'])

   //Minecraft Corals
   e.add('misctags:corals', [
      'minecraft:tube_coral',
      'minecraft:brain_coral',
      'minecraft:bubble_coral',
      'minecraft:fire_coral',
      'minecraft:horn_coral'
   ])

   //======= Minecraft Shulker Boxes =======
   e.add('minecraft:shulker_boxes', [
      'minecraft:shulker_box',
      'minecraft:white_shulker_box',
      'minecraft:orange_shulker_box',
      'minecraft:magenta_shulker_box',
      'minecraft:light_blue_shulker_box',
      'minecraft:yellow_shulker_box',
      'minecraft:lime_shulker_box',
      'minecraft:pink_shulker_box',
      'minecraft:gray_shulker_box',
      'minecraft:light_gray_shulker_box',
      'minecraft:cyan_shulker_box',
      'minecraft:purple_shulker_box',
      'minecraft:blue_shulker_box',
      'minecraft:brown_shulker_box',
      'minecraft:green_shulker_box',
      'minecraft:red_shulker_box',
      'minecraft:black_shulker_box',
   ])

   //======= Banner Patterns =======
   e.add('misctags:banner/patterns', [
      'minecraft:flower_banner_pattern',
      'minecraft:creeper_banner_pattern',
      'minecraft:skull_banner_pattern',
      'minecraft:mojang_banner_pattern',
      'minecraft:globe_banner_pattern',
      'minecraft:piglin_banner_pattern',
      'alexsmobs:banner_pattern_bear',
      'alexsmobs:banner_pattern_australia_0',
      'alexsmobs:banner_pattern_australia_1',
      'alexsmobs:banner_pattern_new_mexico',
      'alexsmobs:banner_pattern_brazil',
      'immersiveengineering:bannerpattern_hammer',
      'immersiveengineering:bannerpattern_bevels',
      'immersiveengineering:bannerpattern_ornate',
      'immersiveengineering:bannerpattern_treated_wood',
      'immersiveengineering:bannerpattern_windmill',
      'immersiveengineering:bannerpattern_wolf_r',
      'immersiveengineering:bannerpattern_wolf_l',
      'immersiveengineering:bannerpattern_wolf',
      'twilightforest:naga_banner_pattern',
      'twilightforest:lich_banner_pattern',
      'twilightforest:minoshroom_banner_pattern',
      'twilightforest:hydra_banner_pattern',
      'twilightforest:knight_phantom_banner_pattern',
      'twilightforest:ur_ghast_banner_pattern',
      'twilightforest:alpha_yeti_banner_pattern',
      'twilightforest:snow_queen_banner_pattern',
      'twilightforest:quest_ram_banner_pattern',
   ])

   //======= Salt fixes =======
   //======= Croptopia =======
   e.add('forge:dusts', 'croptopia:salt')
   e.add('forge:dusts/salt', 'croptopia:salt')
   e.add('supplementaries:hourglass_dusts', 'croptopia:salt')
   e.add('minecolonies:reduceable_ingredient', 'croptopia:salt')
   //======= Mekanism =======
   e.add('forge:storage_blocks', 'mekanism:block_salt')
   e.add('minecolonies:storage_blocks', 'mekanism:block_salt')
   e.add('forge:storage_blocks/salt', 'mekanism:block_salt')

})

//======= BLOCK =======
ServerEvents.tags('block', e => {

   e.add('buildinggadgets:blacklist/generic', '#forge:relocation_not_supported')
   e.add('forge:relocation_not_supported', [
      'minecraft:beehive',
      'minecraft:bee_nest',
      '@waystones'
   ])
   e.add('ars_nouveau:golem/budding', 'minecraft:budding_amethyst')
   e.add('ars_nouveau:golem/cluster', 'minecraft:amethyst_cluster')

})

//======= FLUID =======
ServerEvents.tags('fluid', e => {

   e.remove('minecraft:water', [
      'createaddition:flowing_seed_oil', 'createaddition:seed_oil'
   ])

})

//======= ENTITY =======
ServerEvents.tags('entity_type', e => {

   e.add('kubejs:mob_blacklist', ['artifacts:mimic', 'minecraft:iron_golem'])
   e.add('industrialforegoing:mob_duplicator_blacklist', '#kubejs:mob_blacklist')
   e.add('ars_nouveau:drygmy_blacklist', 'artifacts:mimic')

})