# Configuration file

~CONFIG_VERSION: 1

##########################################################################################################
# cache
#--------------------------------------------------------------------------------------------------------#
# Change (memory use/IO access) ratio by changing setting in this category.
##########################################################################################################

cache {
    # Size of client size cache.
    # Setting to 0 turns off this option. [range: 0 ~ 2147483647, default: 5000]
    I:fastCacheSize=5000

    # Maximum number of skin the client can request at one time. [range: 1 ~ 50, default: 10]
    I:maxSkinRequests=10

    # How long in seconds the client will keep model parts in it's cache.
    # Default 600 seconds is 10 minutes.
    # Setting to 0 turns off this option. [range: 0 ~ 3600, default: 600]
    I:modelPartCacheExpireTime=600

    # Max size the cache can reach before model parts are removed.
    # Setting to 0 turns off this option. [range: 0 ~ 10000, default: 2000]
    I:modelPartCacheMaxSize=2000

    # How long in seconds the client will keep skins in it's cache.
    # Default 600 seconds is 10 minutes.
    # Setting to 0 turns off this option. [range: 0 ~ 3600, default: 600]
    I:skinCacheExpireTime=600

    # Max size the skin cache can reach before skins are removed.
    # Setting to 0 turns off this option. [range: 0 ~ 10000, default: 2000]
    I:skinCacheMaxSize=2000

    # How long in seconds the client will keep textures in it's cache.
    # Default 600 seconds is 10 minutes.
    # Setting to 0 turns off this option. [range: 0 ~ 3600, default: 600]
    I:textureCacheExpireTime=600

    # Max size the texture cache can reach before textures are removed.
    # Setting to 0 turns off this option. [range: 0 ~ 5000, default: 1000]
    I:textureCacheMaxSize=1000
}


##########################################################################################################
# debug
#--------------------------------------------------------------------------------------------------------#
# Debug settings.
##########################################################################################################

debug {
    # Shows extra info on the F3 debug screen.
    B:showF3DebugInfo=true

    # Texture painting replacing the players texture with a painted version.
    # Turning this off may fix issues with the players texture rendering
    # incorrectly or showing the steve skin.
    # 
    # -1 = disabled
    # 0 = auto
    # 1 = texture_replace (replaces the players texture - LEGACY)
    # 2 = model_replace_mc (render using a mc model - slower, more compatible - NOT IMPLEMENTED)
    # 3 = model_replace_aw (render using a aw model - faster, less compatible)
    #  [range: -1 ~ 2, default: 0]
    I:texturePaintingType=0
}


##########################################################################################################
# misc
#--------------------------------------------------------------------------------------------------------#
# Miscellaneous settings.
##########################################################################################################

misc {
    # How long skins will display their loading animation for in milliseconds
    # Settings this to 0 will disable loading animations. [range: 0 ~ 10000, default: 200]
    I:skinLoadAnimationTime=200
}


##########################################################################################################
# performance
#--------------------------------------------------------------------------------------------------------#
# Change (visual quality/performance) ratio by changing setting in this category.
##########################################################################################################

performance {
    # Distance away that skins will have lod applied to them. [range: 8.0 ~ 128.0, default: 32.0]
    S:lodDistance=32.0

    # Number of LOD models to create. Higher number should give a boost to framerate at a small cost to VRAM. [range: 0 ~ 4, default: 4]
    I:maxLodLevels=4

    # The maximum number of threads that will be used to bake models. [range: 1 ~ 16, default: core count / 2]
    I:modelBakingThreadCount=6

    # When enabled skin will render in multiple passes to reduce visual artifacts.
    # Disabling this will improve skin rendering performance at the cost of visual quality. [default: true]
    B:multipassSkinRendering=true

    # The max distance in blocks that block skins will be rendered. [range: 16 ~ 512, default: 128]
    I:renderDistanceBlockSkin=128

    # The max distance in blocks that equipment will be rendered on mannequins. [range: 16 ~ 512, default: 64]
    I:renderDistanceMannequinEquipment=64

    # The max distance in blocks that skins will render. [range: 16 ~ 512, default: 128]
    I:renderDistanceSkin=128

    # Use classic block models instead of the 3D model versions. [default: false]
    B:useClassicBlockModels=false
}


##########################################################################################################
# skin-preview
#--------------------------------------------------------------------------------------------------------#
# Setting to configure the skin preview box.
##########################################################################################################

skin-preview {
    # Draw a background box for the skin preview. [default: true]
    B:skinPreDrawBackground=true

    # Enables a larger skin preview box when hovering the mouse over a skin. [default: true]
    B:skinPreEnabled=true

    # Skin preview will be rendered next to the mouse. [default: true]
    B:skinPreLocFollowMouse=true

    # Horizontal location of the skin preview: 0 = left, 1 = right. [range: 0.0 ~ 1.0, default: 0.0]
    S:skinPreLocHorizontal=0.0

    # Vertical location of the skin preview: 0 = top, 1 = bottom. [range: 0.0 ~ 1.0, default: 0.5]
    S:skinPreLocVertical=0.5

    # Size of the skin preview. [range: 16.0 ~ 256.0, default: 96.0]
    S:skinPreSize=96.0
}


##########################################################################################################
# tooltip
#--------------------------------------------------------------------------------------------------------#
# Setting to configure tooltips on skinned items.
##########################################################################################################

tooltip {
    # Show skin debug info on items. [default: false]
    B:tooltipDebug=false

    # Show skin flavoue text tooltip on items. [default: true]
    B:tooltipFlavour=true

    # Show has skin tooltip on skinned items. [default: true]
    B:tooltipHasSkin=true

    # Show open wardrobe message on skins. [default: true]
    B:tooltipOpenWardrobe=true

    # Show skin author tooltip on items. [default: true]
    B:tooltipSkinAuthor=true

    # Show skin name tooltip on items. [default: true]
    B:tooltipSkinName=true

    # Show skin type tooltip on items. [default: true]
    B:tooltipSkinType=true
}


