StartupEvents.registry('item', event => {

    // Item Creation
    event.create('exclamation_mark').texture('kubejs:item/exclamation_mark').displayName("Exclamation Mark")
    event.create('stone_tablet').texture('kubejs:item/stonetablet').displayName("Stone Tablet")
    event.create('overworld_core').texture('kubejs:item/overworld_core').displayName("Overworld Core")
    event.create('overworld_shard').texture('kubejs:item/overworld_shard').displayName("Overworld Shard")
    event.create('nether_core').texture('kubejs:item/nether_core').displayName("Nether Core")
    event.create('nether_shard').texture('kubejs:item/nether_shard').displayName("Nether Shard")

    //Fluid Cores
    event.create('blank_fluid_core').texture('kubejs:item/cores/fluid/blank_fluid_core').displayName("Blank Fluid Core")
    event.create('lava_fluid_core').texture('kubejs:item/cores/fluid/lava_fluid_core').displayName("Lava Fluid Core")
    event.create('water_fluid_core').texture('kubejs:item/cores/fluid/water_fluid_core').displayName("Water Fluid Core")
    event.create('dtfuel_fluid_core').texture('kubejs:item/cores/fluid/dtfuel_fluid_core').displayName("D-T Fuel Fluid Core")
    event.create('essence_fluid_core').texture('kubejs:item/cores/fluid/essence_fluid_core').displayName("Essence Fluid Core")
    event.create('blood_fluid_core').texture('kubejs:item/cores/fluid/life_fluid_core').displayName("Blood Fluid Core")
    event.create('refined_obsidian_fluid_core').texture('kubejs:item/cores/fluid/refobs_fluid_core').displayName("Refined Obsidian Fluid Core")
    event.create('source_fluid_core').texture('kubejs:item/cores/fluid/source_fluid_core').displayName("Source Fluid Core")
    event.create('latex_fluid_core').texture('kubejs:item/cores/fluid/latex_fluid_core').displayName("Latex Fluid Core")
    event.create('pink_slime_fluid_core').texture('kubejs:item/cores/fluid/pink_slime_fluid_core').displayName("Pink Slime Fluid Core")
    event.create('blazing_blood_fluid_core').texture('kubejs:item/cores/fluid/blazing_blood_fluid_core').displayName("Blazing Blood Fluid Core")

    // thermal
    event.create('press_rod_die').texture('kubejs:item/press_rod_die').displayName('Rod Die')
    event.create('press_emc_die').texture('kubejs:item/press_emc_die').displayName('Transmutable Shard Die')
    event.create('press_core_die').texture('kubejs:item/press_core_die').displayName('Resource Core Die')

    // Basic Resource Core Stuff
    event.create('basic_resource_shell').texture('kubejs:item/cores/basic_resource_shell').displayName('Basic Resource Shell')
    event.create('iron_resource_core').texture('kubejs:item/cores/iron_resource_core').displayName('Iron Resource Core')
    event.create('coal_resource_core').texture('kubejs:item/cores/coal_resource_core').displayName('Coal Resource Core')
    event.create('copper_resource_core').texture('kubejs:item/cores/copper_resource_core').displayName('Copper Resource Core')
    event.create('zinc_resource_core').texture('kubejs:item/cores/zinc_resource_core').displayName('Zinc Resource Core')

    // Magic Resource Core Stuff
    event.create('magic_resource_shell').texture('kubejs:item/cores/magic_resource_shell').displayName('Magic Resource Shell')
    event.create('gold_resource_core').texture('kubejs:item/cores/gold_resource_core').displayName('Gold Resource Core')
    event.create('lapis_resource_core').texture('kubejs:item/cores/lapis_resource_core').displayName('Lapis Resource Core')
    event.create('redstone_resource_core').texture('kubejs:item/cores/redstone_resource_core').displayName('Redstone Resource Core')
    event.create('source_resource_core').texture('kubejs:item/cores/source_resource_core').displayName('Source Gem Resource Core')
    event.create('blood_resource_core').texture('kubejs:item/cores/blood_resource_core').displayName('Blood Resource Core')

    // Hardened Resource Core Stuff
    event.create('hardened_resource_shell').texture('kubejs:item/cores/hardened_resource_shell').displayName('Hardened Resource Shell')
    event.create('lead_resource_core').texture('kubejs:item/cores/lead_resource_core').displayName('Lead Resource Core')
    event.create('tin_resource_core').texture('kubejs:item/cores/tin_resource_core').displayName('Tin Resource Core')
    event.create('silver_resource_core').texture('kubejs:item/cores/silver_resource_core').displayName('Silver Resource Core')
    event.create('nickel_resource_core').texture('kubejs:item/cores/nickel_resource_core').displayName('Nickel Resource Core')
    event.create('diamond_resource_core').texture('kubejs:item/cores/diamond_resource_core').displayName('Diamond Resource Core')

    // Energized Resource Core Stuff
    event.create('energized_resource_shell').texture('kubejs:item/cores/energized_resource_shell').displayName('Energized Resource Shell')
    event.create('energized_steel_core').texture('kubejs:item/cores/energized_steel_resource_core').displayName('Energized Steel Resource Core')
    event.create('blazing_resource_core').texture('kubejs:item/cores/blazing_resource_core').displayName('Blazing Crystal Resource Core')
    event.create('niotic_resource_core').texture('kubejs:item/cores/niotic_resource_core').displayName('Niotic Crystal Resource Core')
    event.create('spirited_resource_core').texture('kubejs:item/cores/spirited_resource_core').displayName('Spirited Crystal Resource Core')
    event.create('nitro_resource_core').texture('kubejs:item/cores/nitro_resource_core').displayName('Nitro Crystal Resource Core')
    event.create('uraninite_resource_core').texture('kubejs:item/cores/uraninite_resource_core').displayName('Uraninite Resource Core')

    // Botanical Resource Core Stuff
    event.create('botanical_resource_shell').texture('kubejs:item/cores/botanical_resource_shell').displayName('Botanical Resource Shell')
    event.create('manasteel_resource_core').texture('kubejs:item/cores/manasteel_resource_core').displayName('Manasteel Resource Core')
    event.create('terrasteel_resource_core').texture('kubejs:item/cores/terrasteel_resource_core').displayName('Terrasteel Resource Core')
    event.create('elementium_resource_core').texture('kubejs:item/cores/elementium_resource_core').displayName('Elementium Resource Core')
    event.create('gaia_resource_core').texture('kubejs:item/cores/gaia_resource_core').displayName('Gaia Spirit Ingot Resource Core')
    event.create('alfsteel_resource_core').texture('kubejs:item/cores/alfsteel_resource_core').displayName('Alfsteel Resource Core')

    event.create('rune_resource').texture('kubejs:item/rune_resource').displayName('Rune of Resource Binding')

    //Mekanism Resource Core Stuff
    event.create('mekanistic_resource_shell').texture('kubejs:item/cores/mekanistic_resource_shell').displayName('Mekanistic Resource Shell')
    event.create('osmium_resource_core').texture('kubejs:item/cores/osmium_resource_core').displayName('Osmium Resource Core')
    event.create('infused_alloy_resource_core').texture('kubejs:item/cores/infused_alloy_resource_core').displayName('Infused Alloy Resource Core')
    event.create('reinforced_alloy_resource_core').texture('kubejs:item/cores/reinforced_alloy_resource_core').displayName('Reinforced Alloy Resource Core')
    event.create('atomic_alloy_resource_core').texture('kubejs:item/cores/atomic_alloy_resource_core').displayName('Atomic Alloy Resource Core')
    event.create('antimatter_resource_core').texture('kubejs:item/cores/antimatter_resource_core').displayName('Antimatter Resource Core')
    event.create('refined_obsidian_resource_core').texture('kubejs:item/cores/misc_cores/refined_obsidian_resource_core').displayName('Refined Obsidian Resource Core')
    event.create('refined_glowstone_resource_core').texture('kubejs:item/cores/misc_cores/refined_glowstone_resource_core').displayName('Refined Glowstone Resource Core')
    event.create('plutonium_resource_core').texture('kubejs:item/cores/misc_cores/plutonium_resource_core').displayName('Plutonium Resource Core')
    event.create('polonium_resource_core').texture('kubejs:item/cores/misc_cores/polonium_resource_core').displayName('Polonium Resource Core')

    // Transmutable Shards
    event.create('incomplete_basic', 'create:sequenced_assembly').texture('kubejs:item/shards/incomplete_basic').displayName('Incomplete Basic Transmutable Shard')
    event.create('basic_blob').texture('kubejs:item/shards/incomplete_basic').displayName('Basic Blob')
    event.create('basic_shard').texture('kubejs:item/shards/basic_shard').displayName('Basic Transmutable Shard')
    event.create('magic_blob').texture('kubejs:item/shards/magic_blob').displayName('Magic Blob')
    event.create('magic_shard').texture('kubejs:item/shards/magic_shard').displayName('Mystical Transmutable Shard')
    event.create('hardened_blob').texture('kubejs:item/shards/hardened_blob').displayName('Hardened Blob')
    event.create('hardened_shard').texture('kubejs:item/shards/hardened_shard').displayName('Hardened Transmutable Shard')
    event.create('energized_blob').texture('kubejs:item/shards/energized_blob').displayName('Energized Blob')
    event.create('energized_shard').texture('kubejs:item/shards/energized_shard').displayName('Energized Transmutable Shard')
    event.create('botanical_blob').texture('kubejs:item/shards/botanical_blob').displayName('Botanical Blob')
    event.create('botanical_shard').texture('kubejs:item/shards/botanical_shard').displayName('Botanical Transmutable Shard')
    event.create('mekanism_blob').texture('kubejs:item/shards/mekanism_blob').displayName('Mekanistic Blob')
    event.create('mekanism_shard').texture('kubejs:item/shards/mekanism_shard').displayName('Mekanistic Transmutable Shard')

    // MISC Cores
    event.create('quartz_resource_core').texture('kubejs:item/cores/misc_cores/quartz_resource_core').displayName('Quartz Resource Core')
    event.create('netherite_resource_core').texture('kubejs:item/cores/misc_cores/netherite_resource_core').displayName('Netherite Resource Core')
    event.create('uranium_resource_core').texture('kubejs:item/cores/misc_cores/uranium_resource_core').displayName('Uranium Resource Core')
    event.create('steel_resource_core').texture('kubejs:item/cores/misc_cores/steel_resource_core').displayName('Steel Resource Core')
    event.create('cobalt_resource_core').texture('kubejs:item/cores/misc_cores/cobalt_resource_core').displayName('Cobalt Resource Core')
    event.create('certus_resource_core').texture('kubejs:item/cores/misc_cores/certus_resource_core').displayName('Certus Resource Core')
    event.create('fluix_resource_core').texture('kubejs:item/cores/misc_cores/fluix_resource_core').displayName('Fluix Resource Core')
    event.create('flux_dust_resource_core').texture('kubejs:item/cores/misc_cores/flux_dust_resource_core').displayName('Flux Dust Resource Core')
    event.create('emerald_resource_core').texture('kubejs:item/cores/misc_cores/emerald_resource_core').displayName('Emerald Resource Core')

    // NEXUS (Singularity)
    

    event.create('creative_core').texture('kubejs:item/cores/creative_core').displayName('Creative Core')
    
    // Generator Upgrades
    event.create('t1_gen_speed_upgrade').texture('kubejs:item/t1_speed_upgrade').displayName('Tier 1 Generator Speed Upgrade')
    event.create('t2_gen_speed_upgrade').texture('kubejs:item/t2_speed_upgrade').displayName('Tier 2 Generator Speed Upgrade')
    event.create('t3_gen_speed_upgrade').texture('kubejs:item/t3_speed_upgrade').displayName('Tier 3 Generator Speed Upgrade')
    event.create('gen_creative_upgrade').texture('kubejs:item/creative_upgrade').displayName('Creative Generator Upgrade').glow(true).rarity('Epic')

    event.create('100_trophy').texture('kubejs:item/100').displayName('SubTerra Tech Completion Trophy').glow(true).rarity('Epic').tooltip('Congratulations! You did it!')
    event.create('thank_you').texture('kubejs:item/cfs').displayName('A Special Thank You').glow(true).rarity('Epic').tooltip('Thank you for playing SubTerra Tech!')
    
})

StartupEvents.registry('block', event =>{

    // Block Creation
    event.create('compressed_grout').displayName("Compressed Grout").textureAll("kubejs:block/compressed_grout")
    event.create('basic_shard_block').displayName('Basic Shard Block').textureAll("kubejs:block/basic_shard_block")
    event.create('mystical_shard_block').displayName('Mystical Shard Block').textureAll("kubejs:block/mystical_shard_block")
    event.create('hardened_shard_block').displayName('Hardened Shard Block').textureAll("kubejs:block/hardened_shard_block")
    event.create('energized_shard_block').displayName('Energized Shard Block').textureAll("kubejs:block/energized_shard_block")
    event.create('botanical_shard_block').displayName('Botanical Shard Block').textureAll("kubejs:block/botanical_shard_block")
    event.create('mekanistic_shard_block').displayName('Mekanistic Shard Block').textureAll("kubejs:block/mekanistic_shard_block")
    event.create('compressed_shard_block').displayName('Compressed Shard Block').textureAll("kubejs:block/compressed_shard_block")

    // CM
    event.create("custommachinery:resource_gen", "custommachinery")
    event.create("custommachinery:natural_gen", "custommachinery")
    event.create("custommachinery:fluid_gen", "custommachinery")
})

StartupEvents.registry('fluid', event => {
    
    // Fluid Creation
    event.create('molten_grout').thickTexture(0x353535).bucketColor(0x353535).displayName('Molten Grout');
    event.create('molten_coal').thickTexture(0x161616).bucketColor(0x161616).displayName('Molten Coal');
    event.create('molten_lapis').thickTexture(0x4e56fa).bucketColor(0x4e56fa).displayName('Molten Lapis');
    event.create('molten_source').thickTexture(0xfa4efa).bucketColor(0xfa4efa).displayName('Molten Source');
})

StartupEvents.registry('mekanism:gas', event =>{
    event.create('botanical_gas').color(0x1DFF00).displayName('Botanical Gas')
    event.create('osmium_gas').color(0xCFE3E1).displayName('Osmium Gas')
    event.create('infused_gas').color(0xF22900).displayName('Infused Alloy Gas')
    event.create('reinforced_gas').color(0x00EDE8).displayName('Reinforced Alloy Gas')
    event.create('atomic_gas').color(0xD600B2).displayName('Atomic Alloy Gas')
    event.create('refined_glowstone_gas').color(0xFFFF0F).displayName('Refined Glowstone Gas')
    event.create('refined_obsidian_gas').color(0x9900A6).displayName('Refined Obsidian Gas')
})