# Configuration file

client {
    # Clears the baked models generated in the first pass *before* entering the second pass, instead of *after*. While this doesn't reduce memory usage in-game, it does reduce it noticeably during loading. [default: true]
    B:clearDuplicateModelRegistry=true

    # The maximum amount of levels of recursion for the deduplication process. Smaller values will deduplicate less data, but make the process run faster. [default: 6, range: 1-2147483647]
    I:deduplicateModelsMaxRecursion=6

    # Disables texture animations. [default: false]
    B:disableTextureAnimations=false

    # Initialize the options.txt and forge.cfg files with rendering performance-friendly defaults if not present. [default: true]
    B:initOptions=true

    # Remove unnecessary data from a pointlessly cached ModelLoader instance. [default: true]
    B:modelLoaderCleanup=true
}


coremod {
    # Stops certain non-Minecraft-related libraries from being ASM transformed. You shouldn't be transforming those anyway. [default: true]
    B:blacklistLibraryTransformers=true

    # Make 3D forms of items be rendered dynamically and cached when necessary. [default: true]
    B:dynamicItemModels=true

    # Optimizes ItemStack.isEmpty by removing a map lookup. [default: true]
    B:fasterAirItemLookup=true

    # Speeds up World.getCollisionBoxes by being clever with when events are called. [default: true]
    B:fasterCollisionBoxes=true

    # Speeds up entity lookup by optimizing ClassInheritanceMultiMap.getByClass. [default: true]
    B:fasterEntityLookup=true

    # Speeds up the hopper's calculations. [default: true]
    B:fasterHopper=true

    # Optimizes blockstate property equals and hashCode methods. [default: true]
    B:fasterPropertyComparisons=true

    # Fixes unnecessary ghost chunkloading in vanilla. [default: true]
    B:fixUnnecessaryGhostload=true

    # Fixes the server not removing unloaded entities/tile entities if no chunkloaders are active. Thanks to CreativeMD for finding this! [default: true]
    B:fixWorldEntityCleanup=true

    # Disables all coremod functionality. [default: false]
    B:forceDisable=false

    # Optimizes BlockPos mutable/immutable getters to run on the same variables, letting them be inlined and thus theoretically increasing performance. [default: true]
    B:optimizedBlockPos=true

    # Replaces the default BlockState/ExtendedBlockState implementations with a far more memory-efficient variant. [default: true]
    B:smallPropertyStorage=true
}


experimental {
    # Optimizes the backing map for EntityDataManager, saving memory *and* CPU time! May cause issues, however - please test and report back! [default: false]
    B:fasterEntityDataManager=true

    # Implements optimizations to VertexLighter(Flat) inspired by thecodewarrior and bs2609's work. [default: true]
    B:fasterVertexLighter=true

    # Threaded, parallel model baking. [default: false]
    B:parallelModelBaking=true

    # Unpacks all baked quads. Increases RAM usage, but might speed some things up. [default: false]
    B:unpackBakedQuads=false
}


general {
    # Enable deduplication of redundant objects in memory. [default: true]
    B:deduplicate=true
}


launchwrapper {
    # Remove Launchwrapper package manifest map (which is not used anyway). [default: true]
    B:removePackageManifestMap=true

    # Weaken LaunchWrapper's byte[] resource cache to make it cleanuppable by the GC. Safe. [default: true]
    B:weakenResourceCache=true
}


staging {
    # Adjust diffuse light calculation to match vanilla facing values [default: true]
    B:pr4305=true

    # Improve performance of vertex format mapping (hashCode caching only) [default: true]
    B:pr4370=true
}


tweaks {
    # Prevent redstone from causing light updates by removing its light level. [default: false]
    B:disableRedstoneLight=false

    # Do not delay lighting updates over other types of updates. [default: false]
    B:immediateLightingUpdates=false
}


