# Profiles
    profile.POTATO   = SHADOW_QUALITY=-1 shadowDistance=64.0 WATER_REFLECT_QUALITY=1 BLOCK_REFLECT_QUALITY=0 LIGHTSHAFT_QUALI_DEFINE=0 SSAO_QUALI_DEFINE=2 FXAA_DEFINE=-1 DETAIL_QUALITY=0 CLOUD_QUALITY=1 ANISOTROPIC_FILTER=0 COLORED_LIGHTING=0 WORLD_SPACE_REFLECTIONS=-1 ENTITY_SHADOW=-1
    profile.VERYLOW  = SHADOW_QUALITY=0 shadowDistance=64.0 WATER_REFLECT_QUALITY=1 BLOCK_REFLECT_QUALITY=0 LIGHTSHAFT_QUALI_DEFINE=0 SSAO_QUALI_DEFINE=2 FXAA_DEFINE=-1 DETAIL_QUALITY=0 CLOUD_QUALITY=1 ANISOTROPIC_FILTER=0 COLORED_LIGHTING=0 WORLD_SPACE_REFLECTIONS=-1 ENTITY_SHADOW=-1
    profile.LOW      = SHADOW_QUALITY=0 shadowDistance=96.0 WATER_REFLECT_QUALITY=2 BLOCK_REFLECT_QUALITY=1 LIGHTSHAFT_QUALI_DEFINE=0 SSAO_QUALI_DEFINE=2 FXAA_DEFINE=-1 DETAIL_QUALITY=2 CLOUD_QUALITY=2 ANISOTROPIC_FILTER=0 COLORED_LIGHTING=0 WORLD_SPACE_REFLECTIONS=-1 ENTITY_SHADOW=-1
    profile.MEDIUM   = SHADOW_QUALITY=1 shadowDistance=128.0 WATER_REFLECT_QUALITY=2 BLOCK_REFLECT_QUALITY=1 LIGHTSHAFT_QUALI_DEFINE=1 SSAO_QUALI_DEFINE=2 FXAA_DEFINE=1 DETAIL_QUALITY=2 CLOUD_QUALITY=2 ANISOTROPIC_FILTER=0 COLORED_LIGHTING=0 WORLD_SPACE_REFLECTIONS=-1 ENTITY_SHADOW=-1
    profile.HIGH     = SHADOW_QUALITY=2 shadowDistance=192.0 WATER_REFLECT_QUALITY=2 BLOCK_REFLECT_QUALITY=3 LIGHTSHAFT_QUALI_DEFINE=2 SSAO_QUALI_DEFINE=2 FXAA_DEFINE=1 DETAIL_QUALITY=2 CLOUD_QUALITY=2 ANISOTROPIC_FILTER=0 COLORED_LIGHTING=0 WORLD_SPACE_REFLECTIONS=-1 ENTITY_SHADOW=1
    profile.VERYHIGH = SHADOW_QUALITY=3 shadowDistance=224.0 WATER_REFLECT_QUALITY=2 BLOCK_REFLECT_QUALITY=3 LIGHTSHAFT_QUALI_DEFINE=2 SSAO_QUALI_DEFINE=2 FXAA_DEFINE=1 DETAIL_QUALITY=3 CLOUD_QUALITY=3 ANISOTROPIC_FILTER=8 COLORED_LIGHTING=256 WORLD_SPACE_REFLECTIONS=-1 ENTITY_SHADOW=1
    profile.ULTRA    = SHADOW_QUALITY=4 shadowDistance=256.0 WATER_REFLECT_QUALITY=2 BLOCK_REFLECT_QUALITY=3 LIGHTSHAFT_QUALI_DEFINE=3 SSAO_QUALI_DEFINE=2 FXAA_DEFINE=1 DETAIL_QUALITY=3 CLOUD_QUALITY=3 ANISOTROPIC_FILTER=8 COLORED_LIGHTING=512 WORLD_SPACE_REFLECTIONS=1 ENTITY_SHADOW=1

# Screen Setup
    screen=<empty> <empty> [SPOOKY_SETTINGS] [AUTHOR_SETTINGS] [INFORMATION] SHADER_STYLE <profile> RP_MODE <empty> <empty> [PERFORMANCE_SETTINGS] [CAMERA_SETTINGS] [LIGHTING_SETTINGS] [ATMOSPHERE_SETTINGS] [MATERIAL_SETTINGS] [OTHER_SETTINGS]

    screen.INFORMATION=<empty> <empty> info0 <empty> <empty> <empty> info11 info12 info1 info2 info3 info4 info5 info8 info9 info10

    screen.AUTHOR_SETTINGS=<empty> [SPOOKY_SETTINGS] info12 info13
    screen.AUTHOR_SETTINGS.columns=1

    screen.PERFORMANCE_SETTINGS=<profile> <empty> <empty> <empty> SHADOW_QUALITY shadowDistance LIGHTSHAFT_QUALI_DEFINE DETAIL_QUALITY CLOUD_QUALITY FXAA_DEFINE SSAO_QUALI_DEFINE ANISOTROPIC_FILTER WATER_REFLECT_QUALITY BLOCK_REFLECT_QUALITY COLORED_LIGHTING WORLD_SPACE_REFLECTIONS ENTITY_SHADOW

    screen.MATERIAL_SETTINGS=<empty> <empty> [IPBR_SETTINGS] [CUSTOM_PBR_SETTINGS] <empty> <empty> [WATER_SETTINGS] [WAVING_SETTINGS] RAIN_PUDDLES SPECIAL_PORTAL_EFFECTS REFLECTION_RES
        screen.IPBR_SETTINGS=<empty> <empty> GENERATED_NORMALS COATED_TEXTURES GENERATED_NORMAL_MULT COATED_TEXTURE_MULT ENTITY_GN_AND_CT <empty> <empty> <empty> [GLOWING_ORE_SETTINGS] [GLOWING_STUFF_SETTINGS] [OTHER_IPBR_SETTINGS]
            screen.GLOWING_ORE_SETTINGS=<empty> <empty> GLOWING_ORE_MASTER GLOWING_ORE_MULT <empty> <empty> GLOWING_ORE_IRON GLOWING_ORE_GOLD GLOWING_ORE_COPPER GLOWING_ORE_REDSTONE GLOWING_ORE_LAPIS GLOWING_ORE_EMERALD GLOWING_ORE_DIAMOND GLOWING_ORE_NETHERQUARTZ GLOWING_ORE_NETHERGOLD GLOWING_ORE_GILDEDBLACKSTONE GLOWING_ORE_ANCIENTDEBRIS GLOWING_ORE_MODDED
            screen.GLOWING_STUFF_SETTINGS=<empty> <empty> GLOWING_AMETHYST GLOWING_LICHEN EMISSIVE_REDSTONE_BLOCK EMISSIVE_LAPIS_BLOCK GLOWING_ARMOR_TRIM
            screen.OTHER_IPBR_SETTINGS=<empty> <empty> IPBR_EMISSIVE_MODE IPBR_PARTICLE_FEATURES IPBR_COMPAT_MODE_DEFINE FANCY_GLASS GREEN_SCREEN_LIME
        screen.CUSTOM_PBR_SETTINGS=<empty> <empty> NORMAL_MAP_STRENGTH CUSTOM_EMISSION_INTENSITY <empty> <empty> POM POM_DEPTH POM_QUALITY POM_DISTANCE POM_LIGHTING_MODE POM_ALLOW_CUTOUT <empty> <empty> DIRECTIONAL_BLOCKLIGHT
        screen.WATER_SETTINGS=<empty> <empty> WATER_STYLE_DEFINE WATER_CAUSTIC_STYLE_DEFINE <empty> <empty> [WATER_COLOR_SETTINGS] [UNDERWATER_COLOR_SETTINGS] WATERCOLOR_MODE BRIGHT_CAVE_WATER WATER_ALPHA_MULT WATER_FOG_MULT WATER_FOAM_I WATER_REFRACTION_INTENSITY WAVING_WATER_VERTEX [WATER_WAVE_SETTINGS]
            screen.WATER_COLOR_SETTINGS=<empty> <empty> WATERCOLOR_R WATERCOLOR_G WATERCOLOR_B
            screen.UNDERWATER_COLOR_SETTINGS=<empty> <empty> UNDERWATERCOLOR_R UNDERWATERCOLOR_G UNDERWATERCOLOR_B
            screen.WATER_WAVE_SETTINGS=<empty> <empty> WATER_BUMPINESS WATER_BUMP_SMALL WATER_BUMP_MED WATER_BUMP_BIG WATER_SPEED_MULT WATER_SIZE_MULT
        screen.WAVING_SETTINGS=<empty> <empty> WAVING_FOLIAGE WAVING_LEAVES WAVING_WATER_VERTEX WAVING_LAVA WAVING_LILY_PAD WAVING_RAIN <empty> <empty> WAVING_SPEED WAVING_I NO_WAVING_INDOORS WAVING_I_RAIN_MULT
    screen.CAMERA_SETTINGS=<empty> <empty> [TONEMAP_SETTINGS] [WORLD_BLUR_SETTINGS] BLOOM_ENABLED BLOOM_STRENGTH VIGNETTE_R IMAGE_SHARPENING UNDERWATER_DISTORTION CHROMA_ABERRATION MOTION_BLUR_EFFECT MOTION_BLURRING_STRENGTH LENSFLARE_MODE LENSFLARE_I TAA_MODE DISTANT_LIGHT_BOKEH
        screen.TONEMAP_SETTINGS=<empty> <empty> TM_EXPOSURE TM_CONTRAST T_SATURATION T_VIBRANCE TM_DARK_DESATURATION TM_WHITE_PATH <empty> <empty> [COLORGRADING_SETTINGS]
            screen.COLORGRADING_SETTINGS=<empty> <empty> COLORGRADING <empty> GR_RR GR_GR GR_RG GR_GG GR_RB GR_GB GR_BR GR_RC GR_BG GR_GC GR_BB GR_BC
        screen.WORLD_BLUR_SETTINGS=<empty> <empty> WORLD_BLUR WB_FOV_SCALED WB_CHROMATIC WB_ANAMORPHIC <empty> <empty> WB_DOF_I WB_DOF_FOCUS <empty> <empty> WB_DB_DAY_I WB_DB_NIGHT_I WB_DB_RAIN_I WB_DB_WATER_I WB_DB_NETHER_I WB_DB_END_I
    screen.ATMOSPHERE_SETTINGS=<empty> <empty> [ATM_COLOR_SETTINGS] [CLOUD_SETTINGS] [FOG_SETTINGS] [SUN_MOON_SETTINGS] [NETHER_SETTINGS] [WEATHER_SETTINGS] AURORA_STYLE_DEFINE AURORA_CONDITION NIGHT_NEBULAE NIGHT_NEBULA_I NIGHT_STAR_AMOUNT RAINBOWS
        screen.CLOUD_SETTINGS=<empty> <empty> CLOUD_STYLE_DEFINE <empty> <empty> <empty> CLOUD_ALT1 CLOUD_SPEED_MULT CLOUD_CLOSED_AREA_CHECK CLOUD_SHADOWS [CLOUD_COLOR_SETTINGS] <empty> <empty> <empty> [CLOUD_UNBOUND_SETTINGS] [CLOUD_REIMAGINED_SETTINGS]
            screen.CLOUD_COLOR_SETTINGS=<empty> <empty> CLOUD_R CLOUD_G CLOUD_B
            screen.CLOUD_UNBOUND_SETTINGS=<empty> <empty> CLOUD_UNBOUND_AMOUNT CLOUD_UNBOUND_SIZE_MULT CLOUD_UNBOUND_RAIN_ADD
            screen.CLOUD_REIMAGINED_SETTINGS=<empty> <empty> DOUBLE_REIM_CLOUDS CLOUD_ALT2
        screen.FOG_SETTINGS=<empty> <empty> BORDER_FOG CAVE_FOG ATM_FOG_MULT ATM_FOG_DISTANCE ATM_FOG_ALTITUDE <empty> <empty> <empty> LIGHTSHAFT_BEHAVIOUR SPECIAL_PALE_GARDEN_LIGHTSHAFTS LIGHTSHAFT_SMOKE LIGHTSHAFT_DAY_I LIGHTSHAFT_NIGHT_I LIGHTSHAFT_RAIN_I 
        screen.SUN_MOON_SETTINGS=<empty> <empty> SUN_MOON_STYLE_DEFINE SUN_ANGLE SUN_MOON_HORIZON SUN_MOON_DURING_RAIN
        screen.NETHER_SETTINGS=<empty> <empty> NETHER_VIEW_LIMIT NETHER_COLOR_MODE <empty> <empty> NETHER_STORM NETHER_STORM_I NETHER_STORM_LOWER_ALT NETHER_STORM_HEIGHT
        screen.WEATHER_SETTINGS=<empty> <empty> RAIN_STYLE SPECIAL_BIOME_WEATHER WEATHER_TEX_OPACITY SUN_MOON_DURING_RAIN
        screen.ATM_COLOR_SETTINGS=<empty> <empty> ATM_COLOR_MULTS <empty> <empty> <empty> [MORNING_ATM_MULTS] [NOON_ATM_MULTS] [NIGHT_ATM_MULTS] [RAIN_ATM_MULTS] [NETHER_ATM_MULTS] [END_ATM_MULTS]
            screen.MORNING_ATM_MULTS=<empty> <empty> ATM_MORNING_R ATM_MORNING_G ATM_MORNING_B ATM_MORNING_I
            screen.NOON_ATM_MULTS=<empty> <empty> ATM_NOON_R ATM_NOON_G ATM_NOON_B ATM_NOON_I
            screen.NIGHT_ATM_MULTS=<empty> <empty> ATM_NIGHT_R ATM_NIGHT_G ATM_NIGHT_B ATM_NIGHT_I
            screen.RAIN_ATM_MULTS=<empty> <empty> ATM_RAIN_R ATM_RAIN_G ATM_RAIN_B ATM_RAIN_I
            screen.NETHER_ATM_MULTS=<empty> <empty> ATM_NETHER_R ATM_NETHER_G ATM_NETHER_B ATM_NETHER_I
            screen.END_ATM_MULTS=<empty> <empty> ATM_END_R ATM_END_G ATM_END_B ATM_END_I
    screen.LIGHTING_SETTINGS=<empty> <empty> [LIGHT_COLOR_SETTINGS] AMBIENT_MULT [BLOCKLIGHT_COLOR_SETTINGS] SHADOW_SMOOTHING [PIXELATED_LIGHTING_SETTINGS] CAVE_LIGHTING HELD_LIGHTING_MODE BLOCKLIGHT_FLICKERING SSAO_I VANILLAAO_I PLAYER_SHADOW
        screen.LIGHT_COLOR_SETTINGS=<empty> <empty> LIGHT_COLOR_MULTS <empty> <empty> <empty> [MORNING_LIGHT_MULTS] [NOON_LIGHT_MULTS] [NIGHT_LIGHT_MULTS] [RAIN_LIGHT_MULTS] [NETHER_LIGHT_MULTS] [END_LIGHT_MULTS]
            screen.MORNING_LIGHT_MULTS=<empty> <empty> LIGHT_MORNING_R LIGHT_MORNING_G LIGHT_MORNING_B LIGHT_MORNING_I
            screen.NOON_LIGHT_MULTS=<empty> <empty> LIGHT_NOON_R LIGHT_NOON_G LIGHT_NOON_B LIGHT_NOON_I
            screen.NIGHT_LIGHT_MULTS=<empty> <empty> LIGHT_NIGHT_R LIGHT_NIGHT_G LIGHT_NIGHT_B LIGHT_NIGHT_I
            screen.RAIN_LIGHT_MULTS=<empty> <empty> LIGHT_RAIN_R LIGHT_RAIN_G LIGHT_RAIN_B LIGHT_RAIN_I
            screen.NETHER_LIGHT_MULTS=<empty> <empty> LIGHT_NETHER_R LIGHT_NETHER_G LIGHT_NETHER_B LIGHT_NETHER_I
            screen.END_LIGHT_MULTS=<empty> <empty> LIGHT_END_R LIGHT_END_G LIGHT_END_B LIGHT_END_I
        screen.BLOCKLIGHT_COLOR_SETTINGS=<empty> <empty> XLIGHT_R XLIGHT_G XLIGHT_B XLIGHT_I
        screen.PIXELATED_LIGHTING_SETTINGS=<empty> <empty> PIXELATED_SHADOWS PIXELATED_BLOCKLIGHT PIXELATED_AO PIXEL_SCALE
    screen.OTHER_SETTINGS=<empty> <empty> [SELECT_OUTLINE_SETTINGS] [WORLD_OUTLINE_SETTINGS] [MOON_PHASE_INF_SETTINGS] [ACT_FEATURES_SETTINGS] SHOW_LIGHT_LEVEL REDUCE_CLOSE_PARTICLES LESS_LAVA_FOG SNOWY_WORLD HAND_SWAYING <empty> <empty> <empty> <empty> <empty> COLOR_CODED_PROGRAMS GLOWING_COLORED_PARTICLES
        screen.SELECT_OUTLINE_SETTINGS=<empty> <empty> SELECT_OUTLINE <empty> SELECT_OUTLINE_I SELECT_OUTLINE_R SELECT_OUTLINE_G SELECT_OUTLINE_B <empty> <empty> SELECT_OUTLINE_AUTO_HIDE
        screen.WORLD_OUTLINE_SETTINGS=<empty> <empty> WORLD_OUTLINE WORLD_OUTLINE_THICKNESS WORLD_OUTLINE_I WORLD_OUTLINE_ON_ENTITIES <empty> <empty> DARK_OUTLINE DARK_OUTLINE_THICKNESS
        screen.MOON_PHASE_INF_SETTINGS=<empty> <empty> MOON_PHASE_INF_LIGHT MOON_PHASE_INF_ATMOSPHERE MOON_PHASE_INF_REFLECTION <empty> <empty> <empty> MOON_PHASE_FULL MOON_PHASE_PARTIAL MOON_PHASE_DARK
        screen.ACT_FEATURES_SETTINGS=<empty> <empty> COLORED_LIGHT_SATURATION <empty> COLORED_LIGHT_FOG COLORED_LIGHT_FOG_I <empty> <empty> WORLD_SPACE_REFLECTIONS WORLD_SPACE_REF_MODE <empty> <empty> CONNECTED_GLASS_EFFECT PORTAL_EDGE_EFFECT PUDDLE_VOXELIZATION COLORED_CANDLE_LIGHT
    screen.SPOOKY_SETTINGS=<empty> <empty> OVERALL_COLOR_TONE [DARKNESS_SETTINGS] [BLOOD_MOON_SETTINGS] [EYES_SETTINGS] [LAVA_SETTINGS] XLIGHT_I BLOCKLIGHT_FLICKERING HAND_BLOCKLIGHT_FLICKERING RANDOM_EFFECTS PLAYER_MOOD_EFFECTS
        screen.DARKNESS_SETTINGS=<empty> <empty> [ENVIRONMENT_DARKNESS_SETTINGS] CAVE_LIGHTING DISTANCE_MIN_LIGHT [MOON_PHASE_INF_SETTINGS] DARKER_DEPTH_OCEANS
            screen.ENVIRONMENT_DARKNESS_SETTINGS=<empty> <empty> [MORNING_DARKNESS] [NOON_DARKNESS] [NIGHT_DARKNESS] [RAIN_DARKNESS] [NETHER_DARKNESS] [END_DARKNESS]
                screen.MORNING_DARKNESS=<empty> <empty> LIGHT_MORNING_I ATM_MORNING_I
                screen.NOON_DARKNESS=<empty> <empty> LIGHT_NOON_I ATM_NOON_I
                screen.NIGHT_DARKNESS=<empty> <empty> LIGHT_NIGHT_I ATM_NIGHT_I
                screen.RAIN_DARKNESS=<empty> <empty> LIGHT_RAIN_I ATM_RAIN_I
                screen.NETHER_DARKNESS=<empty> <empty> LIGHT_NETHER_I ATM_NETHER_I
                screen.END_DARKNESS=<empty> <empty> LIGHT_END_I ATM_END_I
        screen.BLOOD_MOON_SETTINGS=<empty> <empty> BLOOD_MOON EMISSIVE_BLOOD_MOON_FLOWERS
        screen.EYES_SETTINGS=<empty> <empty> EYES EYE_FREQUENCY EYE_SPEED EYE_RED_PROBABILITY
        screen.LAVA_SETTINGS=<empty> <empty> LAVA_NOISE_INTENSITY LAVA_NOISE_AMOUNT LAVA_EMISSION LAVA_TEMPERATURE WAVIER_LAVA LAVA_EDGE_EFFECT NO_LAVA_COLUMN_NOISE
    screen.AUTHOR=<empty> <empty> 

# Set Sliders
    sliders=shadowDistance BLOOM_STRENGTH CLOUD_ALT1 CLOUD_ALT2 TM_EXPOSURE TM_CONTRAST T_SATURATION T_VIBRANCE MOTION_BLURRING_STRENGTH NORMAL_MAP_STRENGTH CUSTOM_EMISSION_INTENSITY IMAGE_SHARPENING SUN_ANGLE ATM_FOG_MULT ATM_FOG_DISTANCE ATM_FOG_ALTITUDE CAVE_LIGHTING GR_RR GR_RG GR_RB GR_RC GR_GR GR_GG GR_GB GR_GC GR_BR GR_BG GR_BB GR_BC POM_DEPTH POM_QUALITY POM_DISTANCE WATER_BUMPINESS WATER_BUMP_SMALL WATER_BUMP_MED WATER_BUMP_BIG WATER_SPEED_MULT WATER_SIZE_MULT WATER_REFRACTION_INTENSITY SELECT_OUTLINE_I SELECT_OUTLINE_R SELECT_OUTLINE_G SELECT_OUTLINE_B LIGHT_NOON_R LIGHT_NOON_G LIGHT_NOON_B LIGHT_NOON_I ATM_NOON_R ATM_NOON_G ATM_NOON_B ATM_NOON_I LIGHT_MORNING_R LIGHT_MORNING_G LIGHT_MORNING_B LIGHT_MORNING_I ATM_MORNING_R ATM_MORNING_G ATM_MORNING_B ATM_MORNING_I LIGHT_NIGHT_R LIGHT_NIGHT_G LIGHT_NIGHT_B LIGHT_NIGHT_I ATM_NIGHT_R ATM_NIGHT_G ATM_NIGHT_B ATM_NIGHT_I LIGHT_RAIN_R LIGHT_RAIN_G LIGHT_RAIN_B LIGHT_RAIN_I ATM_RAIN_R ATM_RAIN_G ATM_RAIN_B ATM_RAIN_I LIGHT_NETHER_R LIGHT_NETHER_G LIGHT_NETHER_B LIGHT_NETHER_I ATM_NETHER_R ATM_NETHER_G ATM_NETHER_B ATM_NETHER_I LIGHT_END_R LIGHT_END_G LIGHT_END_B LIGHT_END_I ATM_END_R ATM_END_G ATM_END_B ATM_END_I WORLD_OUTLINE_I AMBIENT_MULT GENERATED_NORMAL_MULT COATED_TEXTURE_MULT LIGHTSHAFT_DAY_I LIGHTSHAFT_NIGHT_I LIGHTSHAFT_RAIN_I WATERCOLOR_R WATERCOLOR_G WATERCOLOR_B WATER_FOAM_I WATER_ALPHA_MULT WATER_FOG_MULT UNDERWATERCOLOR_R UNDERWATERCOLOR_G UNDERWATERCOLOR_B GLOWING_ORE_MULT SSAO_I VANILLAAO_I CHROMA_ABERRATION XLIGHT_R XLIGHT_G XLIGHT_B NIGHT_NEBULA_I WEATHER_TEX_OPACITY NETHER_STORM_LOWER_ALT NETHER_STORM_HEIGHT NETHER_STORM_I CLOUD_UNBOUND_AMOUNT CLOUD_UNBOUND_SIZE_MULT CLOUD_UNBOUND_RAIN_ADD CLOUD_SPEED_MULT WB_DOF_I WB_DOF_FOCUS WB_DB_DAY_I WB_DB_NIGHT_I WB_DB_RAIN_I WB_DB_WATER_I WB_DB_NETHER_I WB_DB_END_I WAVING_SPEED WAVING_I MOON_PHASE_FULL MOON_PHASE_PARTIAL MOON_PHASE_DARK LENSFLARE_I SHADOW_SMOOTHING BLOCKLIGHT_FLICKERING NETHER_VIEW_LIMIT CLOUD_R CLOUD_G CLOUD_B WAVING_I_RAIN_MULT COLORED_LIGHT_FOG_I XLIGHT_I COLORED_LIGHT_SATURATION PIXEL_SCALE TM_DARK_DESATURATION TM_WHITE_PATH NIGHT_STAR_AMOUNT \
    EYE_FREQUENCY EYE_SPEED EYE_RED_PROBABILITY LAVA_NOISE_INTENSITY LAVA_NOISE_AMOUNT LAVA_EMISSION LAVA_TEMPERATURE DARKER_DEPTH_OCEANS HAND_BLOCKLIGHT_FLICKERING BLOOD_MOON DISTANCE_MIN_LIGHT

# Special Define Handling
    # Needed to disable colored lighting related code in shaders.properties
    #ifdef MC_OS_MAC
        #define COLORED_LIGHTING 0
    #endif

# Pipeline Settings
    oldHandLight = false
    oldLighting = false
    separateAo = true
    underwaterOverlay = false
    vignette = false
    beacon.beam.depth = true
    rain.depth = false
    particles.ordering = mixed

# Program Settings
    alphaTest.gbuffers_weather=GREATER 0.0001
    alphaTest.gbuffers_skytextured=GREATER 0.0001
    alphaTest.gbuffers_skybasic=GREATER 0.0001
    alphaTest.gbuffers_water=GREATER 0.0001
    alphaTest.gbuffers_beaconbeam=GREATER 0.0001
    alphaTest.gbuffers_damagedblock=GREATER 0.004
    alphaTest.gbuffers_spidereyes=GREATER 0.0001
    alphaTest.gbuffers_clouds=GREATER 0.0001

# Link Programs to Options
    # Note: Old Optifine seems to always treat "#if INT_DEFINE == X" checks as "#if 0 == X" so treat 0 as the default behaviour
    # This quirk doesn't apply to "enabled=DEFINE" checks. Those work fine as long as the define is a boolean.
    #if SHADOW_QUALITY == -1
        program.world0/shadow.enabled=false
        program.world-1/shadow.enabled=false
        program.world1/shadow.enabled=false
    #endif
    #if FXAA_DEFINE == -1
        program.world0/composite7.enabled=FXAA
        program.world-1/composite7.enabled=FXAA
        program.world1/composite7.enabled=FXAA
    #endif
    #if COLORED_LIGHTING == 0
        program.world0/shadowcomp.enabled=false
        program.world-1/shadowcomp.enabled=false
        program.world1/shadowcomp.enabled=false
    #endif

# Miscellaneous
    iris.features.optional = CUSTOM_IMAGES SSBO BLOCK_EMISSION_ATTRIBUTE
    #if defined IS_IRIS && defined IRIS_FEATURE_BLOCK_EMISSION_ATTRIBUTE
        # Check for block emission attribute to detect Iris 1.7 and above because the ref-res causes an error in 1.6.10 and below
        size.buffer.colortex1 = REFLECTION_RES REFLECTION_RES
        size.buffer.colortex7 = REFLECTION_RES REFLECTION_RES
    #endif

    # Disable alpha blending for purkinje effect
    #if defined IS_IRIS || MC_VERSION >= 11600
        blend.gbuffers_spidereyes.colortex6=off
        blend.gbuffers_water.colortex6=off
        blend.gbuffers_entities.colortex6=off
        blend.gbuffers_entities_glowing.colortex6=off
        blend.gbuffers_hand.colortex6=off
        blend.gbuffers_terrain.colortex6=off
        blend.gbuffers_textured.colortex6=off
        blend.gbuffers_basic.colortex6=off
        blend.gbuffers_block.colortex6=off
        blend.deferred.colortex6=off
        blend.gbuffers_beaconbeam.colortex6=off
        blend.gbuffers_clouds.colortex6=off
        blend.gbuffers_armor_glint.colortex6=off
    #endif

    #if ENTITY_SHADOW == -1
        shadowBlockEntities = false
        shadowEntities = false
        #if PLAYER_SHADOW == 1
            shadowPlayer = true
        #endif
    #endif
    #if ENTITY_SHADOW == 1
        shadowBlockEntities = false
    #endif
    #if PLAYER_SHADOW == -1
        shadowPlayer = false
    #endif
    #ifdef DISTANT_HORIZONS
        blend.dh_water=SRC_ALPHA ONE_MINUS_SRC_ALPHA ONE ONE_MINUS_SRC_ALPHA
        blend.gbuffers_water=SRC_ALPHA ONE_MINUS_SRC_ALPHA ONE ONE_MINUS_SRC_ALPHA
        dhShadow.enabled = false
        dhClouds = off
    #endif
    blend.gbuffers_water.colortex4=off
    blend.gbuffers_water.colortex8=off
    #if COLORED_LIGHTING > 0
        shadow.culling = reversed
        voxelizeLightBlocks = false
        #if COLORED_LIGHTING == 128
            image.voxel_img = voxel_sampler red_integer r16ui unsigned_int true false 128 64 128
            image.floodfill_img = floodfill_sampler rgba rgba16f half_float false false 128 64 128
            image.floodfill_img_copy = floodfill_sampler_copy rgba rgba16f half_float false false 128 64 128
        #elif COLORED_LIGHTING == 192
            image.voxel_img = voxel_sampler red_integer r16ui unsigned_int true false 192 96 192
            image.floodfill_img = floodfill_sampler rgba rgba16f half_float false false 192 96 192
            image.floodfill_img_copy = floodfill_sampler_copy rgba rgba16f half_float false false 192 96 192
        #elif COLORED_LIGHTING == 256
            image.voxel_img = voxel_sampler red_integer r16ui unsigned_int true false 256 128 256
            image.floodfill_img = floodfill_sampler rgba rgba16f half_float false false 256 128 256
            image.floodfill_img_copy = floodfill_sampler_copy rgba rgba16f half_float false false 256 128 256
        #elif COLORED_LIGHTING == 384
            image.voxel_img = voxel_sampler red_integer r16ui unsigned_int true false 384 192 384
            image.floodfill_img = floodfill_sampler rgba rgba16f half_float false false 384 192 384
            image.floodfill_img_copy = floodfill_sampler_copy rgba rgba16f half_float false false 384 192 384
        #elif COLORED_LIGHTING == 512
            image.voxel_img = voxel_sampler red_integer r16ui unsigned_int true false 512 256 512
            image.floodfill_img = floodfill_sampler rgba rgba16f half_float false false 512 256 512
            image.floodfill_img_copy = floodfill_sampler_copy rgba rgba16f half_float false false 512 256 512
        #elif COLORED_LIGHTING == 768
            image.voxel_img = voxel_sampler red_integer r16ui unsigned_int true false 768 256 768
            image.floodfill_img = floodfill_sampler rgba rgba16f half_float false false 768 256 768
            image.floodfill_img_copy = floodfill_sampler_copy rgba rgba16f half_float false false 768 256 768
        #elif COLORED_LIGHTING == 1024
            image.voxel_img = voxel_sampler red_integer r16ui unsigned_int true false 1024 256 1024
            image.floodfill_img = floodfill_sampler rgba rgba16f half_float false false 1024 256 1024
            image.floodfill_img_copy = floodfill_sampler_copy rgba rgba16f half_float false false 1024 256 1024
        #endif

        #if RAIN_PUDDLES > 0
            image.puddle_img = puddle_sampler red_integer r8ui unsigned_int true false 128 128
        #endif

        #if WORLD_SPACE_REFLECTIONS > 0
            #if COLORED_LIGHTING < 512
                image.wsr_img = wsr_sampler red_integer r16ui unsigned_int true false COLORED_LIGHTING 64 COLORED_LIGHTING
            #else
                image.wsr_img = wsr_sampler red_integer r16ui unsigned_int true false 512 64 512
            #endif

            #if COLORED_LIGHTING < 512
                #if COLORED_LIGHTING == 128
                    image.wsr_img_lod = wsr_sampler_lod red_integer r8ui unsigned_int true false 32 16 32
                #elif COLORED_LIGHTING == 192
                    image.wsr_img_lod = wsr_sampler_lod red_integer r8ui unsigned_int true false 48 16 48
                #elif COLORED_LIGHTING == 256
                    image.wsr_img_lod = wsr_sampler_lod red_integer r8ui unsigned_int true false 64 16 64
                #elif COLORED_LIGHTING == 384
                    image.wsr_img_lod = wsr_sampler_lod red_integer r8ui unsigned_int true false 96 16 96
                #endif
            #else
                image.wsr_img_lod = wsr_sampler_lod red_integer r8ui unsigned_int true false 128 16 128
            #endif

            #if COLORED_LIGHTING < 512
                #if COLORED_LIGHTING == 128
                    bufferObject.0 = 100663296
                #elif COLORED_LIGHTING == 192
                    bufferObject.0 = 226492416
                #elif COLORED_LIGHTING == 256
                    bufferObject.0 = 402653184
                #elif COLORED_LIGHTING == 384
                    bufferObject.0 = 905969664
                #endif
            #else
                bufferObject.0 = 1610612736
            #endif
        #endif
    #endif

# Custom Textures
    texture.noise=lib/textures/noise.png
    texture.deferred.colortex3=lib/textures/cloud-water.png
    texture.gbuffers.gaux4=lib/textures/cloud-water.png
    #if WORLD_SPACE_REFLECTIONS > 0
        customTexture.textureAtlas = minecraft:textures/atlas/blocks.png
    #endif

# Custom Uniforms
    uniform.float.framemod2 = frameCounter % 2
    uniform.float.framemod4 = frameCounter % 4
    uniform.float.framemod8 = frameCounter % 8
    uniform.float.isEyeInCave = if(isEyeInWater == 0, 1.0 - smooth(202, if(eyeAltitude < 5.0, eyeBrightness.y / 240.0, 1.0), 6, 12), 0.0)

    uniform.float.inDry = smooth(101, if(in(biome_precipitation, 0), 1, 0), 20, 10)
    uniform.float.inRainy = smooth(102, if(in(biome_precipitation, 1), 1, 0), 20, 10)
    uniform.float.inSnowy = smooth(103, if(in(biome_precipitation, 2), 1, 0), 20, 10)

    variable.float.difX = cameraPosition.x - previousCameraPosition.x
    variable.float.difY = cameraPosition.y - previousCameraPosition.y
    variable.float.difZ = cameraPosition.z - previousCameraPosition.z
    variable.float.difSum = abs(difX) + abs(difY) + abs(difZ)
    variable.float.moving = if(difSum > 0.0 && difSum < 1.0, 1, 0)
    variable.float.moved = smooth(2, moving, 0, 31536000)
    uniform.float.starter = smooth(3, moved, 20, 20)

    uniform.float.frameTimeSmooth = smooth(5, frameTime, 5, 5)
    uniform.float.eyeBrightnessM = smooth(4, eyeBrightness.y / 240.0, 5, 5)
    uniform.float.eyeBrightnessM2 = smooth(4, if(eyeBrightness.y > 239.0, 1, 0), 2, 2)
    uniform.float.rainFactorUniform = smooth(1, rainStrength, 22, 22)

    uniform.float.inNetherWastes=smooth(50, if(in(biome, BIOME_NETHER_WASTES), 1, 0), 15, 15)
    uniform.float.inCrimsonForest=smooth(51, if(in(biome, BIOME_CRIMSON_FOREST), 1, 0), 15, 15)
    uniform.float.inWarpedForest=smooth(52, if(in(biome, BIOME_WARPED_FOREST), 1, 0), 15, 15)
    uniform.float.inBasaltDeltas=smooth(53, if(in(biome, BIOME_BASALT_DELTAS), 1, 0), 15, 15)
    uniform.float.inSoulValley=smooth(54, if(in(biome, BIOME_SOUL_SAND_VALLEY), 1, 0), 15, 15)

    uniform.float.inPaleGarden=smooth(54, if(in(biome, BIOME_PALE_GARDEN), 1, 0), 15, 15)

    uniform.float.maxBlindnessDarkness=max(blindness, darknessFactor)

    # Thanks to sixthsurge for optifine lightning detection! Breaks in some modded biomes/datapacks
    uniform.float.lightningFlashOptifine = smooth(206, if(equals(skyColor.r, skyColor.g, 0.01) && skyColor.r > 0.3, 1.0, 0.0), 0.0, 0.2)

    variable.float.trapWater = if(isEyeInWater == 1, 100000000000000.0, 0.0)
    variable.float.trapEyeAltitude = smooth(if(eyeBrightness.y < 224.0, 61.9, eyeAltitude - 1), trapWater, trapWater)
    uniform.float.waterAltitude = if(isEyeInWater != 1, 61.9, trapEyeAltitude)
    uniform.bool.isOnGround = is_on_ground