// Stages

AStages.customizeStage('Magic')
    .setAddTitle('Whoa, buddy. I think you can use magic now.') // Default
    .setAddSubTitle('you a wizard') // Example
    .setRemoveTitle('Dam, you lost it.') // Example
    .setRemoveSubTitle('with remove subtitle') // Example
    .setAddChatMessage('Custom chat message for add operation') // Example
    .setRemoveChatMessage('Custom chat message for remove operation') // Example
    .setFadeIn(20) // Default
    .setFadeOut(20) // Default
    .setStay(60) // Default

AStages.customizeStage('Nether')
    .setAddTitle('To HELL you go') // Default
    .setAddSubTitle('with add subtitle') // Example
    .setRemoveTitle('Dam, you lost it.') // Example
    .setRemoveSubTitle('with remove subtitle') // Example
    .setAddChatMessage('Custom chat message for add operation') // Example
    .setRemoveChatMessage('Custom chat message for remove operation') // Example
    .setFadeIn(20) // Default
    .setFadeOut(20) // Default
    .setStay(60) // Default

AStages.customizeStage('End')
    .setAddTitle('End time?') // Default
    .setAddSubTitle('with add subtitle') // Example
    .setRemoveTitle('Dam, you lost it.') // Example
    .setRemoveSubTitle('with remove subtitle') // Example
    .setAddChatMessage('Custom chat message for add operation') // Example
    .setRemoveChatMessage('Custom chat message for remove operation') // Example
    .setFadeIn(20) // Default
    .setFadeOut(20) // Default
    .setStay(60) // Default

AStages.customizeStage('Twilight')
    .setAddTitle('The Twilight Zone') // Default
    .setAddSubTitle('with add subtitle') // Example
    .setRemoveTitle('Dam, you lost it.') // Example
    .setRemoveSubTitle('with remove subtitle') // Example
    .setAddChatMessage('Custom chat message for add operation') // Example
    .setRemoveChatMessage('Custom chat message for remove operation') // Example
    .setFadeIn(20) // Default
    .setFadeOut(20) // Default
    .setStay(60) // Default

AStages.customizeStage('Draconic')
    .setAddTitle('Stage unlocked!') // Default
    .setAddSubTitle('with add subtitle') // Example
    .setRemoveTitle('Stage removed!') // Example
    .setRemoveSubTitle('with remove subtitle') // Example
    .setAddChatMessage('Custom chat message for add operation') // Example
    .setRemoveChatMessage('Custom chat message for remove operation') // Example
    .setFadeIn(20) // Default
    .setFadeOut(20) // Default
    .setStay(60) // Default

AStages.customizeStage('Fire')
    .setAddTitle('You can hatch Fire dragons now!') // Default
    .setAddSubTitle('with add subtitle') // Example
    .setFadeIn(20) // Default
    .setFadeOut(20) // Default
    .setStay(60) // Default

AStages.customizeStage('Ice')
    .setAddTitle('You can hatch Ice dragons now!') // Default
    .setFadeIn(20) // Default
    .setFadeOut(20) // Default
    .setStay(60) // Default

AStages.customizeStage('Lightning')
    .setAddTitle('You can hatch Lightning dragons now!') // Default
    .setAddSubTitle('with add subtitle') // Example
    .setRemoveTitle('Stage removed!') // Example
    .setRemoveSubTitle('with remove subtitle') // Example
    .setAddChatMessage('Custom chat message for add operation') // Example
    .setRemoveChatMessage('Custom chat message for remove operation') // Example
    .setFadeIn(20) // Default
    .setFadeOut(20) // Default
    .setStay(60) // Default

AStages.customizeStage('FireSteel')

AStages.customizeStage('IceSteel')

AStages.customizeStage('LightningSteel')

AStages.customizeStage('DreadSteel')

AStages.customizeStage('IronColossus')
    .setAddTitle('You have unlocked Iron Equipment!')

AStages.customizeStage('GoblinLord')
    .setAddTitle('You have unlocked Gold Equipment!')

AStages.customizeStage('Arion')
    .setAddTitle('You have unlocked Emerald Equipment!')

AStages.customizeStage('Eldorath')
    .setAddTitle('You have unlocked Diamond Equipment!')

AStages.customizeStage('Zoranth')
    .setAddTitle('You have unlocked Netherite Equipment!')

AStages.customizeStage('ElvenitePaladin')
    .setAddTitle('You have unlocked Elvenite Equipment!')

AStages.customizeStage('Vaedric')
    .setAddTitle('You have unlocked Voiderite Equipment!')

AStages.customizeStage('Calamities')
    .setAddTitle('You have unlocked Bloody Equipment!')

AStages.customizeStage('Zenith')
    .setAddTitle('You have unlocked Helionite Equipment!')

    
AStages.addRestrictionForOre("astages/iron", "IronColossus", Blocks.IRON_ORE.defaultBlockState(), Blocks.STONE.defaultBlockState())
AStages.addRestrictionForOre("astages/iron2", "IronColossus", Blocks.DEEPSLATE_IRON_ORE.defaultBlockState(), Blocks.DEEPSLATE.defaultBlockState())
AStages.addRestrictionForOre("astages/gold", "GoblinLord", Blocks.GOLD_ORE.defaultBlockState(), Blocks.STONE.defaultBlockState())
AStages.addRestrictionForOre("astages/gold2", "GoblinLord", Blocks.DEEPSLATE_GOLD_ORE.defaultBlockState(), Blocks.DEEPSLATE.defaultBlockState())
AStages.addRestrictionForOre("astages/diamond", "Eldorath", Blocks.DIAMOND_ORE.defaultBlockState(), Blocks.STONE.defaultBlockState())
AStages.addRestrictionForOre("astages/diamond2", "Eldorath", Blocks.DEEPSLATE_DIAMOND_ORE.defaultBlockState(), Blocks.DEEPSLATE.defaultBlockState())
AStages.addRestrictionForOre("astages/emerald", "Arion", Blocks.EMERALD_ORE.defaultBlockState(), Blocks.STONE.defaultBlockState())
AStages.addRestrictionForOre("astages/emerald2", "Arion", Blocks.DEEPSLATE_EMERALD_ORE.defaultBlockState(), Blocks.DEEPSLATE.defaultBlockState())
AStages.addRestrictionForOre("astages/netherite", "Zoranth", Blocks.ANCIENT_DEBRIS  .defaultBlockState(), Blocks.NETHERRACK.defaultBlockState())

AStages.customizeStage('CorruptedEye')
AStages.customizeStage('UndeadEye')
AStages.customizeStage('RogueEye')
AStages.customizeStage('WitchEye')
AStages.customizeStage('MagicalEye')
AStages.customizeStage('WitherEye')
AStages.customizeStage('CrypticEye')
AStages.customizeStage('BlackEye')
AStages.customizeStage('OldEye')
AStages.customizeStage('ExoticEye')
AStages.customizeStage('CursedEye')
AStages.customizeStage('EvilEye')
AStages.customizeStage('LostEye')
AStages.customizeStage('ColdEye')
AStages.customizeStage('NetherEye')
AStages.customizeStage('GuardianEye')


// Dimension lock

AStages.addRestrictionForDimension("astages/dimension", "Nether", "minecraft:the_nether")
AStages.addRestrictionForDimension("astages/dimension2", "End", "minecraft:end")
AStages.addRestrictionForDimension("astages/dimension3", "Twilight", "twilightforest:twilight_forest")

// Mod lock

AStages.addRestrictionForMod("astages/mod1", "Magic", "botania")
    .ignoreTags("botania:mystical_flowers", "botania:double_mystical_flowers", "botania:petals") // Blacklist for tags
    .setCanBeStoredInInventory(true)
    .setCanBeStoredInContainers(true)
    .setCanPickedUp(true)
    .setHideInJEI(false)

AStages.addRestrictionForMod("astages/mod2", "Nether", "doom")
    .setCanBeStoredInInventory(true)
    .setCanBeStoredInContainers(true)
    .setCanPickedUp(true)
    .setHideInJEI(false)

AStages.addRestrictionForMod("astages/mod3", "Nether", "draconicevolution")
    .setCanBeStoredInInventory(true)
    .setCanBeStoredInContainers(true)
    .setCanPickedUp(true)
    .setHideInJEI(false)

AStages.addRestrictionForMod("astages/mod4", "DreadSteel", "dreadsteel")
    .ignoreTags("dreadsteel:kit_default") // Blacklist for tags
    .setCanBeStoredInInventory(true)
    .setCanBeStoredInContainers(true)
    .setCanPickedUp(true)
    .setHideInJEI(false)


// Tag Lock

AStages.addRestrictionForTag("astages/tag1", "FireSteel", "kubejs:fire_dragonsteel")
    .setCanBeStoredInInventory(true)
    .setCanBeStoredInContainers(true)
    .setCanPickedUp(true)
    .setHideInJEI(false)

AStages.addRestrictionForTag("astages/tag2", "IceSteel", "kubejs:ice_dragonsteel")
    .setCanBeStoredInInventory(true)
    .setCanBeStoredInContainers(true)
    .setCanPickedUp(true)
    .setHideInJEI(false)

AStages.addRestrictionForTag("astages/tag3", "LightningSteel", "kubejs:lightning_dragonsteel")
    .setCanBeStoredInInventory(true)
    .setCanBeStoredInContainers(true)
    .setCanPickedUp(true)
    .setHideInJEI(false)


// Armagedon stages

AStages.addRestrictionForTag("astages/tag4", "IronColossus", "forge:iron_tools")
    .setCanBeStoredInInventory(true)
    .setCanBeStoredInContainers(true)
    .setCanPickedUp(true)
    .setHideInJEI(false)
    

AStages.addRestrictionForTag("astages/tag5", "IronColossus", "forge:iron_armor")
    .setCanBeStoredInInventory(true)
    .setCanBeStoredInContainers(true)
    .setCanPickedUp(true)
    .setHideInJEI(false)

AStages.addRestrictionForTag("astages/tag6", "GoblinLord", "forge:golden_tools")
    .setCanBeStoredInInventory(true)
    .setCanBeStoredInContainers(true)
    .setCanPickedUp(true)
    .setHideInJEI(false)

AStages.addRestrictionForTag("astages/tag7", "GoblinLord", "forge:golden_armor")
    .setCanBeStoredInInventory(true)
    .setCanBeStoredInContainers(true)
    .setCanPickedUp(true)
    .setHideInJEI(false)

AStages.addRestrictionForTag("astages/tag8", "Arion", "forge:emerald_tools")
    .setCanBeStoredInInventory(true)
    .setCanBeStoredInContainers(true)
    .setCanPickedUp(true)
    .setHideInJEI(false)

AStages.addRestrictionForTag("astages/tag9", "Arion", "forge:emerald_armor")
    .setCanBeStoredInInventory(true)
    .setCanBeStoredInContainers(true)
    .setCanPickedUp(true)
    .setHideInJEI(false)

AStages.addRestrictionForTag("astages/tag10", "Eldorath", "forge:diamond_tools")
    .setCanBeStoredInInventory(true)
    .setCanBeStoredInContainers(true)
    .setCanPickedUp(true)
    .setHideInJEI(false)

AStages.addRestrictionForTag("astages/tag11", "Eldorath", "forge:diamond_armor")
    .setCanBeStoredInInventory(true)
    .setCanBeStoredInContainers(true)
    .setCanPickedUp(true)
    .setHideInJEI(false)

AStages.addRestrictionForTag("astages/tag12", "Zoranth", "forge:netherite_tools")
    .setCanBeStoredInInventory(true)
    .setCanBeStoredInContainers(true)
    .setCanPickedUp(true)
    .setHideInJEI(false)

AStages.addRestrictionForTag("astages/tag13", "Zoranth", "forge:netherite_armor")
    .setCanBeStoredInInventory(true)
    .setCanBeStoredInContainers(true)
    .setCanPickedUp(true)
    .setHideInJEI(false)

AStages.addRestrictionForTag("astages/tag14", "ElvenitePaladin", "forge:elvenite_tools")
    .setCanBeStoredInInventory(true)
    .setCanBeStoredInContainers(true)
    .setCanPickedUp(true)
    .setHideInJEI(false)

AStages.addRestrictionForTag("astages/tag15", "ElvenitePaladin", "forge:elvenite_armor")
    .setCanBeStoredInInventory(true)
    .setCanBeStoredInContainers(true)
    .setCanPickedUp(true)
    .setHideInJEI(false)

AStages.addRestrictionForTag("astages/tag16", "Vaedric", "forge:voiderite_tools")
    .setCanBeStoredInInventory(true)
    .setCanBeStoredInContainers(true)
    .setCanPickedUp(true)
    .setHideInJEI(false)

AStages.addRestrictionForTag("astages/tag17", "Vaedric", "forge:voiderite_armor")
    .setCanBeStoredInInventory(true)
    .setCanBeStoredInContainers(true)
    .setCanPickedUp(true)
    .setHideInJEI(false)

AStages.addRestrictionForTag("astages/tag18", "Calamities", "forge:bloody_tools")
    .setCanBeStoredInInventory(true)
    .setCanBeStoredInContainers(true)
    .setCanPickedUp(true)
    .setHideInJEI(false)

AStages.addRestrictionForTag("astages/tag19", "Calamities", "forge:bloody_armor")
    .setCanBeStoredInInventory(true)
    .setCanBeStoredInContainers(true)
    .setCanPickedUp(true)
    .setHideInJEI(false)

AStages.addRestrictionForTag("astages/tag19", "Zenith", "forge:helionite_tools")
    .setCanBeStoredInInventory(true)
    .setCanBeStoredInContainers(true)
    .setCanPickedUp(true)
    .setHideInJEI(false)

AStages.addRestrictionForTag("astages/tag19", "Zenith", "forge:helionite_armor")
    .setCanBeStoredInInventory(true)
    .setCanBeStoredInContainers(true)
    .setCanPickedUp(true)
    .setHideInJEI(false)

AStages.addRestrictionForTag("astages/tag20", "IronColossus", "simplyswords:iron_gear")
    .setCanBeStoredInInventory(true)
    .setCanBeStoredInContainers(true)
    .setCanPickedUp(true)
    .setHideInJEI(false)

AStages.addRestrictionForTag("astages/tag21", "GoblinLord", "simplyswords:gold_gear")
    .setCanBeStoredInInventory(true)
    .setCanBeStoredInContainers(true)
    .setCanPickedUp(true)
    .setHideInJEI(false)

AStages.addRestrictionForTag("astages/tag22", "Eldorath", "simplyswords:diamond_gear")
    .setCanBeStoredInInventory(true)
    .setCanBeStoredInContainers(true)
    .setCanPickedUp(true)
    .setHideInJEI(false)

AStages.addRestrictionForTag("astages/tag23", "Zoranth", "simplyswords:netherite_gear")
    .setCanBeStoredInInventory(true)
    .setCanBeStoredInContainers(true)
    .setCanPickedUp(true)
    .setHideInJEI(false)

AStages.addRestrictionForTag("astages/tag24", "ElvenitePaladin", "simplyswords:runic_gear")
    .setCanBeStoredInInventory(true)
    .setCanBeStoredInContainers(true)
    .setCanPickedUp(true)
    .setHideInJEI(false)


// Item Lock

AStages.addRestrictionForItem("astages/item1", "CorruptedEye", "endrem:corrupted_eye")
    .setCanBeStoredInInventory(true)
    .setCanBeStoredInContainers(true)
    .setCanPickedUp(true)
    .setHideInJEI(false)
    .setHideTooltip(false)

AStages.addRestrictionForItem("astages/item2", "UndeadEye", "endrem:undead_eye")
    .setCanBeStoredInInventory(true)
    .setCanBeStoredInContainers(true)
    .setCanPickedUp(true)
    .setHideInJEI(false)
    .setHideTooltip(false)

AStages.addRestrictionForItem("astages/item3", "RogueEye", "endrem:rogue_eye")
    .setCanBeStoredInInventory(true)
    .setCanBeStoredInContainers(true)
    .setCanPickedUp(true)
    .setHideInJEI(false)
    .setHideTooltip(false)

AStages.addRestrictionForItem("astages/item4", "WitchEye", "endrem:witch_eye")
    .setCanBeStoredInInventory(true)
    .setCanBeStoredInContainers(true)
    .setCanPickedUp(true)
    .setHideInJEI(false)
    .setHideTooltip(false)

AStages.addRestrictionForItem("astages/item5", "MagicalEye", "endrem:magical_eye")
    .setCanBeStoredInInventory(true)
    .setCanBeStoredInContainers(true)
    .setCanPickedUp(true)
    .setHideInJEI(false)
    .setHideTooltip(false)

AStages.addRestrictionForItem("astages/item6", "WitherEye", "endrem:wither_eye")
    .setCanBeStoredInInventory(true)
    .setCanBeStoredInContainers(true)
    .setCanPickedUp(true)
    .setHideInJEI(false)
    .setHideTooltip(false)

AStages.addRestrictionForItem("astages/item7", "CrypticEye", "endrem:cryptic_eye")
    .setCanBeStoredInInventory(true)
    .setCanBeStoredInContainers(true)
    .setCanPickedUp(true)
    .setHideInJEI(false)
    .setHideTooltip(false)

AStages.addRestrictionForItem("astages/item8", "BlackEye", "endrem:black_eye")
    .setCanBeStoredInInventory(true)
    .setCanBeStoredInContainers(true)
    .setCanPickedUp(true)
    .setHideInJEI(false)
    .setHideTooltip(false)

AStages.addRestrictionForItem("astages/item9", "OldEye", "endrem:old_eye")
    .setCanBeStoredInInventory(true)
    .setCanBeStoredInContainers(true)
    .setCanPickedUp(true)
    .setHideInJEI(false)
    .setHideTooltip(false)

AStages.addRestrictionForItem("astages/item10", "ExoticEye", "endrem:exotic_eye")
    .setCanBeStoredInInventory(true)
    .setCanBeStoredInContainers(true)
    .setCanPickedUp(true)
    .setHideInJEI(false)
    .setHideTooltip(false)

AStages.addRestrictionForItem("astages/item11", "CursedEye", "endrem:cursed_eye")
    .setCanBeStoredInInventory(true)
    .setCanBeStoredInContainers(true)
    .setCanPickedUp(true)
    .setHideInJEI(false)
    .setHideTooltip(false)

AStages.addRestrictionForItem("astages/item12", "EvilEye", "endrem:evil_eye")
    .setCanBeStoredInInventory(true)
    .setCanBeStoredInContainers(true)
    .setCanPickedUp(true)
    .setHideInJEI(false)
    .setHideTooltip(false)

AStages.addRestrictionForItem("astages/item13", "LostEye", "endrem:lost_eye")
    .setCanBeStoredInInventory(true)
    .setCanBeStoredInContainers(true)
    .setCanPickedUp(true)
    .setHideInJEI(false)
    .setHideTooltip(false)

AStages.addRestrictionForItem("astages/item14", "ColdEye", "endrem:cold_eye")
    .setCanBeStoredInInventory(true)
    .setCanBeStoredInContainers(true)
    .setCanPickedUp(true)
    .setHideInJEI(false)
    .setHideTooltip(false)

AStages.addRestrictionForItem("astages/item15", "NetherEye", "endrem:nether_eye")
    .setCanBeStoredInInventory(true)
    .setCanBeStoredInContainers(true)
    .setCanPickedUp(true)
    .setHideInJEI(false)
    .setHideTooltip(false)

AStages.addRestrictionForItem("astages/item16", "GuardianEye", "endrem:guardian_eye")
    .setCanBeStoredInInventory(true)
    .setCanBeStoredInContainers(true)
    .setCanPickedUp(true)
    .setHideInJEI(false)
    .setHideTooltip(false)