#video settings defaults
underwaterOverlay = false
oldHandLight      = true
oldLighting       = false
vignette          = false

#config screen organization
screen            = [BLUR] [WATER] [BLOCK] [FOLIAGE] [AMBIENT] [SKY] [MISC] [INTERNAL]
screen.WATER      = WATER_WAVE_STRENGTH WATER_REFRACT REFRACT_AMOUNT WATER_NORMALS UNDERWATER_FOG CLEAR_WATER INFINITE_OCEANS
screen.BLUR       = BLUR_ENABLED BLUR_QUALITY WATER_BLUR UNDERWATER_BLUR GLASS_BLUR ICE_BLUR
screen.FOLIAGE    = REMOVE_XZ_OFFSET REMOVE_Y_OFFSET GRASS_PATCHES HUMIDITY_OFFSET WAVING_GRASS WAVING_LEAVES WAVING_VINES GRASS_AO LEGACY_SUGARCANE
screen.SKY        = FANCY_STARS GALAXIES EXCLUSION_RADIUS OVERWORLD_HORIZON_HEIGHT CLOUDS OLD_CLOUDS CLOUD_DENSITY_AVERAGE CLOUD_DENSITY_VARIANCE CLOUD_NORMALS <empty> VOID_CLOUDS VOID_CLOUD_HEIGHT ENDER_NEBULAE ENDER_ARCS ENDER_STARS <empty> TF_AURORAS TF_HORIZON_HEIGHT
screen.AMBIENT    = [FOG] [EYE_ADJUST] UNDERWATER_FOG HARDCORE_DARKNESS DESATURATE_NIGHT DESATURATE_RAIN DESATURATE_END CROSS_PROCESS VANILLA_LIGHTMAP SHADE_STRENGTH WAVING_RAIN RAINBOWS HEAT_REFRACTION
screen.EYE_ADJUST = EYE_ADJUST_OVERWORLD_DARK EYE_ADJUST_OVERWORLD_LIGHT EYE_ADJUST_NETHER_DARK EYE_ADJUST_NETHER_LIGHT EYE_ADJUST_END_DARK EYE_ADJUST_END_LIGHT EYE_ADJUST_TF_DARK EYE_ADJUST_TF_LIGHT
screen.FOG        = FOG_ENABLED_OVERWORLD FOG_DENSITY_MULTIPLIER_OVERWORLD FOG_ENABLED_NETHER FOG_DISTANCE_MULTIPLIER_NETHER FOG_ENABLED_END FOG_DISTANCE_MULTIPLIER_END FOG_ENABLED_TF FOG_DISTANCE_MULTIPLIER_TF UNDERWATER_FOG FOG_HEIGHT_MULTIPLIER_OVERWORLD
screen.BLOCK      = [END_PORTAL_DIM_SELECT] [WATER] ICE_REFRACT ICE_NORMALS REFLECT LAVA_PATCHES LAVA_WAVE_STRENGTH SOUL_LAVA JUMPING_DRAGON_EGGS FANCY_BEACONS WET_DIRT
screen.INTERNAL   = SUN_POSITION_FIX BRIGHT_PORTAL_FIX TF_SKY_FIX CUSTOM_SKY_FIX THRESHOLD_ALPHA SEA_LEVEL NETHER_LAVA_LEVEL
screen.MISC       = *

screen.END_PORTAL_DIM_SELECT    = [END_PORTAL_DIM_OVERWORLD] [END_PORTAL_DIM_NETHER] [END_PORTAL_DIM_END] [END_PORTAL_DIM_TF]
screen.END_PORTAL_DIM_OVERWORLD = END_PORTAL_EFFECTS_OVERWORLD END_PORTAL_BACKGROUND_OVERWORLD END_PORTAL_FOREGROUND_OVERWORLD END_PORTAL_CLOUDS_OVERWORLD
screen.END_PORTAL_DIM_NETHER    = END_PORTAL_EFFECTS_NETHER END_PORTAL_BACKGROUND_NETHER END_PORTAL_FOREGROUND_NETHER END_PORTAL_CLOUDS_NETHER
screen.END_PORTAL_DIM_END       = END_PORTAL_EFFECTS_END END_PORTAL_BACKGROUND_END END_PORTAL_FOREGROUND_END END_PORTAL_CLOUDS_END
screen.END_PORTAL_DIM_TF        = END_PORTAL_EFFECTS_TF END_PORTAL_BACKGROUND_TF END_PORTAL_FOREGROUND_TF END_PORTAL_CLOUDS_TF

sliders = BLUR_QUALITY WATER_BLUR UNDERWATER_BLUR GLASS_BLUR ICE_BLUR \
CLOUD_DENSITY_AVERAGE CLOUD_DENSITY_VARIANCE VOID_CLOUD_HEIGHT \
FOG_DENSITY_MULTIPLIER_OVERWORLD FOG_DISTANCE_MULTIPLIER_NETHER FOG_DISTANCE_MULTIPLIER_END FOG_DISTANCE_MULTIPLIER_TF FOG_HEIGHT_MULTIPLIER_OVERWORLD \
OVERWORLD_HORIZON_HEIGHT TF_HORIZON_HEIGHT \
DESATURATE_NIGHT DESATURATE_RAIN DESATURATE_END \
DYNAMIC_LIGHT_FLICKER DYNAMIC_LIGHT_VIGNETTE \
EYE_ADJUST_OVERWORLD_DARK EYE_ADJUST_OVERWORLD_LIGHT EYE_ADJUST_NETHER_DARK EYE_ADJUST_NETHER_LIGHT EYE_ADJUST_END_DARK EYE_ADJUST_END_LIGHT EYE_ADJUST_TF_DARK EYE_ADJUST_TF_LIGHT \
SEA_LEVEL WATER_WAVE_STRENGTH REFRACT_AMOUNT \
NETHER_LAVA_LEVEL LAVA_WAVE_STRENGTH \
HUMIDITY_OFFSET EXCLUSION_RADIUS THRESHOLD_ALPHA SHADE_STRENGTH sunPathRotation HEAT_REFRACTION

#custom textures
texture.gbuffers.gaux1 = /textures/overworld.png
texture.gbuffers.gaux2 = /textures/end_island.png

#ensure that blur does not have a different horizontal vs. vertical radius when using a non-standard rendering quality
scale.world0/composite2  = 1.0
scale.world1/composite1  = 1.0
scale.world-1/composite1 = 1.0
scale.world7/composite1  = 1.0

#uniforms
uniform.float.adjustedTime = abs((((worldTime / 1000.0) + 6.0) % 24.0) - 12.0)
uniform.float.day          = clamp(6.7 - adjustedTime, 0.0, 1.0)
uniform.float.night        = clamp(adjustedTime - 6.7, 0.0, 1.0)
uniform.float.sunset       = (1.0 - day) - night
uniform.float.phase        = abs((moonPhase * 0.25) - 1.0)

uniform.float.pixelSizeX   = 1.0 / viewWidth
uniform.float.pixelSizeY   = 1.0 / viewHeight

uniform.float.fov = atan(1.0 / gbufferProjection.0.0)

uniform.vec3.actualCameraPosition = vec3(cameraPosition.x + gbufferModelViewInverse.3.0, cameraPosition.y + gbufferModelViewInverse.3.1, cameraPosition.z + gbufferModelViewInverse.3.2)

uniform.float.inSoulSandValley = smooth(if(biome == BIOME_SOUL_SAND_VALLEY, 1.0, 0.0), 10, 10)
uniform.float.inBasaltDeltas = smooth(if(biome == BIOME_BASALT_DELTAS, 1.0, 0.0), 10, 10)

variable.float.invSunMagnitude = 1.0 / sqrt(sunPosition.x * sunPosition.x + sunPosition.y * sunPosition.y + sunPosition.z * sunPosition.z)
uniform.vec3.sunPosNorm = vec3(sunPosition.x * invSunMagnitude, sunPosition.y * invSunMagnitude, sunPosition.z * invSunMagnitude)

variable.float.invUpMagnitude = 1.0 / sqrt(upPosition.x * upPosition.x + upPosition.y * upPosition.y + upPosition.z * upPosition.z)
uniform.vec3.upPosNorm = vec3(upPosition.x * invUpMagnitude, upPosition.y * invUpMagnitude, upPosition.z * invUpMagnitude)