# Configuration file

general {
    # Ideally should be set to equal the render distance. Ram usage (in Bytes) = 1063 * (2x + 1) ^ 3
    I:cacheSize=12
    B:debugCullInfo=false
    B:debugRenderBoxes=false
    B:disabledInSpectator=true

    # If you have a weak CPU enabling this option might help reducing the CPU usage.
    B:enableRaytraceCache=false

    # Disable all changes from this mod (This is not equal to removing the mod!).
    B:enabled=true

    # If enabled and OpenGl 4.4 is supported OpenGl based culling is used which is a lot faster and more accurate. If you have a weak GPU you might want to disable this.
    B:openglBasedCulling=true

    # If you feel the need to increase this value because of entities being culled falsely then another modder probably messed up their render bounding boxes and you should report the issue to them. Alternatively you can use the (tile-)entityBoundingBoxGrowthList settings to fix bounding boxes on your own.
    # Min: 0.0
    # Max: 1024.0
    D:raytraceThreshold=1.0

    # If enabled tile entity bounding boxes are increased slightly to avoid issues when other mods don't correctly set their bounding boxes (requires opengl based culling). If you still have culling or flickering issues you can use the 'debugRenderBoxes', 'entityBoundingBoxGrowthList' and 'tileEntityBoundingBoxGrowthList' config options to try to fix the bounding box of that entity or tile entity.
    B:tileEntityAABBGrowth=true

    # Tile entities whose bounding boxes won't be cached (Accepts 'modid' or 'modid:tileentity').
    S:tileEntityCachedBoundingBoxBlacklist <
     >

    # Most tile entities have static bounding boxes and thus they can be cached. Tile entities whose bounding boxes are likely to change every frame or so should be added to the blacklist. Tile entities whose bounding only change every once in a while should be covered by cache updates (update speed adjustable through tileEntityCachedBoundingBoxUpdateInterval)
    B:tileEntityCachedBoundingBoxEnabled=true

    # Every frame there is a 1 in x chance to update the cached bounding box. Higher = better performance, Lower = tile entities with dynamic bounding boxes get updated faster.
    # Min: 1
    # Max: 1000000
    I:tileEntityCachedBoundingBoxUpdateInterval=100

    entity {
        B:alwaysRenderBosses=true
        B:alwaysRenderEntitiesWithName=true
        B:alwaysRenderPlayers=true
        B:alwaysRenderViewEntity=true

        # Allows you to increase the render bounding boxes of entities (or all entities of a mod). Width increases the size on the X and Z axis. Top increases the size in the positive Y direction. Bottom increases the size in the negative Y direction. (Accepts 'modid=width,top,bottom' or 'modid:entity=width,top,bottom').
        S:entityBoundingBoxGrowthList <
         >

        # Skip rendering of entities that are not visible (hidden behind blocks). This might cause issues where an entity is partly behind a block and thus does not get rendered but it's usually not really noticable.
        B:skipHiddenEntityRendering=true

        # Tile entities which will always be rendered. (Accepts 'modid' or 'modid:entity_name')
        S:skipHiddenEntityRenderingBlacklist <
         >

        # Entities with a width or height greater than this value will always get rendered.
        # Min: 0.0
        # Max: 1024.0
        D:skipHiddenEntityRenderingSize=16.0
    }

    tileentity {
        # Skip rendering of entities that are not visible (hidden behind blocks). This might cause issues where a tile entity is partly behind a block and thus does not get rendered but it's usually not really noticable.
        B:skipHiddenTileEntityRendering=true

        # Tile entities which will always be rendered. (Accepts 'modid' or 'modid:tile_entity_name')
        S:skipHiddenTileEntityRenderingBlacklist <
         >

        # Tile entities with a width or height greater than this value will always get rendered.
        # Min: 0.0
        # Max: 1024.0
        D:skipHiddenTileEntityRenderingSize=16.0

        # Allows you to increase the render bounding boxes of tile entities (or all entities of a mod). Width increases the size on the X and Z axis. Top increases the size in the positive Y direction. Bottom increases the size in the negative Y direction. (Accepts 'modid=width,top,bottom' or 'modid:tileentity=width,top,bottom').
        S:tileEntityBoundingBoxGrowthList <
         >
    }

    optifineshaderoptions {
        B:entityShadowsCulling=true
        B:entityShadowsCullingLessAggressiveMode=true

        # Min: 0.0
        # Max: 1024.0
        D:entityShadowsCullingLessAggressiveModeDiff=4.0
        B:entityShadowsDistanceLimited=true
        B:entityShadowsEnabled=true

        # Min: 0.0
        # Max: 1024.0
        D:entityShadowsMaxDistance=4.0
        B:terrainShadowsDistanceLimited=true
        B:terrainShadowsEnabled=true

        # Min: 0.0
        # Max: 1024.0
        D:terrainShadowsMaxHorizontalDistance=8.0

        # Min: 0.0
        # Max: 1024.0
        D:terrainShadowsMaxVerticalDistance=4.0
        B:tileEntityShadowsCulling=true
        B:tileEntityShadowsCullingLessAggressiveMode=true

        # Min: 0.0
        # Max: 1024.0
        D:tileEntityShadowsCullingLessAggressiveModeDiff=4.0
        B:tileEntityShadowsDistanceLimited=true
        B:tileEntityShadowsEnabled=true

        # Min: 0.0
        # Max: 1024.0
        D:tileEntityShadowsMaxDistance=4.0
    }

}


