StartupEvents.registry("block", (event) => {

    event.create("basic_magic_machine")
        .displayName("Basic Magic Machine")
        .soundType("amethyst")
        .hardness(1.0)
        .resistance(6.0)
        .tagBoth("tier1/component")
        .requiresTool(true)
        .tagBlock("mineable/pickaxe")
        .tagBlock('minecraft:needs_stone_tool')
        .texture('up', 'kubejs:block/basic_magic_machine_top')
        .texture('down', 'kubejs:block/basic_magic_machine_top')


    event.create("vine_generator")
        .soundType("vine")
        .hardness(1.0)
        .resistance(6.0)
        .tagBoth("tier3/machine")
        .requiresTool(true)
        .tagBlock("mineable/hoe")
        .tagBlock("mineable/pickaxe")
        .tagBlock('minecraft:needs_iron_tool')
        .texture('up', 'kubejs:block/vine_generator_top')
        .texture('down', 'kubejs:block/vine_generator_top')


    event.create("magical_generator_block")
        .soundType("amethyst")
        .hardness(1.0)
        .resistance(6.0)
        .tagBoth("tier2/component")
        .requiresTool(true)
        .tagBlock("mineable/pickaxe")
        .tagBlock('minecraft:needs_iron_tool')

    event.create("aura_generator_block")
        .soundType("amethyst")
        .hardness(1.0)
        .resistance(6.0)
        .tagBoth("tier2/component")
        .requiresTool(true)
        .tagBlock("mineable/pickaxe")
        .tagBlock('minecraft:needs_iron_tool')

    event.create("magic_machine")
        .displayName("Magic Machine")
        .soundType("amethyst")
        .hardness(1.2)
        .resistance(6.0)
        .tagBoth("tier2/component")
        .requiresTool(true)
        .tagBlock("mineable/pickaxe")
        .tagBlock('minecraft:needs_iron_tool')
        .texture('up', 'kubejs:block/magic_machine_top')
        .texture('down', 'kubejs:block/magic_machine_top')



    event.create("andesite_machine")
        .displayName("Andesite Machine Casing")
        .soundType("metal")
        .hardness(1.0)
        .resistance(8.0)
        .tagBoth("tier3/component")
        .requiresTool(true)
        .tagBlock("mineable/pickaxe")
        .tagBlock('minecraft:needs_iron_tool')
        .texture('up', 'kubejs:block/andesite_machine_top')
        .texture('down', 'kubejs:block/andesite_machine_bot')


    event.create("pressing_catalyst", "falling")
        .displayName("Pressing Catalyst")
        .soundType("anvil")
        .hardness(1.5)
        .resistance(8.0)
        .tagBoth("tier2/component")
        .requiresTool(true)
        .tagBlock("mineable/pickaxe")
        .tagBlock('minecraft:needs_iron_tool')
        .texture('up', 'kubejs:block/anvil')
        .texture('down', 'kubejs:block/anvil')


    event.create("steel_machine")
        .displayName("Steel Machine Casing")
        .soundType("anvil")
        .hardness(3.0)
        .resistance(12.0)
        .tagBoth("tier4/component")
        .requiresTool(true)
        .tagBlock("mineable/pickaxe")
        .tagBlock('minecraft:needs_iron_tool')
        .texture('up', 'kubejs:block/steel_machine_top')
        .texture('down', 'kubejs:block/steel_machine_top')

    event.create("sturdy_deepslate_plate")
        .textureAll("minecraft:block/blast_furnace_top")
        .box(0, 0, 0, 16, 3, 16)
        .soundType("polished_deepslate")
        .hardness("3")
        .resistance("6")
        .tagBlock("mineable/pickaxe")

    event.create("deepslate_rune", "cardinal")
        .model('kubejs:block/deepslate_rune')
        .box(2, 0, 0, 9, 3, 1)
        .box(1, 0, 1, 10, 3, 4)
        .box(5, 0, 4, 13, 3, 16)
        .box(0, 0, 4, 5, 3, 11)
        .box(10, 0, 2, 11, 3, 4)
        .box(13, 0, 5, 10, 3, 8)
        .box(14, 0, 7, 15, 3, 8)
        .box(13, 0, 12, 15, 3, 14)
        .box(13, 0, 14, 14, 3, 15)
        .box(2, 0, 11, 5, 3, 13)
        .box(1, 0, 11, 2, 3, 12)
        .box(4, 0, 13, 5, 3, 15)
        .box(13, 0, 5, 14, 3, 8)
        .box(13, 0, 8, 16, 3, 12)
        .renderType('cutout')
        .soundType("polished_deepslate")
        .hardness("3")
        .resistance("6")
        .tagBlock("mineable/pickaxe")

    event.create("sturdy_basalt")
        .textureAll("rubinated_nether:block/freezer/freezer_bottom")
        .displayName("Copper Reinforced Sturdy Basalt")
        .soundType("gilded_blackstone")
        .hardness("3")
        .resistance("6")
        .tagBlock("mineable/pickaxe")
        .tagBlock('minecraft:needs_iron_tool')

    event.create("source_alloy_block")
        .soundType("metal")
        .hardness("2")
        .resistance("6")
        .tagBlock("mineable/pickaxe")
        .tagBlock('minecraft:needs_iron_tool')

    event.create("storm_block")
        .soundType("metal")
        .hardness("2")
        .resistance("6")
        .tagBlock("mineable/pickaxe")
        .tagBlock('minecraft:needs_iron_tool')

    event.create("arcanum_alloy_block")
        .soundType("metal")
        .hardness("2")
        .resistance("6")
        .tagBlock("mineable/pickaxe")
        .tagBlock('minecraft:needs_iron_tool')

    event.create("charged_copper_block")
        .soundType("copper")
        .hardness("3")
        .resistance("6")
        .tagBlock("mineable/pickaxe")
        .tagBlock('minecraft:needs_stone_tool')

    event.create("depleted_ruby_block")
        .soundType("amethyst")
        .unbreakable()

    event.create("sapphire_block")
        .soundType("amethyst")
        .hardness("3")
        .resistance("6")
        .tagBlock("mineable/pickaxe")
        .tagBlock('minecraft:needs_iron_tool')

    event.create("infusing_altar")
        .soundType("basalt")
        .hardness("3")
        .resistance("6")
        .tagBlock("mineable/pickaxe")
        .tagBlock('minecraft:needs_iron_tool')
        .textureAll("rubinated_nether:block/altar_stone")
        .renderType('cutout')
        .box(0, 0, 0, 16, 3, 16)
        .box(0, 3, 0, 2, 6, 16)
        .box(0, 3, 0, 16, 6, 2)
        .box(14, 3, 0, 16, 6, 16)
        .box(0, 3, 14, 16, 6, 16)

    event.create("sacrificial_altar")
        .soundType("basalt")
        .hardness("3")
        .resistance("6")
        .tagBlock("mineable/pickaxe")
        .tagBlock('minecraft:needs_iron_tool')
        .texture("particle", "minecraft:block/reinforced_deepslate_top")
        .texture("up", "minecraft:block/reinforced_deepslate_top")
        .texture("down", "minecraft:block/reinforced_deepslate_bottom")
        .texture("north", "minecraft:block/reinforced_deepslate_side")
        .texture("east", "minecraft:block/reinforced_deepslate_side")
        .texture("south", "minecraft:block/reinforced_deepslate_side")
        .texture("west", "minecraft:block/reinforced_deepslate_side")
        .renderType('cutout')
        .box(0, 0, 0, 16, 3, 16)
        .box(0, 3, 0, 2, 6, 16)
        .box(0, 3, 0, 16, 6, 2)
        .box(14, 3, 0, 16, 6, 16)
        .box(0, 3, 14, 16, 6, 16)

    event.create("arcanum_pylon")
        .soundType("amethyst")
        .hardness("2")
        .resistance("4")
        .tagBlock("mineable/pickaxe")
        .tagBlock('minecraft:needs_stone_tool')
        .textureAll("wizards_reborn:block/arcanum_block")
        .renderType('cutout')
        .box(4, 3, 4, 12, 14, 12)
        .box(1, 0, 1, 15, 3, 15)

    event.create("incomplete_blast_bricks")
        .soundType("deepslate")
        .hardness("3")
        .resistance("4")
        .tagBlock("mineable/pickaxe")
        .tagBlock('minecraft:needs_stone_tool')
        .textureAll("immersiveengineering:block/stone_decoration/blastbrick")
        .renderType('cutout')
        .box(0, 0, 0, 16, 8, 16)
        .box(3, 8, 0, 16, 12, 16)
        .box(9, 12, 0, 16, 16, 16)
        .tagItem("c:hidden_from_recipe_viewers")

    event.create("incomplete_questing_ram_trophy")
        .soundType("wool")
        .hardness("3")
        .resistance("4")
        .textureAll("minecraft:block/magenta_wool")
        .renderType('cutout')
        .box(0, 0, 0, 16, 8, 16)
        .tagItem("c:hidden_from_recipe_viewers")

    event.create("infusion_catalyst")
        .displayName("Infusion Catalyst")
        .soundType("stone")
        .hardness("3")
        .resistance("6")
        .tagBlock("mineable/pickaxe")

    event.create("experience_ore")
        .soundType("stone")
        .hardness("3")
        .resistance("6")
        .tagBlock("mineable/pickaxe")
        .tagBlock("minecraft:needs_iron_tool")
        .tagBoth("c:ores")

    event.create("stone_ambrosium_ore")
        .soundType("stone")
        .hardness("3")
        .resistance("6")
        .tagBlock("mineable/pickaxe")
        .tagBlock("minecraft:needs_iron_tool")
        .tagBoth("c:ores")

    event.create("infernal_bricks")
        .soundType("nether_bricks")
        .hardness("3")
        .resistance("6")
        .tagBlock("mineable/pickaxe")
        .tagBlock("minecraft:needs_iron_tool")

    event.create("soul_core")
        .soundType("lodestone")
        .hardness("3")
        .resistance("6")
        .textureSide("down", "kubejs:block/soul_core_top")
        .textureSide("up", "kubejs:block/soul_core_top")
        .textureSide("east", "kubejs:block/soul_core")
        .textureSide("west", "kubejs:block/soul_core")
        .textureSide("north", "kubejs:block/soul_core")
        .textureSide("south", "kubejs:block/soul_core")
        .tagBlock("mineable/pickaxe")
        .tagBlock("minecraft:needs_iron_tool")

    event.create("incomplete_soul_core", "stairs")
        .soundType("lodestone")
        .hardness("3")
        .resistance("6")
        .textureSide("down", "kubejs:block/soul_core_top")
        .textureSide("up", "kubejs:block/soul_core_top")
        .textureSide("east", "kubejs:block/soul_core")
        .textureSide("west", "kubejs:block/soul_core")
        .textureSide("north", "kubejs:block/soul_core")
        .textureSide("south", "kubejs:block/soul_core")
        .tagItem("c:hidden_from_recipe_viewers")
        .tagBlock("mineable/pickaxe")
        .tagBlock("minecraft:needs_iron_tool")

})