const AIR = 'minecraft:air';

const modIds = [
    'kubejs',
    'emendatusenigmatica',
    'minecraft',
    'tconstruct',
    'create',
    'createaddition',
    'bloodmagic',
    'atum',
    'immersiveengineering',
    'thermal',
    'mekanism',
    'appliedenergistics2',
    'lazierae2',
    'pedestals',
    'eidolon',
    'occultism',
    'boss_tools',
    'titanium'
];

const colors = [
    'white',
    'orange',
    'magenta',
    'light_blue',
    'yellow',
    'lime',
    'pink',
    'gray',
    'light_gray',
    'cyan',
    'purple',
    'blue',
    'brown',
    'green',
    'red',
    'black'
];

const metals = [
    'copper',
    'aluminum',
    'silver',
    'lead',
    'nickel',
    'uranium',
    'osmium',
    'tin',
    'zinc',
    'cobalt',
    'bronze',
    'brass',
    'constantan',
    'electrum',
    'steel',
    'invar',
    'signalum',
    'lumium',
    'enderium',
    'iesnium',
    'iron',
    'gold',
    'cast_iron',
    'netherite',
    'holy',
    'stainless_steel',
    'dimension',
    'fluix_steel'
];

const gems = [
    'diamond',
    'emerald',
    'ruby',
    'sapphire',
    'fluix'
];

const cgems = [
    'coal',
    'charcoal',
    'coal_coke',
    'lapis',
    'cinnabar',
    'apatite',
    'sulfur',
    'fluorite',
    'potassium_nitrate',
    'quartz',
    'certus_quartz',
    'charged_certus_quartz'
];

const ores = [
    'iron',
    'gold',
    'copper',
    'aluminum',
    'silver',
    'lead',
    'nickel',
    'uranium',
    'osmium',
    'tin',
    'zinc',
    'cobalt',
    'diamond',
    'emerald',
    'redstone',
    'quartz',
    'lapis',
    'coal',
    'iesnium',
    'certus_quartz',
    'charged_certus_quartz',
    'cinnabar',
    'apatite',
    'sulfur',
    'fluorite',
    'potassium_nitrate',
    'ruby',
    'sapphire',
    'nebu'
];

const bbbb = ['blaze','blizz','blitz','basalz'];

const quartz = [
    'quartz',
    'certus_quartz',
    'charged_certus_quartz',
    'fluix',
    'biotite',
    'quartz_dark',
    'quartz_red',
    'quartz_mana',
    'quartz_blaze',
    'quartz_lavender',
    'quartz_elven',
    'quartz_sunny'
]

const tconstructs = [
    {
        base: '#minecraft:planks',
        id: 'tconstruct:wood'
    },
    {
        base: '#forge:stone',
        id: 'tconstruct:stone'
    },
    {
        base: 'minecraft:flint',
        id: 'tconstruct:flint'
    },
    {
        base: '#forge:bones',
        id: 'tconstruct:bone'
    },
    {
        base: 'tconstruct:necrotic_bone',
        id: 'tconstruct:necrotic_bone'
    },
    {
        base: 'minecraft:iron_ingot',
        id: 'tconstruct:iron'
    },
    {
        base: 'emendatusenigmatica:copper_ingot',
        id: 'tconstruct:copper'
    },
    {
        base: 'tconstruct:seared_brick',
        id: 'tconstruct:seared_stone'
    },
    {
        base: '#tconstruct:slimy_planks',
        id: 'tconstruct:slimewood'
    },
    {
        base: 'emendatusenigmatica:osmium_ingot',
        id: 'tconstruct:osmium'
    },
    {
        base: 'emendatusenigmatica:lead_ingot',
        id: 'tconstruct:lead'
    },
    {
        base: 'emendatusenigmatica:silver_ingot',
        id: 'tconstruct:silver'
    },
    {
        base: 'tconstruct:scorched_brick',
        id: 'tconstruct:scorched_stone'
    },
    {
        base: 'tconstruct:slimesteel_ingot',
        id: 'tconstruct:slimesteel'
    },
    {
        base: 'tconstruct:tinkers_bronze_ingot',
        id: 'tconstruct:tinkers_bronze'
    },
    {
        base: 'tconstruct:pig_iron_ingot',
        id: 'tconstruct:pig_iron'
    },
    {
        base: 'tconstruct:rose_gold_ingot',
        id: 'tconstruct:rose_gold'
    },
    {
        base: 'emendatusenigmatica:steel_ingot',
        id: 'tconstruct:steel'
    },
    {
        base: 'emendatusenigmatica:bronze_ingot',
        id: 'tconstruct:bronze'
    },
    {
        base: 'emendatusenigmatica:constantan_ingot',
        id: 'tconstruct:constantan'
    },
    {
        base: 'emendatusenigmatica:invar_ingot',
        id: 'tconstruct:invar'
    },
    {
        base: 'emendatusenigmatica:electrum_ingot',
        id: 'tconstruct:electrum'
    },
    {
        base: 'emendatusenigmatica:cobalt_ingot',
        id: 'tconstruct:cobalt'
    },
    {
        base: 'tconstruct:queens_slime_ingot',
        id: 'tconstruct:queens_slime'
    },
    {
        base: 'tconstruct:hepatizon_ingot',
        id: 'tconstruct:hepatizon'
    },
    {
        base: 'tconstruct:manyullyn_ingot',
        id: 'tconstruct:manyullyn'
    },
    {
        base: 'botania:livingwood',
        id: 'materialis:livingwood'
    },
    {
        base: 'emendatusenigmatica:aluminum_ingot',
        id: 'materialis:aluminum'
    },
    {
        base: 'botania:dreamwood',
        id: 'materialis:dreamwood'
    },
    {
        base: 'botania:manasteel_ingot',
        id: 'materialis:manasteel'
    },
    {
        base: 'emendatusenigmatica:nickel_ingot',
        id: 'materialis:nickel'
    },
    {
        base: 'industrialforegoing:plastic',
        id: 'materialis:plastic'
    },
    {
        base: 'emendatusenigmatica:uranium_ingot',
        id: 'materialis:uranium'
    },
    /*
    {
        base: 'psi:psimetal',
        id: 'materialis:psimetal'
    },
    {
        base: 'redstone_arsenal:flux_ingot',
        id: 'materialis:flux_infused'
    },
    {
        base: 'psi:ebony_psimetal',
        id: 'materialis:ebony_psimetal'
    },
    {
        base: 'psi:ivory_psimetal',
        id: 'materialis:ivory_psimetal'
    },
    */
    {
        base: 'industrialforegoing:pink_slime_ingot',
        id: 'materialis:pink_slime'
    },
    {
        base: 'eidolon:pewter_ingot',
        id: 'materialis:pewter'
    },
    {
        base: 'mekanism:ingot_refined_obsidian',
        id: 'materialis:refined_obsidian'
    },
    {
        base: 'astralsorcery:starmetal_ingot',
        id: 'materialis:starmetal'
    },
    {
        base: 'eidolon:arcane_gold_ingot',
        id: 'materialis:arcane_gold'
    },
    {
        base: 'emendatusenigmatica:brass_ingot',
        id: 'materialis:brass'
    },
    {
        base: 'botania:elementium_ingot',
        id: 'materialis:elementium'
    },
    {
        base: 'mekanism:ingot_refined_glowstone',
        id: 'materialis:refined_glowstone'
    },
    {
        base: 'materialis:fairy_ingot',
        id: 'materialis:fairy'
    },
    {
        base: 'create:rose_quartz',
        id: 'materialis:rose_quartz'
    },
    {
        base: 'draconicevolution:draconium_ingot',
        id: 'materialis:draconium'
    },
    {
        base: 'draconicevolution:awakened_draconium_ingot',
        id: 'materialis:draconium_awakened'
    },
    {
        base: 'occultism:iesnium_ingot',
        id: 'materialis:iesnium'
    },
    {
        base: 'botania:terrasteel_ingot',
        id: 'materialis:terrasteel'
    },
    {
        base: 'create:refined_radiance',
        id: 'materialis:refined_radiance'
    },
    {
        base: 'create:shadow_steel',
        id: 'materialis:shadow_steel'
    }
];

const relic_type = ['idol', 'necklace', 'ring', 'brooch', 'bracelet'];
const relic_material = ['silver', 'gold', 'sapphire', 'ruby', 'emerald', 'diamond'];

const artifacts = [
    {
        godId: 'anput',
        artifacts: [
            'anputs_grounding',
            'anputs_hunger'
        ]
    },
    {
        godId: 'anubis',
        artifacts: [
            'anubis_wrath'
        ]
    },
    {
        godId: 'atem',
        artifacts: [
            'eyes_of_atem',
            'body_of_atem',
            'legs_of_atem',
            'feet_of_atem',
            'atems_bounty',
            'atems_protection',
            'atems_homecoming',
            'atems_will'
        ]
    },
    {
        godId: 'geb',
        artifacts: [
            'gebs_might',
            'gebs_toil',
            'gebs_undoing'
        ]
    },
    {
        godId: 'horus',
        artifacts: [
            'horus_ascension',
            'horus_soaring'
        ]
    },
    {
        godId: 'isis',
        artifacts: [
            'isis_division',
            'isis_healing'
        ]
    },
    {
        godId: 'montu',
        artifacts: [
            'montus_blast',
            'montus_strike'
        ]
    },
    {
        godId: 'nepthys',
        artifacts: [
            'nepthys_banishing',
            'nepthys_guard'
        ]
    },
    {
        godId: 'nuit',
        artifacts: [
            'nuits_ire',
            'nuits_quarter',
            'nuits_vanishing'
        ]
    },
    {
        godId: 'osiris',
        artifacts: [
            'osiris_blessing',
            'osiris_mercy'
        ]
    },
    {
        godId: 'ptah',
        artifacts: [
            'ptahs_decadence'
        ]
    },
    {
        godId: 'ra',
        artifacts: [
            'halo_of_ra',
            'body_of_ra',
            'legs_of_ra',
            'feet_of_ra',
            'ras_fury',
            'ras_step'
        ]
    },
    {
        godId: 'seth',
        artifacts: [
            'seths_sting',
            'seths_venom'
        ]
    },
    {
        godId: 'shu',
        artifacts: [
            'shus_breath',
            'shus_exile',
            'shus_swiftness'
        ]
    },
    {
        godId: 'tefnut',
        artifacts: [
            'tefnuts_call',
            'tefnuts_rain'
        ]
    }
];

const twilightforest_biomes = [
    'twilightforest:forest',
    'twilightforest:dense_forest',
    'twilightforest:firefly_forest',
    'twilightforest:clearing',
    'twilightforest:oak_savannah',
    'twilightforest:stream',
    'twilightforest:lake',
    'twilightforest:mushroom_forest',
    'twilightforest:dense_mushroom_forest',
    'twilightforest:enchanted_forest',
    'twilightforest:spooky_forest',
    'twilightforest:swamp',
    'twilightforest:fire_swamp',
    'twilightforest:dark_forest',
    'twilightforest:dark_forest_center',
    'twilightforest:snowy_forest',
    'twilightforest:glacier',
    'twilightforest:highlands',
    'twilightforest:thornlands',
    'twilightforest:final_plateau'
];

const disks = [
    '1k', '4k', '16k', '64k', '64k_fluid', '256k_fluid', '1024k_fluid', '4096k_fluid'
];