# 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

    # Enable deduplication of redundant objects in memory. [default: true]
    B:deduplicateModels=true

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


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
    B:fasterSideTransformer=true

    # 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 Class.getSimpleName in World.updateEntities with getName. As Class.getName's output is cached, unlike getSimpleName, this should provide a small performance boost. [default: true]
    B:replaceWorldSimpleName=true

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


experimental {
    B:chunkedBlockInfo=false

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

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


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


general {
    # Makes large FML registries scale their availability BitSets dynamically, saving ~48MB of RAM. [default: true]
    B:dynamicRegistrySizeScaling=true
}


launchwrapper {
    B:dummyPackageManifestMap=true

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


