# Configuration file

exemptions {
    # Number of decimals of precision used to identify entities on your (Tile) Bounding Box Size Exemptions list [range: 0 ~ 16, default: 4]
    I:"Bounding Box Size Decimal Precision"=4

    # Entities and Tile Entities with Axis Aligned Bounding Boxes of these sizes will be exempt from culling. This is best used to exempt certain entities like players.
    # Entries are comma-separated values of the format: X size, Y size, Z size, Label (optional)
    # The number of decimal places required for the comparison will be specified by Bounding Box Size Decimal Precision. [default: [0.6000, 1.8000, 0.6000, Player / Blaze], [0.6000, 8.0000, 0.6000, Player Crawling/Swimming/Flying (Smart Moving)], [0.9800, 0.9800, 0.9800, Falling Anvil / Lit TNT], [0.5000, 0.5000, 0.5000, Arrow], [4.0000, 4.0000, 4.0000, Ghast], [1.0000, 1.0000, 1.0000, Ghast Fireball], [0.9000, 4.0000, 0.9000, Wither], [0.3125, 0.3125, 0.3125, Fireball / Wither Projectile], [0.8500, 0.8500, 0.8500, Guardian (Village Names)], [1.9975, 1.9975, 1.9975, Elder Guardian (Village Names)], [2.0000, 2.0000, 2.0000, End Crystal]]
    S:"Bounding Box Size Exemptions" <
        0.6000, 1.8000, 0.6000, Player / Blaze
        0.6000, 8.0000, 0.6000, Player Crawling/Swimming/Flying (Smart Moving)
        0.9800, 0.9800, 0.9800, Falling Anvil / Lit TNT
        0.5000, 0.5000, 0.5000, Arrow
        4.0000, 4.0000, 4.0000, Ghast
        1.0000, 1.0000, 1.0000, Ghast Fireball
        0.9000, 4.0000, 0.9000, Wither
        0.3125, 0.3125, 0.3125, Fireball / Wither Projectile
        0.8500, 0.8500, 0.8500, Guardian (Village Names)
        1.9975, 1.9975, 1.9975, Elder Guardian (Village Names)
        2.0000, 2.0000, 2.0000, End Crystal
     >

    # If Debug Messages is true, print the Bounding Boxes of all rendering entities.
    # This is useful for getting the bounding box of all rendering entities, but NOTE that this will FLOOD THE CONSOLE. Use with extreme caution! [default: false]
    B:"Debug Messages: Print Entity BB Sizes"=false

    # If Debug Messages is true, print the Bounding Boxes of all rendering tile entities.
    # This is useful for getting the bounding box of all rendering tile entities, but NOTE that this will FLOOD THE CONSOLE. Use with extreme caution! [default: false]
    B:"Debug Messages: Print Tile Entity BB Sizes"=false
}


general {
    # Apply render culling to entities [default: true]
    B:"Cull Entities"=false

    # Apply render culling to tile entities [default: true]
    B:"Cull Tile Entities"=true

    # Render distance will never go below this value (in blocks) [range: 0 ~ 1024, default: 8]
    I:"Minimum Render Distance"=8

    # Render distance is based on the median value of this many previous frame render times. Higher values are more computationally expensive but result in less flicker caused by render spikes. [range: 1 ~ 64, default: 4]
    I:"Render Buffer Frame Window"=4

    # Render distance will not update if the calculated range is within this distance tolerance (in blocks) [range: 1 ~ 1024, default: 2]
    I:"Render Distance Update Tolerance"=2

    # Dynamic rendering calibration value. For a frame rate of X FPS, entities and tile entities only render within a view frustum of volume X times this value.
    # 256 corresponds to about a render distance of 31 at the default Minecraft FOV and aspect ratio and at 60 FPS.
    # Set to lower values to preserve higher frame rate, and higher values to render more things. [range: 1 ~ 2097152, default: 256]
    I:"Render Frustum Volume Per Frame Rate (RV/FR)"=256

    # If the longest side of an entity's Axis-Aligned Bounding Boxes is N, it will be culled at a distance of N times the render distance. [default: false]
    B:"Scale Render Distance With Size"=false

    # Render distance is only calculated at intervals of this many milliseconds. Good for lowering both computation and flicker. [range: 1 ~ 100000, default: 200]
    I:"Update Interval"=200
}


miscellaneous {
    # Set this to false to deacactivate the in-game config GUI, in case it conflicts with other mods. [default: true]
    B:"Allow in-game config access"=true

    # Prints diagnostic messages to the console [default: false]
    B:"Debug Messages"=false

    # Displays a client-side chat message on login if there's an update available. If the URL pinged by the checker happens to be down, your game will freeze for a while on login. Turn this on at your own risk. [default: false]
    B:"Version Checker"=false
}


