# 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=false

    # Mode that is used to calculate the distance from camera to a raytrace end point.
    # Valid values:
    # SPHERICAL
    # CYLINDRICAL
    S:raytraceDistanceCalculator=SPHERICAL

    # Used to calculate the raytrace distance limit. Points farther away than the limit are not raytraced. Distance limit = (renderDistance * 16 + adder) * multiplier
    # Min: 0.0
    # Max: 1024.0
    D:raytraceDistanceLimitAdder=16.0

    # Used to calculate the raytrace distance limit. Points farther away than the limit are not raytraced. Distance limit = (renderDistance * 16 + adder) * multiplier
    # Min: 0.0
    # Max: 1024.0
    D:raytraceDistanceLimitMultiplier=2.0

    # 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=3.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=false

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

        # 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=256.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=256.0
    }

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

        # Min: 0.0
        # Max: 1024.0
        D:entityShadowsCullingLessAggressiveModeDiff=8.0
        B:tileEntityShadowsCulling=true
        B:tileEntityShadowsCullingLessAggressiveMode=true

        # Min: 0.0
        # Max: 1024.0
        D:tileEntityShadowsCullingLessAggressiveModeDiff=8.0
    }

}


