# Configuration file

00_modules {
    # Enables the Triangulator module. This also includes the ambient occlusion and smooth lighting fix,along with the block crack fix.
    # If you want to use those fixes without having triangulated meshes, set the ENABLE_QUAD_TRIANGULATION
    # property to false in the triangulator category.
    # FPS impact: Small performance decrease, but smooth lighting will look way better.
    # [default: true]
    B:TRIANGULATOR=true

    # Replaces the minecraft profiler with fully custom logic (used in the Shift+F3 pie chart)
    # Also check the profiler config category!
    # FPS impact: Slightly faster profiler
    # [default: true]
    B:ADVANCED_PROFILER=true

    # Dropped and held items are re-rendered every frame, generating a lot of
    # unnecessary CPU load because of the very inefficient way the rendering is done.
    # With this enabled, FalseTweaks will cache pre-rendered versions of items into RenderLists
    # (same things that chunks use) to minimize the amount of work done by the cpu for every single item.
    # FPS impact: Decent improvement with lots of items on ground
    # [default: true]
    B:ITEM_RENDER_LISTS=true

    # Optimizes the way forge scans the classpath during launch.
    # Not compatible with some badly-written mods.
    # FPS impact: None, but makes startup a bit faster
    # [default: true]
    B:STARTUP_OPTIMIZATIONS=true

    # Beacons also have an optimization using renderlists. If you spot any issues related to beacons,
    # you can toggle said optimization here.
    # FPS impact: Tiny improvement near beacons
    # [default: true]
    B:BEACON_OPTIMIZATION=true

    # Another renderlist tweak. Minecraft preallocates 55 thousand renderlists for the chunk rendering.
    # The main advantage of this is reduced buffer allocations, so theoretically, it's faster.
    # Unfortunately, by not clearing these buffers, they start leaking a LOT of memory over time,
    # which gets emphasized on modern AMD windows drivers, and on MESA with linux. This patch
    # Replaces the preallocated block by a dynamic allocation system, with each chunk creating and
    # deleting these renderlists based on usage. Requires a game restart to apply.
    # NOTICE FOR OPTIFINE USERS:
    # Setting this to Auto or Enable blocks Smooth and Multi-Core chunkloading. If you want multicore
    # chunk loading, you MUST set this do Disable.
    # NOTICE FOR NEODYMIUM USERS:
    # If you use Neodymium, this module will automatically disable itself when set to Auto. Set it to
    # Enable to bypass.
    # FPS impact: It depends
    # [default: Auto, possible values: [Disable, Auto, Enable]]
    S:MEMORY_LEAK_FIX=Auto

    # Transparent tile entities (beacons, for instance) might render behind other tile entities that are
    # actually BEHIND the transparent part. Sorting the tile entities before rendering fixes this bug.
    # FPS impact: Slight decrease
    # [default: false]
    B:TE_TRANSPARENCY_FIX=false

    # Improves the mipmap system of minecraft with 2 things:
    # 1. Every tiny texture is upscaled to at least 16x16 to allow for 4 mipmap levels, even if a mod has a texture smaller than 16x16.
    # 2. Replaces the mipmap generation with a multithreaded system, which scales with the number of cores in your system.
    # FPS impact: none, but resource pack reload times (and startup time) are cut down by a lot
    # [default: true]
    B:MIPMAP_FIX=true

    # Enable/Disable texture optimizations. This includes:
    # - Multithreaded animated textures
    # - Faster texture atlas packing during startup
    # FPS impact: Reduced stuttering in heavily modded packs
    # [default: true]
    B:TEXTURE_OPTIMIZATIONS=true

    # Enable/Disable item voxelization. This fixes a huge amount of item render issues, but is still
    # an experimental feature.
    # Also includes the 3D rails.
    # [default: true]
    B:VOXELIZER=false
}


item_render_lists {
    # The total amount of renderlists FalseTweaks may allocate for optimized item rendering.
    # When the limit is exceeded, the render list that was used the longest time ago gets released.
    # Bigger buffer sizes use more VRAM, but also get a higher average performance.
    # 256 should be good enough for most modded games, and going above 1024 is not recommended unless
    # you have a lot of VRAM.
    # (Only useful if you have ITEM_RENDERLISTS turned on)
    # FPS impact: zero when tuned right
    # [range: 64 ~ 2147483647, default: 256]
    I:MAX_BUFFER_SIZE=256
}


memory_leak_fix {
    # The memory leak optimization unfortunately increases the amount of calls sent to the GPU.
    # This pressure can be reduced with the help of caching, which temporarily stores inactive renderlists
    # in a buffer, where renderers can then fetch them from when needed.
    # You can set this to any value above zero, but setting it too high will eat a LOT of VRAM. 1024 is
    # a decent safe point.
    # FPS impact: zero when tuned right
    # [range: 0 ~ 2147483647, default: 1024]
    I:CACHE_SIZE_TARGET=1024
}


profiler {
    # Enable this to dump the profiler data to a file when the F3 profiler is closed.
    # [default: false]
    B:DUMP_ON_CLOSE=false
}


triangulator {
    # Block corners and edges between chunks might have "cracks" in them. This option fixes it.
    # FPS impact: None
    # [default: true]
    B:FIX_BLOCK_CRACK=true

    # The "epsilon" value for the block crack fix inside chunks. Set this a bit higher if you can
    # still see light leaking between solid blocks in dark areas.
    # Advanced setting.
    # FPS impact: None
    # [range: 0.0 ~ 0.005, default: 5.0E-4]
    D:BLOCK_CRACK_FIX_EPSILON=5.0E-4

    # Try setting this to true if the game crashes with a mixin conflict inside RenderBlocks.
    # FPS impact: Minor decrease
    # [default: false]
    B:RENDER_HOOK_COMPAT_MODE=false

    # Used to toggle the namesake feature of this mod: quad triangulation.
    # If you turn this off, the triangulation will not execute, but you will still have the AO and the
    # smooth lighting fixes.
    # Triangulation fixes an issue with incorrectly-aligned quads causing a minor visual bug, however,
    # on weaker systems, it may noticeably decrease render performance (integrated graphics).
    # By sacrificing a bit of visual quality, you might get back a few extra FPS depending on your system.
    # FPS impact: System-dependent. Intel iGPUs struggle when this is enabled.
    # [default: true]
    B:ENABLE_QUAD_TRIANGULATION=false

    # Block classes that have bugs when rendering with the crack fix can be put here to avoid manipulating them
    # .
    # [fixed length: no, max length: 256]
    # [max string length: 256, default: "["net.minecraft.block.BlockCauldron", "net.minecraft.block.BlockStairs"]"]
    S:BLOCK_CRACK_FIX_BLACKLIST <
        net.minecraft.block.BlockCauldron
        net.minecraft.block.BlockStairs
     >
}


voxelizer {
    # Classes to disable voxelization for. Used to fix issues with certain items.
    # This is an instanceof check, so superclasses are also checked.
    # Needs a game restart to apply changes (cached for performance).
    # [fixed length: no, max length: 256]
    # [max string length: 256, default: "["cofh.lib.render.IFluidOverlayItem"]"]
    S:CLASS_EXCLUSION_LIST <
        cofh.lib.render.IFluidOverlayItem
     >

    # The thickness of the 3D rails. Doesn't require game restart. 1 is vanilla thickness.
    # FPS impact: basically none
    # [range: -1.7976931348623157E308 ~ 1.7976931348623157E308, default: 1.0]
    D:RAIL_THICKNESS=1.0

    # Makes rails 3-dimensional. Doesn't require game restart.
    # FPS impact: basically none
    # [default: true]
    B:RAILS_3D=true

    # You can use this property to fix any incorrectly detected overlays.
    # Syntax: texture_name=layer, where layer is the multiplier.
    # The default behaviour is that if the texture name ends with _overlay, its layer is set to 1,
    # This can be used to override that.
    # For reference: layer 0 is regular rendering, layer 1 is on top layer 0, layer 2 is on top of layer 1, etc.
    # Also supports negatives, but going below -1 is undefined behaviour. (-1 is used for the liquid inside potions by default)
    # [fixed length: no, max length: 256]
    # [max string length: 256, default: "["potion_overlay=-1"]"]
    S:FORCED_LAYERS <
        potion_overlay=-1
     >

    # The merging strategy preset to use for the voxelized mesh optimization.
    # Set this higher if you have a strong cpu and weak gpu, and set this lower if you have a weak cpu and strong gpu.
    # FPS impact: Depends on setup.
    # [default: Best_2, possible values: [Fast_1, Unoptimized_0, Best_2]]
    S:MESH_OPTIMIZATION_STRATEGY_PRESET=Best_2

    # If set to true, the mesh compiler will print out detailed information when textures are compiled
    # into meshes.
    # [default: false]
    B:DEBUG_MESH_COMPILATION=false

    # Item textures to disable voxelization for. Used to fix issues with certain items.
    # This is a PREFIX check, so you can also just specify a mod ID, and all items from it will skip getting voxelized.
    # Needs a game restart to apply changes (cached for performance).
    # Syntax: modid:texturename
    # [fixed length: no, max length: 256]
    # [max string length: 256, default: "["avaritia:infinity"]"]
    S:EXCLUSION_LIST <
        avaritia:infinity
     >
}


