# 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 {
    # Prevents BlockInfo from generating as many BlockPos objects; also, fixes a lighting bug. [default: true]
    B:optimizedBlockInfo=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
}


experimental {
    B:optimizedBlockPos=true

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


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


launchwrapper {
    # Dummy out LaunchWrapper's unused package manifest map. This will only break things if some other mod reflects into the LaunchClassLoader to get the private map, which as far as I know is not the case. [default: true]
    B:dummyPackageManifestMap=true

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


