# Configuration file

crafting {
    # Set this to false to disable crystal + stardust -> Celestial Crystal cluster forming [default: true]
    B:liquidStarlightCelestialCrystalCluster=true

    # Set this to false to disable Rock/Celestial Crystal growing in liquid starlight. [default: true]
    B:liquidStarlightCrystalGrowth=true

    # Set this to false to disable Crystal Tool growth in liquid starlight [default: true]
    B:liquidStarlightCrystalToolGrowth=true
    B:liquidStarlightResoGem=true
}


entities {
    # Defines how common ***ambient*** flares are. the lower the more common. 0 = ambient ones don't appear/disabled. [range: 0 ~ 200000, default: 20]
    I:EntityFlare.ambientspawn=20

    # If this is set to true, occasionally, a spawned flare will (attempt to) kill bats close to it. [default: true]
    B:EntityFlare.killbats=true
}


general {
    # DimensionId for SkyRift [range: -2147483648 ~ 2147483647, default: -81]
    I:dimensionIdSkyRift=-81

    # If set to 'true' anything that prevents mobspawning by this mod, will also prevent EVERY natural mobspawning of any mobtype. When set to 'false' it'll only stop monsters from spawning. [default: false]
    B:doesMobSpawnDenyAllTypes=false

    # If set to 'true', the player will receive an AstralSorcery Journal if he joins the server for the first time. [default: true]
    B:giveJournalAtFirstJoin=true

    # List any number of modid's here and the aevitas perk & mineralis ritual will not spawn ores that originate from any of the mods listed here. [default: [techreborn]]
    S:oreGenBlacklist <
        gregtech
     >

    # Whitelist of dimension ID's that will have special sky rendering [default: [0]]
    S:skySupportedDimensions <
        0
     >

    # Defines how much the 'sharpened' modifier increases the damage of the sword if applied. Config value is in percent. [range: 0.0 ~ 10000.0, default: 0.1]
    S:swordSharpenedMultiplier=0.1

    # IF a dimensionId is listed in 'skySupportedDimensions' you can add it here to keep its sky render, but AS will try to render only constellations on top of its existing sky render. [default: ]
    S:weakSkyRenders <
     >
}


##########################################################################################################
# lightnetwork
#--------------------------------------------------------------------------------------------------------#
# Maintenance options for the Starlight network. Use the integrity check when you did a bigger rollback or MC-Edited stuff out of the world. Note that it will only affect worlds that get loaded. So if you edited out something on, for example, dimension -76, be sure to go into that dimension with the maintenance options enabled to properly perform maintenance there.
##########################################################################################################

lightnetwork {
    # NOTE: ONLY run this once and set it to false again afterwards, nothing will be gained by setting this to true permanently, just longer loading times. When set to true and the server started, this will perform an integrity check over all nodes of the starlight network whenever a world gets loaded, removing invalid ones in the process. This might, depending on network sizes, take a while. It'll leave a message in the console when it's done. After this check has been run, you might need to tear down and rebuild your starlight network in case something doesn't work anymore. [default: false]
    B:performNetworkIntegrityCheck=false
}


machinery {
    # Defines the chance that the block harvested is going to break per random-selection tick. The higher the value the lower the chance [range: 20 ~ 2147483647, default: 500]
    I:treeBeaconBreakChance=500

    # Defines the amount of blocks the treeBeacon can support at max count [range: 1 ~ 4000, default: 600]
    I:treeBeaconCount=600

    # Defines the chance that a drop is generated per random-selection tick. The higher the value the lower the chance. [range: 1 ~ 2147483647, default: 5]
    I:treeBeaconDropsChance=5

    # Percentage, how hard the speed limiter should slow down production of the tree beacon. 1=max, 0=no limiter [range: 0.0 ~ 1.0, default: 1.0]
    S:treeBeaconEfficiencyLimiter=1.0

    # Defines the Range where the TreeBeacon will scan for Tree's to grow. [range: 4.0 ~ 64.0, default: 16.0]
    S:treeBeaconRange=16.0
}


perk_levels {
    # Defines the amount of Alignment needed for level: 1 [range: 1 ~ 2147483647, default: 15]
    I:levels_Level_1=15

    # Defines the amount of Alignment needed for level: 2 [range: 2 ~ 2147483647, default: 45]
    I:levels_Level_2=45

    # Defines the amount of Alignment needed for level: 3 [range: 3 ~ 2147483647, default: 85]
    I:levels_Level_3=85

    # Defines the amount of Alignment needed for level: 4 [range: 4 ~ 2147483647, default: 130]
    I:levels_Level_4=130

    # Defines the amount of Alignment needed for level: 5 [range: 5 ~ 2147483647, default: 180]
    I:levels_Level_5=180

    # (Unused YET) Defines the amount of Alignment needed for level: 6 [range: 6 ~ 2147483647, default: 245]
    I:levels_Level_6=245

    # (Unused YET) Defines the amount of Alignment needed for level: 7 [range: 7 ~ 2147483647, default: 325]
    I:levels_Level_7=325

    # (Unused YET) Defines the amount of Alignment needed for level: 8 [range: 8 ~ 2147483647, default: 400]
    I:levels_Level_8=400
}


perks {

    dmg_perm {
        # Sets the damage multiplier that is applied to entity damage if the player has this perk. [range: 1.0 ~ 2.0, default: 1.05]
        S:DMG_PERMDamageIncrease=1.05
    }

    dmg_kill {
        # Sets the damage multiplier that is applied to entity damaged after knocked back if the player has this perk. [range: 1.0 ~ 2.0, default: 1.05]
        S:DMG_KILLDamageIncrease=1.05

        # Sets the duration on how long the player gets additional damage on the mob when it was knocked back. [range: 1 ~ 1000, default: 60]
        I:DMG_KILLKillDuration=60
    }

    dmg_dst {
        # Defines the max. distance that is relevant. If you hit something further away it won't grant more additional bonus than defined in MaxMultiplier [range: 16.0 ~ 2048.0, default: 64.0]
        S:DMG_DSTMaxDistance=64.0

        # Defines the multiplier how much the player can get additionally at max. distance defined. [range: 1.0 ~ 60.0, default: 8.0]
        S:DMG_DSTMaxMultiplier=8.0
    }

    dmg_knock {
        # Sets the damage multiplier that is applied to entity damaged after knocked back if the player has this perk. [range: 1.0 ~ 2.0, default: 1.05]
        S:DMG_KNOCKDamageIncrease=1.05

        # Sets the duration on how long the player gets additional damage on the mob when it was knocked back. [range: 1 ~ 1000, default: 60]
        I:DMG_KNOCKKnockbackDuration=60
    }

    dmg_bleed {
        # Defines the PotionEffect amplifier of the bleed applied. [range: 0 ~ 40, default: 1]
        I:DMG_BLEEDBleedAmplifier=1

        # Defines the PotionEffect duration of the bleed applied [range: 1 ~ 600, default: 80]
        I:DMG_BLEEDBleedTickDuration=80
    }

    trv_light {
        # Sets the chance (Random.nextInt(chance) == 0) to try to see if a light close to the player might be spawned [range: 20 ~ 4000, default: 100]
        I:TRV_LIGHTChanceForLight=100
    }

    trv_lprot {
        # Defines the ticks of protection from fire damage or any damage as long as you are in lava after falling in lava. [range: 1 ~ 6000, default: 200]
        I:TRV_LPROTTicksProtection=200

        # Defines the ticks of cooldown the protection needs to 'recharge' after it was active. [range: 1 ~ 60000, default: 2400]
        I:TRV_LPROTTicksProtectionCooldown=2400
    }

    trv_movespeed {
        # Sets the movement-speed multiplier when the player has this perk. [range: 0.0 ~ 5.0, default: 0.2]
        S:TRV_MOVESPEEDSpeedMultipler=0.2
    }

    trv_watermov {
        # Sets the swim speed multiplier when a player has this perk, is in water and is not flying. [range: 1.0 ~ 1.5, default: 1.2]
        S:TRV_WATERMOVSwimSpeedMultipler=1.2
    }

    trv_foodreduction {
        # Defines the food-exhaustion reduction applied each tick. [range: 0.0 ~ 0.1, default: 0.01]
        S:TRV_FOODREDUCTIONTickExhaustionReduction=0.01
    }

    cre_growth {
        # Sets the chance (Random.nextInt(chance) == 0) to try to see if a random plant near the player gets bonemeal'd [range: 2 ~ 4000, default: 6]
        I:CRE_GROWTHChanceForBonemeal=12
    }

    cre_breeding {
        # Sets the chance (Random.nextInt(chance) == 0) to try to see if a random animal near the player will grow into an adult [range: 10 ~ 4000, default: 30]
        I:CRE_BREEDINGChanceToAge=30

        # Sets the chance (Random.nextInt(chance) == 0) to try to see if a random animal near the player will create a child [range: 10 ~ 4000, default: 70]
        I:CRE_BREEDINGChangeToBreed=70

        # Sets the radius in which this effect tries to find animals [range: 1.0 ~ 40.0, default: 6.0]
        S:CRE_BREEDINGEffectRadius=6.0
    }

    cre_ores {
        # Sets the chance (Random.nextInt(chance) == 0) to try to see if a random stone next to the player should get turned into an ore [range: 10 ~ 2000, default: 70]
        I:CRE_ORESGenChance=70

        # Defines the radius where a random position to generate a ore at is searched [range: 2 ~ 50, default: 3]
        I:CRE_ORESGenRadius=3
    }

    cre_reach {
        # Sets the reach modifier that gets applied when the player has this perk. (Too high values might cause issues.) [range: 0.0 ~ 200.0, default: 2.5]
        S:CRE_REACHReachModifier=2.5
    }

    cre_mend {
        # Sets the chance (Random.nextInt(chance) == 0) to try to see if a piece of armor on the player that is damageable and damaged can be repaired [range: 10 ~ 4000, default: 400]
        I:CRE_MENDChanceForRepair=400
    }

    def_dmgreduction {
        # Defines the multiplier for the damage reduction when a player was hit [range: 0.0 ~ 1.0, default: 0.9]
        S:DEF_DMGREDUCTIONDmgReduction=0.9
    }

    def_dodge {
        # Sets the chance the player has to completely avoid/dodge an attack [range: 1 ~ 1000, default: 20]
        I:DEF_DODGEDodgeChance=20
    }

    def_noarmor {
        # Defines the damage reduction multiplier if the player has less than 2 or 2 armor pieces equipped [range: 0.001 ~ 1.0, default: 0.3]
        S:DEF_NOARMORNoArmorDmgReductionMultiplier=0.3

        # Defines the amount that the player is healed for each second if he has less than 2 or 2 armor pieces equipped [range: 0.001 ~ 50.0, default: 0.15]
        S:DEF_NOARMORNoArmorHealPerSecond=0.15
    }

    def_elemental {
        # Sets the damage-reduction multiplier when the player is hit by fire, magic or explosion. [range: 0.1 ~ 1.0, default: 0.7]
        S:DEF_ELEMENTALReductionMultipler=0.7
    }

    def_fallred {
        # Defines the multiplier for fall damage if the player has this perk. [range: 0.0 ~ 1.0, default: 0.3]
        S:DEF_FALLREDFallReduction=0.3
    }

    dmg_reflect {
        # Defines the chance that a incoming attack (if it can be resolved to an attacker) can be reflected (random.nextInt(chance) == 0 check) [range: 1 ~ 5000, default: 5]
        I:DMG_REFLECTReflectChance=5

        # Defines the percentage of damage that the attacker will also take upon attacking the player. [range: 0.001 ~ 1.0, default: 0.6]
        S:DMG_REFLECTReflectPercentage=0.6
    }

    cre_flares {
        # Defines the chance (random.nextInt(chance) == 0) that a flare spawns to attack the attacking entity [range: 1 ~ 6000, default: 7]
        I:CRE_FLARESFlareChance=7

        # Defines the minimum cooldown/time between 2 flare spawns caused by this perk. [range: 1 ~ 2147483647, default: 150]
        I:CRE_FLARESSpawnCooldown=150
    }

    def_cheatdeath {
        # Once the potion effect gets applied, it'll take at least this amount of ticks or a server restart until it can be re-applied by this perk [range: 1 ~ 2147483647, default: 1000]
        I:DEF_CHEATDEATHCooldownPotion=1000

        # Once the potion effect gets applied by any of the triggers, this will be used as amplifier of the potion effect. [range: 0 ~ 32, default: 0]
        I:DEF_CHEATDEATHPotionAmplifier=0

        # Once the potion effect gets applied by any of the triggers, this will be used as tick-duration of the potion effect. [range: 1 ~ 2147483647, default: 600]
        I:DEF_CHEATDEATHPotionDuration=600

        # If the player takes damage equals/higher to the amount of damage configured here, the potion effect will apply in case it isn't on cooldown. [range: 1.0 ~ 100.0, default: 6.0]
        S:DEF_CHEATDEATHThresholdDamage=6.0

        # If the player drops below this value of health, the potion effect will apply in case it isn't on cooldown. [range: 0.0 ~ 20.0, default: 4.0]
        S:DEF_CHEATDEATHThresholdHealth=4.0
    }

}


rendering {
    # Defines how close to the position of a particle/floating texture you have to be in order for it to render. [range: 1 ~ 512, default: 64]
    I:maxEffectRenderDistance=64

    # Sets the amount of particles/effects: 0 = minimal (only necessary particles will appear), 1 = lowered (most unnecessary particles will be filtered), 2 = all particles are visible [range: 0 ~ 2, default: 2]
    I:particleAmount=2

    # If set to 'true' the mod will preload most of the bigger textures during postInit. This provides a more fluent gameplay experience (as it doesn't need to load the textures when they're first needed), but increases loadtime. [default: true]
    B:preloadTextures=true
}


retrogen {
    B:enableChunkVersioning=true

    # WARNING: Setting this to true, will check on every chunk load if the chunk has been generated depending on the current AstralSorcery version. If the chunk was then generated with an older version, the mod will try and do the worldgen that's needed from the last recorded version to the current version. DO NOT ENABLE THIS FEATURE UNLESS SPECIFICALLY REQUIRED. It might/will slow down chunk loading. [default: false]
    B:enableRetroGen=false
}


ritual_effects {

    aevitas {
        # Defines the amount of crops the ritual can cache at max. count [range: 1 ~ 4000, default: 200]
        I:aevitasCount=200

        # Set to false to disable this ConstellationEffect. [default: true]
        B:aevitasEnabled=true

        # Set the potency multiplier for this ritual effect. Will affect all ritual effects and their efficiency. [range: 0.01 ~ 100.0, default: 1.0]
        S:aevitasPotencyMultiplier=1.0

        # Defines the radius (in blocks) in which the ritual will search for valid crops. [range: 1 ~ 32, default: 16]
        I:aevitasRange=16

        # Set the amplifier for the regeneration potion effect. [range: 0 ~ 32767, default: 1]
        I:aevitasRegenerationAmplifier=1
    }

    discidia {
        # Defines the max. possible damage dealt per damage tick. [range: 0.1 ~ 100.0, default: 4.0]
        S:discidiaDamageDealt=4.0

        # Set to false to disable this ConstellationEffect. [default: true]
        B:discidiaEnabled=true

        # Set the potency multiplier for this ritual effect. Will affect all ritual effects and their efficiency. [range: 0.01 ~ 100.0, default: 1.0]
        S:discidiaPotencyMultiplier=1.0

        # Defines the range in which the ritual will try to find entities [range: 2.0 ~ 64.0, default: 16.0]
        S:discidiaRange=16.0
    }

    armara {
        # Set to false to disable this ConstellationEffect. [default: true]
        B:armaraEnabled=true

        # Set the potency multiplier for this ritual effect. Will affect all ritual effects and their efficiency. [range: 0.01 ~ 100.0, default: 1.0]
        S:armaraPotencyMultiplier=1.0

        # Defines the radius (in blocks) in which the ritual will stop mob spawning and projectiles. [range: 1 ~ 128, default: 32]
        I:armaraRange=32

        # Set the amplifier for the resistance potion effect. [range: 0 ~ 32767, default: 0]
        I:armaraResistanceAmplifier=0
    }

    vicio {
        # Set to false to disable this ConstellationEffect. [default: true]
        B:vicioEnabled=true

        # Set the amplifier for the jump potion effect. [range: 0 ~ 32767, default: 1]
        I:vicioJumpAmplifier=1

        # Set the potency multiplier for this ritual effect. Will affect all ritual effects and their efficiency. [range: 0.01 ~ 100.0, default: 1.0]
        S:vicioPotencyMultiplier=1.0

        # Defines the radius (in blocks) in which the ritual will stop mob spawning and projectiles. [range: 1 ~ 32, default: 16]
        I:vicioRange=16

        # Set the amplifier for the speed potion effect. [range: 0 ~ 32767, default: 1]
        I:vicioSpeedAmplifier=1
    }

    horologium {
        # Defines the amount of tileEntities the ritual can cache and accelerate at max count [range: 1 ~ 4000, default: 30]
        I:horologiumCount=30

        # Set to false to disable this ConstellationEffect. [default: true]
        B:horologiumEnabled=true

        # Set the potency multiplier for this ritual effect. Will affect all ritual effects and their efficiency. [range: 0.01 ~ 100.0, default: 1.0]
        S:horologiumPotencyMultiplier=1.0

        # Defines the radius (in blocks) in which the ritual will search for valid tileEntities to accelerate [range: 1 ~ 32, default: 8]
        I:horologiumRange=8
    }

    mineralis {
        # Defines the amount of block-positions the ritual can cache at max count [range: 1 ~ 4000, default: 2]
        I:mineralisCount=2

        # Set to false to disable this ConstellationEffect. [default: true]
        B:mineralisEnabled=true

        # Set the potency multiplier for this ritual effect. Will affect all ritual effects and their efficiency. [range: 0.01 ~ 100.0, default: 1.0]
        S:mineralisPotencyMultiplier=1.0

        # Defines the radius (in blocks) in which the ritual will search for cleanStone to generate ores into. [range: 1 ~ 32, default: 14]
        I:mineralisRange=14
    }

    lucerna {
        # Defines the range in which the ritual will prevent mobspawning. [range: 2.0 ~ 2048.0, default: 256.0]
        S:lucernaDenyRange=256.0

        # Set to false to disable this ConstellationEffect. [default: true]
        B:lucernaEnabled=true

        # Set the potency multiplier for this ritual effect. Will affect all ritual effects and their efficiency. [range: 0.01 ~ 100.0, default: 1.0]
        S:lucernaPotencyMultiplier=1.0
    }

    bootes {
        # Set to false to disable this ConstellationEffect. [default: true]
        B:bootesEnabled=true

        # Set the chance that an registered animal will be 'herded' if it is close to the ritual. [range: 0.0 ~ 1.0, default: 0.05]
        S:bootesHerdChance=0.05

        # Set the 'luck' when herding an animal for drops or related [range: -200.0 ~ 200.0, default: -5.0]
        S:bootesHerdLuck=-5.0

        # Set the chance that a drop that has been found from the entity's loot table is actually dropped. [range: 0.0 ~ 1.0, default: 0.01]
        S:bootesOverallDropChance=0.01

        # Set the potency multiplier for this ritual effect. Will affect all ritual effects and their efficiency. [range: 0.01 ~ 100.0, default: 1.0]
        S:bootesPotencyMultiplier=1.0

        # Defines the range in which the ritual will try to find entities [range: 2.0 ~ 64.0, default: 12.0]
        S:bootesRange=12.0
    }

    octans {
        # Defines the amount of crops the ritual can cache at max. count [range: 1 ~ 4000, default: 20]
        I:octansCount=20

        # Set to false to disable this ConstellationEffect. [default: true]
        B:octansEnabled=true

        # Defines the maximum default tick-time until a fish may be fished by the ritual. gets reduced internally the more starlight was provided at the ritual. Has to be bigger as the minimum time; if it isn't it'll be set to the minimum. [range: 20 ~ 2147483647, default: 500]
        I:octansMaxFishTickTime=500

        # Defines the minimum default tick-time until a fish may be fished by the ritual. gets reduced internally the more starlight was provided at the ritual. [range: 20 ~ 2147483647, default: 100]
        I:octansMinFishTickTime=100

        # Set the potency multiplier for this ritual effect. Will affect all ritual effects and their efficiency. [range: 0.01 ~ 100.0, default: 1.0]
        S:octansPotencyMultiplier=1.0

        # Defines the radius (in blocks) in which the ritual will search for water  [range: 1 ~ 32, default: 12]
        I:octansRange=12
    }

    fornax {
        # Defines the amount of block-positions the ritual can cache and melt at max count [range: 1 ~ 4000, default: 40]
        I:fornaxCount=40

        # Defines a multiplier used to determine how long it needs to melt a block. normal duration * durationMultiplier = actual duration [range: 1.0E-4 ~ 200.0, default: 1.0]
        S:fornaxDivisor=1.0

        # Set to false to disable this ConstellationEffect. [default: true]
        B:fornaxEnabled=true

        # Defines the chance (0% to 100% -> 0.0 to 1.0) if the block will be replaced with air instead of being properly melted into something. [range: 0.0 ~ 1.0, default: 0.0]
        S:fornaxFailChance=0.0

        # Set the potency multiplier for this ritual effect. Will affect all ritual effects and their efficiency. [range: 0.01 ~ 100.0, default: 1.0]
        S:fornaxPotencyMultiplier=1.0

        # Defines the radius (in blocks) in which the ritual will search for valid blocks to start to melt. [range: 1 ~ 32, default: 12]
        I:fornaxRange=12
    }

}


tools {
    # If this is set to true, charged crystals tools can revert back to their inert state. [default: true]
    B:chargedCrystalToolsRevert=true

    # After 'chargedCrystalToolsRevertStart' uses, it will random.nextInt(chance) == 0 try and see if the tool gets reverted to its inert crystal tool. [range: 1 ~ 2147483647, default: 80]
    I:chargedCrystalToolsRevertChance=80

    # Defines the minimum uses a user at least gets before it's trying to revert to an inert crystal tool. [range: 0 ~ 2147483646, default: 40]
    I:chargedCrystalToolsRevertStart=40

    # Sets the alignment charge cost for one usage of the architect wand [range: 0.0 ~ 1.0, default: 0.03]
    S:wandCost_architect=0.03
    S:wandCost_builder=0.014

    # Sets the alignment charge cost for one usage of the exchange wand [range: 0.0 ~ 1.0, default: 0.002]
    S:wandCost_exchange=0.04

    # Sets the alignment charge cost for one usage of the illumination wand [range: 0.0 ~ 1.0, default: 0.5]
    S:wandCost_illumination=0.2
}


wands {
    S:wandCost_architect=0.03
    S:wandCost_builder=0.014
    S:wandCost_exchange=0.04
    S:wandCost_illumination=0.2
}


worldgen {
    # Defines the quality of the constellation paper item in loot chests. [range: 1 ~ 128, default: 2]
    I:constellationPaperQuality=2

    # Defines the rarity of the constellation paper item in loot chests. [range: 1 ~ 128, default: 10]
    I:constellationPaperRarity=10

    # Defines how frequently rock-crystals will spawn underground. The lower the number, the more frequent crystals will spawn. (onWorldGen: random.nextInt(crystalDensity) == 0 -> gen 1 ore in that chunk) [range: 0 ~ 40, default: 15]
    I:crystalDensity=15

    # Defines how many aquamarine ores it'll attempt to generate in per chunk. 0 = disabled [range: 0 ~ 2048, default: 64]
    I:generateAquamarineAmount=64

    # Defines how many marble veins are generated per chunk. 0 = disabled [range: 0 ~ 32, default: 4]
    I:generateMarbleAmount=0

    # Defines how big generated marble veins are. [range: 1 ~ 32, default: 20]
    I:generateMarbleVeinSize=20

    # If this is set to true, the world generator will try and spawn structures more evenly distributed by their 'ideal' distance set in their config entries. WARNING: might add additional worldgen time. [default: true]
    B:respectIdealStructureDistances=true

    # Set this to false to disable rock crystal oregen entirely. [default: true]
    B:rockCrystalsEnabled=true

    # the Astral Sorcery-specific worldgen will only run in Dimension ID's listed here. [default: [0]]
    S:worldGenWhitelist <
        0
     >

    ancientshrine {
        # Set the BiomeTypes (according to the BiomeDicitionary) this structure will spawn in. [default: [MOUNTAIN], [SNOWY]]
        S:BiomeTypes <
            MOUNTAIN
            SNOWY
         >

        # Chance to generate the structure in a chunk. The higher, the lower the chance. [range: 1 ~ 2147483647, default: 140]
        I:Chance=280

        # Generate ancientShrine [default: true]
        B:Generate=true

        # Ignore Biome specifications when trying to generate ancientShrine [default: false]
        B:IgnoreBiomes=false

        # Set the maximum Y level to spawn this structure on [range: 0 ~ 255, default: 255]
        I:MaxY=255

        # Set the minimum Y level to spawn this structure on [range: 0 ~ 255, default: 0]
        I:MinY=0

        # Sets the 'ideal' distance between 2 structures of the same type. If the distance is lower, it's unlikely that the same type of structure will spawn,if it's higher it's more likely that this type of structure will spawn. Only has influence if the config option 'respectIdealStructureDistances' is enabled. [range: 1.0 ~ 16384.0, default: 512.0]
        S:idealDistance=512.0
    }

    desertstructure {
        # Set the BiomeTypes (according to the BiomeDicitionary) this structure will spawn in. [default: [SANDY]]
        S:BiomeTypes <
            SANDY
         >

        # Chance to generate the structure in a chunk. The higher, the lower the chance. [range: 1 ~ 2147483647, default: 140]
        I:Chance=280

        # Generate desertStructure [default: true]
        B:Generate=true

        # Ignore Biome specifications when trying to generate desertStructure [default: false]
        B:IgnoreBiomes=false

        # Set the maximum Y level to spawn this structure on [range: 0 ~ 255, default: 255]
        I:MaxY=255

        # Set the minimum Y level to spawn this structure on [range: 0 ~ 255, default: 0]
        I:MinY=0

        # Sets the 'ideal' distance between 2 structures of the same type. If the distance is lower, it's unlikely that the same type of structure will spawn,if it's higher it's more likely that this type of structure will spawn. Only has influence if the config option 'respectIdealStructureDistances' is enabled. [range: 1.0 ~ 16384.0, default: 512.0]
        S:idealDistance=512.0
    }

    smallshrine {
        # Set the BiomeTypes (according to the BiomeDicitionary) this structure will spawn in. [default: [PLAINS], [FOREST]]
        S:BiomeTypes <
            PLAINS
            FOREST
         >

        # Chance to generate the structure in a chunk. The higher, the lower the chance. [range: 1 ~ 2147483647, default: 140]
        I:Chance=280

        # Generate smallShrine [default: true]
        B:Generate=true

        # Ignore Biome specifications when trying to generate smallShrine [default: false]
        B:IgnoreBiomes=false

        # Set the maximum Y level to spawn this structure on [range: 0 ~ 255, default: 255]
        I:MaxY=255

        # Set the minimum Y level to spawn this structure on [range: 0 ~ 255, default: 0]
        I:MinY=0

        # Sets the 'ideal' distance between 2 structures of the same type. If the distance is lower, it's unlikely that the same type of structure will spawn,if it's higher it's more likely that this type of structure will spawn. Only has influence if the config option 'respectIdealStructureDistances' is enabled. [range: 1.0 ~ 16384.0, default: 256.0]
        S:idealDistance=256.0
    }

    glowstone_flower {
        # Set the BiomeTypes (according to the BiomeDicitionary) this structure will spawn in. [default: [MOUNTAIN], [COLD]]
        S:BiomeTypes <
            MOUNTAIN
            COLD
         >

        # Chance to generate the structure in a chunk. The higher, the lower the chance. [range: 1 ~ 2147483647, default: 2]
        I:Chance=2

        # Generate glowstone_flower [default: true]
        B:Generate=true

        # Ignore Biome specifications when trying to generate glowstone_flower [default: false]
        B:IgnoreBiomes=false

        # Set the maximum Y level to spawn this structure on [range: 0 ~ 255, default: 255]
        I:MaxY=255

        # Set the minimum Y level to spawn this structure on [range: 0 ~ 255, default: 0]
        I:MinY=0

        # Set this to true and the decorator will ignore the spawn-condition if snow is/can fall in the area. [default: false]
        B:ignoreSnowCondition=false
    }

}


