# Configuration file

category_antimassinducer {
    # The amount of anti-mass items that drop from each anti-mass spawn when mining 
    # This is also the base amount dropped by Anti-Mass ore.
    # The exact amount dropped by Anti-Mass ore is a random value between this value and double this value
    I:amountDropped=5

    # The chance that anti-mass will spawn
    D:dropChance=0.05

    # If true, only the first valid drop of a block will have a chance to spawn anti-mass.
    # If false, each valid drop will have a chance to spawn anti-mass
    B:oneChancePerBrokenBlock=false

    # Blocks that, when broken, have a chance for some of their drops to become special 'anti-mass' items which float around and drop both the original item and the 'anti-mass' item added by this mod.
    # The normal item drops must be in the config as valid drops to spawn as for this to happen.
    # Use format "<modid>:<block name>[:<meta>]" (not providing a metadata value will allow for any value)
    # Ore registry names can be specified by using "ore:<ore name>"
    # Ensure you don't add any blocks that drop themselves when broken (like iron ore), to both the blocks and drops lists, otherwise players can place the block back down and mine it again for another chance at getting the special drop.
    # Redstone ore has been hardcoded such that if a player breaks lit redstone ore, the mod acts as if the player broke non-lit redstone ore.
    S:validBlocksToSpawnFrom <
        ore:oreRedstone
        ore:oreDiamond
        ore:oreLapis
        ore:oreCoal
        ore:oreQuartz
        ore:oreEmerald
     >

    # Items/blocks that, when dropped from a broken block, have a chance to become a special 'anti-mass' item that floats around and drops both the original item and the 'anti-mass' item added by this mod.
    # The broken block must be in the config as a valid block for this to happen.
    # 
    # Use format "<modid>:<block/item name>[:<meta>]"
    # Ore registry names can be specified by using "ore:<ore name>"
    # 
    # 
    S:validDropsToSpawnAs <
        ore:dustRedstone
        ore:gemDiamond
        ore:gemEmerald
        ore:gemQuartz
        ore:gemLapis
        minecraft:coal:0
     >
}


category_client {
    # Animation speed for gravity transition.Takes 1 second divided by this config value.
    D:rotationAnimationSpeed=1.5

    # Number of ticks it takes for the freezing screen effect to reach maximum opacity. 1 tick = 1/20th of a second.
    I:ticksUntilFullyFrozen=100

    # True to use the packed ice texture instead of the normal ice texture when freezing.
    B:usePackedIceTexture=false
}


category_destabilisedantimass {
    # Destabilised Anti-Mass should dissipate/be destroyed when dropped out of an inventory
    B:destroyedWhenDropped=true
}


category_extraloot {
    # True if downwards gravity anchors should be added to the fishing junk loot table
    B:addDownAnchorToFishingJunk=true

    # 'Weight' of the downwards gravity anchor added to the fishing junk loot table (higher weight = higher chance based on the weights of everything else in the loot table)
    I:downAnchorFishingJunkWeight=2

    # True if anti-mass should be added to mineshaft chest loot
    B:addGravityDustToMineshafts=true

    # 'Weight' of anti-mass added to mineshaft chests (higher weight = higher chance based on the weights of everything else in the loot table)
    I:gravityDustMineshaftWeight=5

    # Loot tables to add gravity anchors to (their direction is chosen at random)
    S:lootTablesToAddAnchorsTo <
        minecraft:chests/abandoned_mineshaft
        minecraft:chests/stronghold_corridor
        minecraft:chests/stronghold_crossing
        minecraft:chests/desert_pyramid
        minecraft:chests/jungle_temple
        minecraft:chests/simple_dungeon
     >

    # The chance that one of the above loot tables will generate a gravity anchor
    D:generalAnchorChance=0.05
}


category_fallupoutofworld {
    # Players above this height will get a freezing effect applied to them that slowly obscures their view
    D:freezingHeight=750.0

    # Players above this height will slowly lose air and take damage if they run out, similar to drowning
    D:noAirHeight=500.0

    # Players above this height will take rapid damage similar to falling out of the bottom of the world.
    D:bloodBoilHeight=2500.0

    # Damage taken each tick while blood is boiling. 4 would be the same as falling out of the bottom of the world
    D:bloodBoilDamage=4.0

    # Players above this height instantly die
    D:instantDeathHeight=5000.0
}


category_gravitonpearl {
    # Range of the Graviton Pearl's push and pull effect
    D:gravitonPearlRange=7.5

    # Set the strength of the Graviton Pearl's push and pull effect.
    # Pulled items and pushed projectiles are affected more than other entities
    D:baseGravitonPearlStrength=0.05
}


category_gravity {
    # When a player's gravity direction changes to the opposite direction, their accrued fall distance will be multiplied by this value.
    D:oppositeDirectionFallDistanceMultiplier=0.0

    # When a player's gravity direction changes to a direction other than the opposite direction, their accrued fall distance will be multiplied by this value.
    D:otherDirectionFallDistanceMultiplier=0.5

    # Number of weak gravity enablers (armor + baubles if installed) that must be worn for a player to be affected by weak gravity
    I:numWeakGravityEnablersRequiredForWeakGravity=1

    # Number of normal gravity enablers (armor + baubles if installed) that must be worn for a player to be affected by normal strength gravity
    I:numNormalGravityEnablersRequiredForNormalGravity=4

    # Weak gravity enablers count as this many normal gravity enablers.
    # This makes more sense thematically to be greater than 1, but '1' or '0' will still work.
    I:numNormalEnablersWeakEnablersCountAs=4
}


category_gravitygenerator {
    # The maximum relative Y height of gravity fields created by gravity generators, in blocks
    I:maxHeight=11

    # The maximum relative X/Z radius of gravity fields created by gravity generators, in blocks.
    # The maximum width is equal to double this value, plus one.
    I:maxRadius=5
}


##########################################################################################################
# category_modcompat
#--------------------------------------------------------------------------------------------------------#
# Up And Down changes how player motion is used to move the player. Some items may move the player in unexpected ways when used. If that's the case, try adding them to one of the below lists. The format is (text in square brackets is optional) "<mod id>:<item name>[:damage][:damage][...],<compatibility modifier>:[compatibility modifier]"
# Where a compatibility modifier is case insensitive and one of: relativeRotation, relativeMotionAll, relativeMotionX, relativeMotionY, relativeMotionZ, absoluteMotionX, absoluteMotionY or absoluteMotionZ
# These modify the player's rotation and/or motion before the item is used (and then puts the rotation/motion back to normal, taking into account any changes to motion, but NOT taking into account any changes to rotation).
# You may use a max of one type of modifier per entry (up to 1 motion modifier and up to 1 rotation modifier).
# The default state when using items is that both rotation and motion are absolute (as if the player currently has downwards gravity).
# Using relativeMotionX implies that Z and Y motion will be absolute.
# Likewise, using absoluteMotionY implies that X and Z motion will be relative.
# So if you wanted both X and Y motion to be relative, you would use absoluteMotionZ.
# Examples:
# 'minecraft:stick:0:4,relativeMotionX' - Adds a relative X motion modifier to vanilla sticks with damage values 0 and 4.
# 'tconstruct:longsword,relativeMotionAll:relativeRotation' - Adds a relative X, Y and Z motion modifier combined with a relative rotation modifier to all damage values of Tinkers' Construct Longswords.
##########################################################################################################

category_modcompat {
    # Adding an item to this list will apply the compatibility when the item is right clicked on a block. Specifically when the item's "onItemUse" method is called from within ItemStack::onItemUse.
    S:onUseOnBlock <
     >

    # Adding an item to this list will apply the compatibility when the item is right clicked on air, or on a block that doesn't open a chest/machine GUI or otherwise change state, such as right clicking on a vanilla lever. Specifically when the item's "onItemRightClick" method is called from within ItemStack::useItemRightClick.
    # The Tinkers' Construct Rapier makes the player jump upwards and backwards slightly when right clicked. We want the player to jump upwards relative to their view of the world, so we will need at least use relative Y motion for this compatibility. We also want the player to jump backwards relative to their view of the world. The rapier uses the player's pitch and yaw rotations to calculate the backwards direction and modifies X and Z motion accordingly, so we need them to be relative too.
    S:onUseGeneral <
        tconstruct:rapier,relativeMotionAll:relativeRotation
     >

    # Adding an item to this list will apply the compatibility when a player stops 'using' an item. For bows, this is when you release right click to fire an arrow.
    # 
    S:onStoppedUsing <
        tconstruct:longsword,relativeMotionAll:relativeRotation
     >
}


category_server {
    # True if the server should kick players that have different mod compatibility settings.
    B:kickPlayersWithMismatchingModCompat=false
}


category_worldgen {
    # Set to true if the dimension ID list for ore generation should be treated as a Blacklist.
    # Set to false if the dimension ID list for ore generation should be treated as a Whitelist.
    B:oreDimensionListIsBlacklist=true

    # List of dimension IDs that UpAndDown's ore generation should either generate in, or not generate in.
    # Depending on whether the list is set to act as a Whitelist or Blacklist. See "oreDimensionListIsBlacklist"
    I:oreDimensionList <
     >
}


