# Configuration file

client {
    # Sets the maximum distance that bulk-rendered objects like Starfield Glass will render at.
    # Increasing this will make these objects not disappear at long range, but may reduce performance.
    I:BulkRenderDistance=192

    # Removes the "Creative Only" text on items that are creative-only normally.
    # This is for modpack authors that might want to make these items obtainable.
    B:DisableCreativeOnlyText=false

    # Disables all framebuffers used by TA for rendering.
    # This will make certain things look ugly, but might fix other issues.
    # Currently, only the display in the Celestial Observer uses framebuffers.
    # This option is always treated as being enabled when Optifine is detected.
    B:DisableFramebuffers=false

    # Disables all shaders used by TA for rendering.
    # This will make certain things look ugly, but should prevent issues with shader mods.
    # This does not change things for vanilla TC, except for flux rifts if "OptimizedFluxRiftRenderer" is enabled.
    B:DisableShaders=false

    # Removes the "Infusion Stabilizer" text on items that act as infusion stabilizers when placed.
    # Note that this text only appears after completing the "Infusion" research.
    B:DisableStabilizerText=false

    # Allows the Impetus Thruster boost key to be rebindable (with caveats).
    # By default, the Impetus Thruster requires holding the jump key to activate it, and is not rebindable.
    # This is required to not mess with other mods/content that checks for the jump key, as a normal keybind would conflict.
    # However, if you'd rather not use jump for that, enabling this and restarting will make it appear as a normal keybind.
    # To properly set it to jump again, you will need to disable this option and restart the game.
    B:EnableImpetusThrusterKeybind=false

    # Enables a simple animation where an entity holds their arm out after casting.
    # This is a client-side setting.
    B:GauntletCastAnimation=true

    # Due to the way Morphic Armor works, some armor items may not play nicely with it.
    # This most commonly appears as the armor being invisible in the inventory.
    # If that occurs, add its model name here (including variant names, if needed).
    # Regular expressions are supported.
    S:MorphicArmorExclusions <
        extrabitmanipulation:moving_part*
     >

    # Overrides Thaumcraft's Flux Rift renderer to use one that is slightly better for performance.
    # It probably won't make a major difference as of now, but can help.
    # Further work may make this option more useful.
    B:OptimizedFluxRiftRenderer=false

    # Disables some unneccessary particle effects.
    # This includes the special effect of the casted light, as well as most of the particles on the Metaspatial Accumulator/Extruder
    B:ReducedEffects=false
}


gameplay {
    # Allows TA to apply research to players that are not online.
    # This will make things like the Celestial Observer work for them.
    # However, it will also cause the player data to be loaded and then written back to disk.
    # Due to how this could potentially be misused, it is off by default.
    # It is recommended to only enable this for private servers with trusted players.
    B:AllowOfflinePlayerResearch=false

    # Allows rift seeds to create Flux Rifts, even if Thaumcraft's wuss mode is enabled.
    B:AllowWussRiftSeed=false

    # The default dye colors for the thaumium and void gauntlets when crafted, in that order.
    # The dyed color is multiplied with the color of the texture.
    # This is a server-side setting.
    I:DefaultCastingGauntletColors <
        8022208
        2498903
     >

    # The default dye color for the Boots of the Riftstrider when crafted.
    # The dyed color is multiplied with the color of the texture.
    # This is a server-side setting.
    I:DefaultVoidBootsColor=6961280

    # The list of research categories that Thaumic Augmentation will never willingly give research in.
    # Sadly Thaumcraft makes all addons have a research category, even if they don't intend on using it.
    # This is why cards like "experiment" can give categories that never appear otherwise.
    # If you are a TC addon author and you want your mod included/removed from this list, message TheCodex6824 or open an issue/PR on Github.
    S:DeniedResearchCategories <
        THAUMIC_AUGMENTATION
        THAUMIC_TINKERER
        THAUMIC_WONDERS
        RUSTIC_THAUMATURGY
        PERIPHERY
        ENGINEERED_GOLEMS
     >

    # The multipliers that will be applied to the use cooldowns of the Thaumium and Void Metal caster gauntlets.
    # Min: 0.0
    # Max: 1.0
    D:GauntletCooldownModifiers <
        0.8
        0.9
     >

    # The discounts that will be applied to the vis cost of foci used in the thaumium and void metal caster gauntlets.
    # Min: 0.0
    # Max: 1.0
    D:GauntletVisDiscounts <
        0.1
        0.3
     >

    # Makes a few changes to how certain movement, like step height bonuses, are applied.
    # This is intended to allow it to work when misbehaving mods are constantly overwriting TA's changes.
    B:MovementCompat=false

    # The damage done by the Primal Cutter's material, NOT including the base damage.
    # In other words, its total damage will be this number + 4 (3 for being a "sword", and 1 as the minimum)
    D:PrimalCutterDamage=6.0

    # Makes the server calculate positions and velocities from the Boots of the Riftstrider in addition to the client.
    # Normally the client is left to update their position, and the server just takes it from the client.
    # Unless your server needs accurate position/velocity info for some reason, don't enable this.
    B:ServerSideMovementCalculation=false

    # Makes TA eldritch guardians and wardens be undead mobs.
    # In vanilla TC, eldritch guardians are undead while wardens are not.
    B:UndeadEldritchGuardians=true

    # The boost applied when the wearer jumps.
    # This is added to the base jump height of the player.
    # Min: 0.0
    # Max: 10.0
    D:VoidBootsJumpBoost=0.4

    # The boost applied to player movement while in the air.
    # This itself is a speed, so it can make movement faster in the air than on the ground.
    # Note that sprinting's jump modifier uses this value as well.
    # Min: 0.0
    # Max: 10.0
    D:VoidBootsJumpFactor=0.04

    # The boost applied while the wearer is on the ground, and on dry land.
    # This is added to the base movement of the player per tick.
    # Min: 0.0
    # Max: 10.0
    D:VoidBootsLandSpeedBoost=0.09

    # Any speed boosts (not jump) will be divided by this value while sneaking.
    # Min: 1.0
    # Max: 10.0
    D:VoidBootsSneakReduction=4.0

    # The boost applied to the player's step height (while not sneaking).
    # This is added to the vanilla default value of 0.6.
    # Min: 0.0
    # Max: 10.0
    D:VoidBootsStepHeight=0.47

    # The boost applied while the wearer is in water.
    # This is added to the base movement of the player per tick.
    # Min: 0.0
    # Max: 10.0
    D:VoidBootsWaterSpeedBoost=0.045

    # The extra square area for the voidseer gauntlet, in chunks.
    # An area of 3, for example, will mean vis will be taken in a 3x3 chunk area around the caster.
    # Note that chunks still need to be loaded to take Vis from them, so the chunk load distance for your
    # singleplayer/server is another limiting factor.
    # Min: 1
    # Max: 32
    I:VoidseerExtraArea=3

    ward {
        # Allow server operators to always be able to interact with or destroy any warded block/tile.
        # For singleplayer see AllowSingleplayerWardOverride.
        B:AllowOPWardOverride=false

        # Allows you to always be able to interact with or destroy any warded block/tile while in singleplayer.
        # For multiplayer see AllowOPWardOverride.
        B:AllowSingleplayerWardOverride=false

        # Disables the ward focus. This will remove the research entry, disable existing wards, and make existing foci do nothing.
        # This is a server-side setting, although the ward research may not sync properly if the value is not the same on both sides.
        B:DisableWardFocus=false

        # Optionally allows tile entities to be warded in addition to normal blocks.
        # While "all" and "none" should be self explanatory, "notick" will
        # only allow tiles that do not tick (aka do not implement ITickable).
        # Allowing all tiles may be very overpowered - if that is the case, try notick or none.
        # Valid values:
        # NONE
        # NOTICK
        # ALL
        S:WardTileMode=NOTICK
    }

    impetus {
        # The amount of Impetus the Void Shield focus effect consumes to create the shield.
        # Note that a proportion of this amount will be consumed to heal a damaged shield.
        I:ShieldFocusCost=10

        # The amount of Impetus the Arcane Terraformer consumes per block terraformed.
        I:TerraformerCost=5

        cannon {
            I:BeamCost=1

            # The amount of Impetus used by the Impulse Cannon's beam attack on initial activation.
            # This cost is paid once at the start, and then BeamCostTick will be applied.
            I:BeamCostInitial=3

            # The amount of Impetus used by the Impulse Cannon's beam attack per tick.
            # This cost is paid even if nothing is being hit by the beam.
            # Supports taking away less than 1 impetus per tick.
            D:BeamCostTick=0.1

            # The amount of damage that the Impulse Cannon's beam attack does.
            # The beam attack is the default attack with no augments.
            D:BeamDamage=6.0

            # The range in meters of the Impulse Cannon's beam attack.
            D:BeamRange=32.0

            # The cooldown in ticks between shots of the Impulse Cannon in burst mode.
            # Note that this will lock the player out of all Impulse Cannons in their inventory for
            # this duration.
            I:BurstCooldown=26

            # The amount of Impetus used by the Impulse Cannon's burst attack per burst.
            # This cost is paid even if nothing is being hit by the shot.
            I:BurstCost=4

            # The amount of damage that the Impulse Cannon's burst attack does per shot.
            # Note that the damage cooldown of an entity hit by the first 2 rounds of the burst is reset
            # to allow the other rounds to do damage.
            # Since there are three shots fired by the burst, the effective damage is three times this value.
            D:BurstDamage=8.0

            # The range in meters of the Impulse Cannon's burst attack.
            D:BurstRange=24.0

            # The cooldown in ticks between shots of the Impulse Cannon in railgun mode.
            # Note that this will lock the player out of all Impulse Cannons in their inventory for
            # this duration.
            I:RailgunCooldown=100

            # The amount of Impetus used by the Impulse Cannon's railgun attack per shot.
            # This cost is paid even if nothing is being hit by the shot.
            I:RailgunCost=5

            # The amount of damage that the Impulse Cannon's railgun attack does.
            # Note that the beam can pierce through multiple entities, but not blocks.
            D:RailgunDamage=30.0

            # The range in meters of the Impulse Cannon's railgun attack.
            D:RailgunRange=64.0
        }

        impetusgenerator {
            # The maximum amount of FE that can be held in the generator.
            # Note that if this is lower than EnergyPerImpetus, the generator will never
            # refill its buffer.
            I:BufferSize=3000

            # The amount of FE generated per point of Impetus.
            # Impetus will not be consumed until the internal buffer
            # can contain at least this amount more FE.
            I:EnergyPerImpetus=1500

            # The maximum amount of FE that can be extracted per operation.
            # This *can* be removed multiple times per tick if energy is being pulled,
            # but the generator itself will only attempt to push energy once per tick.
            I:MaxExtract=50
        }

    }

    augment {
        # The list of dimensions that should count as being in the Emptiness for the overworld modifier.
        # If the game automatically changes the Emptiness dim ID, it will be updated here,
        # otherwise, you will need to specify it manually if changed.
        I:DimensionalModifierEmptinessDims <
            14676
         >

        # The strength of the dimensional modifier in the incorrect dimension.
        D:DimensionalModifierEmptinessNegativeFactor=1.0

        # The strength of the dimensional modifier in the correct dimension.
        D:DimensionalModifierEmptinessPostiveFactor=1.5

        # The list of dimensions that should count as being in the End for the overworld modifier.
        I:DimensionalModifierEndDims <
            1
         >

        # The strength of the dimensional modifier in the incorrect dimension.
        D:DimensionalModifierEndNegativeFactor=1.0

        # The strength of the dimensional modifier in the correct dimension.
        D:DimensionalModifierEndPostiveFactor=1.5

        # The list of dimensions that should count as being in the Nether for the overworld modifier.
        I:DimensionalModifierNetherDims <
            -1
         >

        # The strength of the dimensional modifier in the incorrect dimension.
        D:DimensionalModifierNetherNegativeFactor=1.0

        # The strength of the dimensional modifier in the correct dimension.
        D:DimensionalModifierNetherPostiveFactor=1.5

        # The list of dimensions that should count as being in the Overworld for the overworld modifier.
        I:DimensionalModifierOverworldDims <
            0
         >

        # The strength of the dimensional modifier in the incorrect dimension.
        D:DimensionalModifierOverworldNegativeFactor=1.0

        # The strength of the dimensional modifier in the correct dimension.
        D:DimensionalModifierOverworldPostiveFactor=1.25

        # The number to be multiplied into the total effectiveness of the Elemental Modifier for a postive aspect.
        D:ElementalModifierNegativeFactor=0.75

        # The number to be multiplied into the total effectiveness of the Elemental Modifier for a postive aspect.
        D:ElementalModifierPostiveFactor=2.0

        # The minimum benefit the Experience Modifier can provide.
        # 1.0 is no benefit, and lower values will reduce effectiveness.
        D:ExperienceModifierBase=1.0

        # The maximum benefit the Experience Modifier can provide.
        D:ExperienceModifierCap=2.0

        # The number the player's level is multiplied by, before being clamped.
        # In other words, this controls how many levels it takes to reach the maximum value.
        D:ExperienceModifierScaleFactor=0.04

        # The amount of ticks without hurting things until the frenzy boost wears off.
        I:FrenzyModifierCooldown=100

        # The maximum frenzy level allowed.
        I:FrenzyModifierMaxLevel=20

        # The number the player's frenzy level is multiplied by, before being clamped.
        # In other words, this controls how many levels it takes to reach the maximum value,
        # and what that maximum value is.
        D:FrenzyModifierScaleFactor=0.06666666666666667

        # The amount the focus power is multiplied by when the gauntlet has a charged Impetus Conductor.
        D:ImpetusConductorFactor=1.1
    }

    harness {
        # The vis cost per tick of the unaugmented thaumostatic harness.
        D:BaseHarnessCost=0.1

        # The fly speed of the unaugmented thaumostatic harness.
        D:BaseHarnessSpeed=0.05000000074505806

        # The impetus cost per tick of the elytra harness while boosting.
        D:ElytraHarnessBoostCost=0.0375

        # The vis cost per tick of the thaumostatic harness with the girdle augment.
        D:GirdleHarnessCost=0.2

        # The fly speed of the thaumostatic harness with the girdle augment.
        D:GirdleHarnessSpeed=0.06499999761581421

        # The vis cost per tick of the thaumostatic harness with the gyroscope augment.
        D:GyroscopeHarnessCost=0.05

        # The fly speed of the thaumostatic harness with the gyroscope augment.
        D:GyroscopeHarnessSpeed=0.03500000014901161
    }

}


general {
    B:AllowOPWardOverride=false
    B:AllowSingleplayerWardOverride=false
    I:DefaultCastingGauntletColors <
        8022208
        2498903
     >
    I:DefaultVoidBootsColor=6961280

    # Completely disables the Thaumic Augmentation coremod.
    # It will still appear in the list of loaded coremods, but won't do anything.
    # The coremod is a neccessary evil to get warded blocks to behave properly with other mods,
    # as well as work around other vanilla and Thaumcraft issues.
    B:DisableCoremod=false
    B:DisableVoidDimension=false
    B:DisableWardFocus=false

    # An optional list of coremod class transformers to disable.
    # For advanced users / modpack makers that encounter issues with only a subset of the coremod.
    # This takes the fully qualified class name of THE TRANSFORMER CLASS ITSELF, and only does anything if the coremod itself is enabled.
    # An example would be adding "thecodex6824.thaumicaugmentation.core.transformer.TransformerBipedRotationCustomTCArmor" without quotes
    # to disable the modifications to Thaumcraft's ModelCustomArmor.
    # If you do have to add exclusions here, reporting the issues as well would be greatly appreciated.
    S:DisabledTransformers <
     >
    I:FractureGenChance=35
    I:FractureLocatorUpdateInterval=2000
    B:GauntletCastAnimation=true
    D:GauntletCooldownModifiers <
        0.8
        0.9
     >
    D:GauntletVisDiscounts <
        0.1
        0.3
     >
    B:SimpleCastedLightRendering=false
    B:ValidFracturesAlwaysTeleport=false
    D:VoidBootsJumpBoost=0.4
    D:VoidBootsJumpFactor=0.04
    D:VoidBootsLandSpeedBoost=0.09
    D:VoidBootsSneakReduction=4.0
    D:VoidBootsStepHeight=0.47
    D:VoidBootsWaterSpeedBoost=0.045
    I:VoidDimensionID=14676
    D:VoidMoveFactor=16.0
    I:VoidseerExtraArea=3
    D:primalCutterDamage=6.0

    fracturedimlist {
        I:-1=15
        I:0=35
        I:1=10
        I:111=5
        I:17=5
        I:20=5
        I:33=5
        I:66=5
        I:7=5
    }

}


world {
    # Completely disables the Emptiness dimension, *including* all fracture generation.
    # This is not the intended way to experience the mod but is included here for modpack authors.
    # This is a server-side setting, but will probably cause problems if the client does not have the same value.
    B:DisableEmptinessDimension=false

    # The dimension ID to use for the Emptiness dimension.
    # If this ID is already taken, a new one will automatically be assigned.
    I:EmptinessDimID=14676

    # The scaling factor applied to distances in the Emptiness dimension.
    # For example, the nether has a value of 8 since it multiplies coords by 8.
    # Note that move factors for the Emptiness are calculated based on chunk rather than position, so final values
    # may be slightly different than expected.
    D:EmptinessMoveFactor=16.0

    # Lists the whitelisted dimensions for fractures (not including the Emptiness dim), and their associated weights.
    # The format for each line is dim=weight, with higher weights (compared to lower weights) being more likely to spawn.
    # This WILL affect worldgen, so use with caution on existing worlds.
    # Default dimensions: 0 = Overworld, -1 = Nether, 1 = End, 7 = Twilight Forest, 17 = Atum 2,
    # 20 = Betweenlands, 111 = Lost Cities, 66 = Erebus, 33 = Wizardry (Underworld)
    S:FractureDimList <
        0=35
        -1=15
        1=10
        7=5
        17=5
        20=5
        111=5
        66=5
        33=5
     >

    # The chance for a fracture to generate in a chunk in the Emptiness dimension.
    # The approximate chance will be 1 / chance (assuming the chunk meets all other conditions).
    # Set this to 0 to stop fractures from spawning completely, but be warned that there is no
    # other way in Thaumic Augmentation to access the Emptiness in survival.
    I:FractureGenChance=35

    # How often the location pointed to by the Fracture Locator should be updated, in milliseconds.
    # This is a server-side setting.
    I:FractureLocatorUpdateInterval=2000

    # Allows the Eldritch Spire structure to generate in the Emptiness.
    # The spire is intended to be a part of the research progression, so removing it is not recommended.
    # The structure will never generate if the Emptiness itself is disabled, or if the structure generation world option is disabled.
    B:GenerateEldritchSpires=true

    # The absolute minimum distance, in chunks, between generated Eldritch Spires.
    I:SpireMinDist=10

    # The approximate distance, in chunks, between generated Eldritch Spires.
    I:SpireSpacing=30

    # If this is set, fractures that previously found a valid location will always teleport the player, even if it is now invalid.
    # Normally, fractures check if there is a fracture at the destination to make sure players can get back.
    # This is a server-side setting.
    B:ValidFracturesAlwaysTeleport=false
}


