Bliss-Shader/shaders/shaders.properties

601 lines
32 KiB
INI

clouds=off
stars=false
vignette=false
underwaterOverlay=false
dynamicHandLight=true
oldLighting=false
separateAo = true
rain.depth = false
beacon.beam.depth = true
iris.features.optional = ENTITY_TRANSLUCENT REVERSED_CULLING COMPUTE_SHADERS CUSTOM_IMAGES BLOCK_EMISSION_ATTRIBUTE
#if RESOURCEPACK_SKY == 2
sun=true
moon=true
#else
sun=false
moon=false
#endif
#ifdef LPV_ENABLED
shadow.enabled = true
shadow.culling = reversed
voxelizeLightBlocks = true
#endif
#ifndef RENDER_ENTITY_SHADOWS
shadowBlockEntities = false
shadowEntities = false
#ifdef RENDER_PLAYER_SHADOWS
shadowPlayer = true
#endif
#endif
#if defined TRANSLUCENT_ENTITIES && defined IS_IRIS
separateEntityDraws = true
#else
separateEntityDraws = false
#endif
program.world0/gbuffers_entities_translucent.enabled = TRANSLUCENT_ENTITIES && IS_IRIS
program.world0/gbuffers_block_translucent.enabled = TRANSLUCENT_ENTITIES && IS_IRIS
program.world-1/gbuffers_entities_translucent.enabled = TRANSLUCENT_ENTITIES && IS_IRIS
program.world-1/gbuffers_block_translucent.enabled = TRANSLUCENT_ENTITIES && IS_IRIS
program.world1/gbuffers_entities_translucent.enabled = TRANSLUCENT_ENTITIES && IS_IRIS
program.world1/gbuffers_block_translucent.enabled = TRANSLUCENT_ENTITIES && IS_IRIS
#if defined DISTANT_HORIZONS && defined IS_IRIS
#if defined DISTANT_HORIZONS_SHADOWMAP
dhShadow.enabled = true
#else
dhShadow.enabled = false
#endif
program.world0/dh_terrain.enabled = true
program.world0/dh_water.enabled = true
program.world1/dh_terrain.enabled = true
program.world1/dh_water.enabled = true
program.world-1/dh_terrain.enabled = true
program.world-1/dh_water.enabled = true
blend.dh_terrain = off
blend.dh_water = SRC_ALPHA ONE_MINUS_SRC_ALPHA ONE_MINUS_DST_ALPHA ONE
#else
dhShadow.enabled = false
program.world0/dh_terrain.enabled = false
program.world0/dh_water.enabled = false
program.world1/dh_terrain.enabled = false
program.world1/dh_water.enabled = false
program.world-1/dh_terrain.enabled = false
program.world-1/dh_water.enabled = false
#endif
#ifdef CLOUDS_INTERSECT_TERRAIN
program.world0/deferred2.enabled = false
program.world0/deferred2.enabled = false
program.world1/deferred2.enabled = false
program.world1/deferred2.enabled = false
program.world-1/deferred2.enabled = false
program.world-1/deferred2.enabled = false
#endif
program.composite5.enabled = TAA_UPSCALING
# SRC_ALPHA ONE_MINUS_SRC_ALPHA ONE ZERO
# SRC_ALPHA ONE_MINUS_SRC_ALPHA ONE_MINUS_DST_ALPHA ONE
#Get the correct alpha value : S_A*(1-DST_A)+DST_A
# terrible blending for shadows on purpose
blend.gbuffers_water = SRC_ALPHA ONE_MINUS_SRC_ALPHA ONE_MINUS_DST_ALPHA ONE
blend.gbuffers_armor_glint = SRC_ALPHA ONE_MINUS_SRC_ALPHA ONE_MINUS_DST_ALPHA ONE
blend.gbuffers_hand_water = SRC_ALPHA ONE_MINUS_SRC_ALPHA ONE_MINUS_DST_ALPHA ONE
blend.gbuffers_textured = SRC_ALPHA ONE_MINUS_SRC_ALPHA ONE_MINUS_DST_ALPHA ONE
blend.gbuffers_textured_lit = SRC_ALPHA ONE_MINUS_SRC_ALPHA ONE_MINUS_DST_ALPHA ONE
blend.gbuffers_basic = SRC_ALPHA ONE_MINUS_SRC_ALPHA ONE_MINUS_DST_ALPHA ONE
blend.gbuffers_weather = SRC_ALPHA ONE_MINUS_SRC_ALPHA ONE_MINUS_DST_ALPHA ONE
blend.gbuffers_block_translucent = SRC_ALPHA ONE_MINUS_SRC_ALPHA ONE_MINUS_DST_ALPHA ONE
blend.gbuffers_beaconbeam = SRC_ALPHA ONE_MINUS_SRC_ALPHA ONE_MINUS_DST_ALPHA ONE
blend.gbuffers_entities_translucent = SRC_ALPHA ONE_MINUS_SRC_ALPHA ONE_MINUS_DST_ALPHA ONE
blend.gbuffers_spidereyes = ONE ONE ONE ONE
blend.gbuffers_skytextured = ONE ONE ONE ZERO
blend.shadow = SRC_COLOR ZERO ONE ZERO
# Disable blending
blend.gbuffers_terrain = off
blend.gbuffers_hand = off
blend.gbuffers_block = off
blend.gbuffers_entities = off
blend.gbuffers_damagedblock = off
# this is important for refraction and glass tint to work correctly
blend.gbuffers_water.colortex11 = off
blend.gbuffers_hand_water.colortex11 = off
blend.gbuffers_entities_translucent.colortex11 = off
blend.composite.colortex12 = off
blend.composite.colortex13 = off
blend.composite.colortex14 = off
# Alpha test
alphaTest.gbuffers_terrain = GREATER 0.1
alphaTest.gbuffers_hand = GREATER 0.1
alphaTest.gbuffers_weather = false
alphaTest.gbuffers_water = false
alphaTest.gbuffers_skybasic = false
alphaTest.gbuffers_skytextured = false
sliders = SELECT_BOX_COL_R SELECT_BOX_COL_G SELECT_BOX_COL_B LPV_VL_FOG_ILLUMINATION_BRIGHTNESS minRayMarchSteps MOTION_BLUR_STRENGTH OVERDRAW_MAX_DISTANCE DAY0_l0_coverage DAY0_l1_coverage DAY0_l2_coverage DAY0_ufog_density DAY0_l0_density DAY0_l1_density DAY0_l2_density DAY0_cfog_density DAY1_l0_coverage DAY1_l1_coverage DAY1_l2_coverage DAY1_ufog_density DAY1_l0_density DAY1_l1_density DAY1_l2_density DAY1_cfog_density DAY2_l0_coverage DAY2_l1_coverage DAY2_l2_coverage DAY2_ufog_density DAY2_l0_density DAY2_l1_density DAY2_l2_density DAY2_cfog_density DAY3_l0_coverage DAY3_l1_coverage DAY3_l2_coverage DAY3_ufog_density DAY3_l0_density DAY3_l1_density DAY3_l2_density DAY3_cfog_density DAY4_l0_coverage DAY4_l1_coverage DAY4_l2_coverage DAY4_ufog_density DAY4_l0_density DAY4_l1_density DAY4_l2_density DAY4_cfog_density DAY5_l0_coverage DAY5_l1_coverage DAY5_l2_coverage DAY5_ufog_density DAY5_l0_density DAY5_l1_density DAY5_l2_density DAY5_cfog_density DAY6_l0_coverage DAY6_l1_coverage DAY6_l2_coverage DAY6_ufog_density DAY6_l0_density DAY6_l1_density DAY6_l2_density DAY6_cfog_density DAY7_l0_coverage DAY7_l1_coverage DAY7_l2_coverage DAY7_ufog_density DAY7_l0_density DAY7_l1_density DAY7_l2_density DAY7_cfog_density DAY8_l0_coverage DAY8_l1_coverage DAY8_l2_coverage DAY8_ufog_density DAY8_l0_density DAY8_l1_density DAY8_l2_density DAY8_cfog_density DAY9_l0_coverage DAY9_l1_coverage DAY9_l2_coverage DAY9_ufog_density DAY9_l0_density DAY9_l1_density DAY9_l2_density DAY9_cfog_density sss_density_multiplier sss_absorbance_multiplier MOTION_AMOUNT TONEMAP WATER_WAVE_SPEED WATER_CAUSTICS_BRIGHTNESS DEBUG_VIEW entityShadowDistanceMul HANDHELD_LIGHT_RANGE CLOUD_SHADOW_STRENGTH CloudLayer0_coverage CloudLayer0_density CloudLayer0_height CloudLayer1_coverage CloudLayer1_density CloudLayer1_height CloudLayer2_coverage CloudLayer2_density CloudLayer2_height PLANET_GROUND_BRIGHTNESS FOG_START_HEIGHT WATER_WAVE_STRENGTH SWAMP_UNIFORM_DENSITY SWAMP_CLOUDY_DENSITY SWAMP_R SWAMP_G SWAMP_B JUNGLE_UNIFORM_DENSITY JUNGLE_CLOUDY_DENSITY JUNGLE_R JUNGLE_G JUNGLE_B DARKFOREST_UNIFORM_DENSITY DARKFOREST_CLOUDY_DENSITY DARKFOREST_R DARKFOREST_G DARKFOREST_B NETHER_PLUME_DENSITY END_STORM_DENSTIY LIT_PARTICLE_BRIGHTNESS UPPER_CURVE LOWER_CURVE EMISSIVE_TYPE SCALE_FACTOR ambientsss_brightness SSS_TYPE Cloud_Speed ORB_ColMult ORB_X ORB_Y ORB_Z ORB_R ORB_G ORB_B TOD_Fog_mult Morning_Uniform_Fog Noon_Uniform_Fog Evening_Uniform_Fog Night_Uniform_Fog Morning_Cloudy_Fog Noon_Cloudy_Fog Evening_Cloudy_Fog Night_Cloudy_Fog Summer_Leaf_R Summer_Leaf_G Summer_Leaf_B Fall_Leaf_R Fall_Leaf_G Fall_Leaf_B Winter_Leaf_R Winter_Leaf_G Winter_Leaf_B Spring_Leaf_R Spring_Leaf_G Spring_Leaf_B Summer_R Summer_G Summer_B Fall_R Fall_G Fall_B Winter_R Winter_G Winter_B Spring_R Spring_G Spring_B Season_Length CaveFogFallOff CaveFogColor_R CaveFogColor_G CaveFogColor_B indirect_effect GI_Strength ambient_brightness AmbientLight_R AmbientLight_G AmbientLight_B Rain_coverage Moon_temp Haze_amount RainFog_amount Sun_temp Puddle_Size LabSSS_Curve Emissive_Curve Emissive_Brightness AO_Strength BLOOMY_FOG WAVY_SPEED WAVY_STRENGTH BLOOM_STRENGTH shadowDistance Sky_Brightness fog_coefficientMieR fog_coefficientMieG fog_coefficientMieB sun_illuminance sunColorG sunColorB sunColorR sky_mieg sky_coefficientMieB sky_coefficientMieG sky_coefficientMieR sky_coefficientRayleighB sky_coefficientRayleighG sky_coefficientRayleighR CLOUDS_QUALITY EXPOSURE_MULTIPLIER MIN_LIGHT_AMOUNT TORCH_R TORCH_G TORCH_B TORCH_AMOUNT shadowMapResolution sunPathRotation BLEND_FACTOR VL_SAMPLES Exposure_Speed POM_DEPTH MAX_ITERATIONS MAX_DIST SSR_STEPS ambientOcclusionLevel SEA_LEVEL moon_illuminance moonColorR moonColorG moonColorB fog_coefficientRayleighR fog_coefficientRayleighG SATURATION Manual_exposure_value focal aperture MANUAL_FOCUS SHADOW_FILTER_SAMPLE_COUNT Max_Filter_Depth VPS_Search_Samples Min_Shadow_Filter_Radius Max_Shadow_Filter_Radius Water_Top_Layer fog_coefficientRayleighB SHARPENING rayMarchSampleCount Dirt_Amount Dirt_Scatter_R Dirt_Scatter_G Dirt_Scatter_B Dirt_Absorb_R Dirt_Absorb_G Dirt_Absorb_B Water_Absorb_R Water_Absorb_G Water_Absorb_B Purkinje_strength Purkinje_strength Purkinje_R Purkinje_G Purkinje_B Texture_MipMap_Bias DoF_Adaptation_Speed Purkinje_Multiplier CROSSTALK VL_RENDER_RESOLUTION BLOOM_QUALITY VL_RENDER_RESOLUTION RAY_COUNT STEPS STEP_LENGTH cloud_LevelOfDetail cloud_ShadowLevelOfDetail cloud_LevelOfDetailLQ cloud_ShadowLevelOfDetailLQ minRayMarchSteps maxRayMarchSteps minRayMarchStepsLQ maxRayMarchStepsLQ fbmAmount fbmPower1 fbmPower2 Roughness_Threshold Sun_specular_Strength reflection_quality DOF_QUALITY DOF_ANAMORPHIC_RATIO AEROCHROME_PINKNESS DOF_JITTER_FOCUS JITTER_STRENGTH SHADOWS_GRADE_R MIDS_GRADE_R HIGHLIGHTS_GRADE_R SHADOWS_GRADE_G MIDS_GRADE_G HIGHLIGHTS_GRADE_G SHADOWS_GRADE_B MIDS_GRADE_B HIGHLIGHTS_GRADE_B SHADOWS_GRADE_MUL MIDS_GRADE_MUL HIGHLIGHTS_GRADE_MUL LPV_SATURATION LPV_TINT_SATURATION LPV_NORMAL_STRENGTH
screen.columns=2
screen = \
SHADER_VERSION_LABEL <empty> \
<empty> <empty> \
[Direct_Light] [World] \
[Ambient_light] [Fog] \
[Post_Processing] [Clouds] \
[Resource_Pack_Support] [Climate] \
<empty> <empty> \
[Misc_Settings] [Mod_support] \
# screen = \
# BLISS_SHADERS <empty> \
# <empty> <empty> \
# [Direct_Light] [World] \
# [Ambient_light] [Fog] \
# [Post_Processing] [Clouds] \
# [LabPBR] [Climate] \
# <empty> <empty> \
# [Misc_Settings] [DISTANT_HORIZONS_SETTINGS] \
######## LIGHTING
### DIRECT LIGHT
screen.Direct_Light.columns=1
screen.Direct_Light = [Shadows] [Subsurface_Scattering] [Sun_and_Moon_Colors] OLD_LIGHTLEAK_FIX sunPathRotation sun_illuminance MOONPHASE_BASED_MOONLIGHT moon_illuminance
screen.Shadows.columns=1
screen.Shadows = TRANSLUCENT_COLORED_SHADOWS SCREENSPACE_CONTACT_SHADOWS RENDER_ENTITY_SHADOWS RENDER_PLAYER_SHADOWS entityShadowDistanceMul <empty> [Filtering] shadowMapResolution shadowDistance OPTIMIZED_SHADOW_DISTANCE
screen.Filtering.columns=1
screen.Filtering = BASIC_SHADOW_FILTER SHADOW_FILTER_SAMPLE_COUNT Min_Shadow_Filter_Radius <empty> Variable_Penumbra_Shadows VPS_Search_Samples Max_Shadow_Filter_Radius Max_Filter_Depth
screen.Sun_and_Moon_Colors.columns = 1
screen.Sun_and_Moon_Colors = sunColorR sunColorG sunColorB moonColorR moonColorG moonColorB colortype Sun_temp Moon_temp
### AMBIENT LIGHT
screen.Ambient_light.columns=1
screen.Ambient_light = [LPV] [Torch_Colors] [Ambient_Colors] \
MIN_LIGHT_AMOUNT indirect_effect \
<empty> <empty> \
AO_Strength GI_Strength \
ambientOcclusionLevel HQ_SSGI \
Hand_Held_lights SKY_CONTRIBUTION_IN_SSRT \
HANDHELD_LIGHT_RANGE UseQuarterResDepth
screen.Torch_Colors.columns=1
screen.Torch_Colors = TORCH_AMOUNT Emissive_Brightness Emissive_Curve <empty> TORCH_R TORCH_G TORCH_B
screen.Ambient_Colors.columns=1
screen.Ambient_Colors = ambient_brightness MIN_LIGHT_AMOUNT <empty> AmbientLight_R AmbientLight_G AmbientLight_B
### RESOURCE PACK SUPPORT
screen.Resource_Pack_Support.columns = 1
screen.Resource_Pack_Support = [Reflections] [Emissives] [Subsurface_Scattering] [POM] [Porosity] MATERIAL_AO RESOURCEPACK_SKY
screen.Reflections.columns=2
screen.Reflections = Specular_Reflections Sun_specular_Strength Screen_Space_Reflections reflection_quality Rough_reflections Roughness_Threshold Sky_reflection Dynamic_SSR_quality
screen.Subsurface_Scattering.columns=1
screen.Subsurface_Scattering = SSS_TYPE sss_density_multiplier sss_absorbance_multiplier LabSSS_Curve <empty> MISC_BLOCK_SSS MOB_SSS <empty> Ambient_SSS ambientsss_brightness
screen.Emissives.columns = 1
screen.Emissives = EMISSIVE_TYPE Emissive_Brightness Emissive_Curve
screen.POM.columns=1
screen.POM = POM Adaptive_Step_length MAX_ITERATIONS POM_DEPTH MAX_DIST Horrible_slope_normals
screen.Porosity.columns = 1
screen.Porosity = Porosity <empty> Puddles Puddle_Size
### FloodFill
screen.LPV.columns = 2
screen.LPV = LPV_ENABLED LPV_SIZE \
LPV_SATURATION LPV_COLORED_CANDLES \
LPV_TINT_SATURATION LPV_REDSTONE_LIGHTS \
LPV_NORMAL_STRENGTH LPV_ENTITY_LIGHTS \
LPV_NOSHADOW_HACK <empty> \
LPV_VL_FOG_ILLUMINATION LPV_VL_FOG_ILLUMINATION_BRIGHTNESS
######## WORLD
screen.World.columns=1
screen.World = [Water] [Waving_Stuff] [Sky_coefficients] SKY_GROUND <empty> AEROCHROME_MODE AEROCHROME_PINKNESS AEROCHROME_WOOL_ENABLED
### WAVING STUFF
screen.Waving_Stuff.columns=1
screen.Waving_Stuff = WAVY_PLANTS WAVY_STRENGTH WAVY_SPEED
######## CLIMATE
screen.Climate.columns=1
screen.Climate = [Seasons] <empty> PER_BIOME_ENVIRONMENT [SWAMP] [JUNGLE] [DARKFOREST] SNOW_STORMS SAND_STORMS
## BIOME SPECIFICS
screen.SWAMP.columns=1
screen.SWAMP = SWAMP_ENV SWAMP_UNIFORM_DENSITY SWAMP_CLOUDY_DENSITY <empty> SWAMP_R SWAMP_G SWAMP_B
screen.JUNGLE.columns=1
screen.JUNGLE = JUNGLE_ENV JUNGLE_UNIFORM_DENSITY JUNGLE_CLOUDY_DENSITY <empty> JUNGLE_R JUNGLE_G JUNGLE_B
screen.DARKFOREST.columns=1
screen.DARKFOREST = DARKFOREST_ENV DARKFOREST_UNIFORM_DENSITY DARKFOREST_CLOUDY_DENSITY <empty> DARKFOREST_R DARKFOREST_G DARKFOREST_B
## SEASONS
screen.Seasons.columns=1
screen.Seasons = Seasons Season_Length Start_Season Snowy_Winter <empty> [Summer_colors] [Fall_colors] [Winter_colors] [Spring_colors]
screen.Summer_colors.columns=1
screen.Summer_colors = Summer_R Summer_G Summer_B <empty> Summer_Leaf_R Summer_Leaf_G Summer_Leaf_B
screen.Fall_colors.columns=1
screen.Fall_colors = Fall_R Fall_G Fall_B <empty> Fall_Leaf_R Fall_Leaf_G Fall_Leaf_B
screen.Winter_colors.columns=1
screen.Winter_colors = Winter_R Winter_G Winter_B <empty> Winter_Leaf_R Winter_Leaf_G Winter_Leaf_B
screen.Spring_colors.columns=1
screen.Spring_colors = Spring_R Spring_G Spring_B <empty> Spring_Leaf_R Spring_Leaf_G Spring_Leaf_B
######## ATMOSPHERICS
screen.Sky_coefficients.columns=1
screen.Sky_coefficients = Sky_Brightness sky_coefficientRayleighR sky_coefficientRayleighG sky_coefficientRayleighB sky_coefficientMieR sky_coefficientMieG sky_coefficientMieB
### CLOUDS
screen.Clouds.columns = 3
screen.Clouds = VOLUMETRIC_CLOUDS CLOUDS_SHADOWS Cloud_Speed \
CLOUDS_QUALITY CLOUD_SHADOW_STRENGTH Rain_coverage \
minRayMarchSteps [DAILY_WEATHER] <empty> \
CloudLayer0 CloudLayer1 CloudLayer2 \
CloudLayer0_coverage CloudLayer1_coverage CloudLayer2_coverage \
CloudLayer0_density CloudLayer1_density CloudLayer2_density \
CloudLayer0_height CloudLayer1_height CloudLayer2_height \
### FOG
screen.Fog.columns=2
screen.Fog = VL_RENDER_RESOLUTION VL_SAMPLES \
FOG_START_HEIGHT BLOOMY_FOG \
<empty> <empty> \
Haze_amount RainFog_amount \
[TOD_fog] [Cave_Fog] \
[END_AND_NETHER_FOG] <empty> \
<empty> <empty> \
BorderFog PER_BIOME_ENVIRONMENT \
RAYMARCH_CLOUDS_WITH_FOG
screen.TOD_fog.columns=2
screen.TOD_fog = TOD_Fog_mult <empty> Morning_Uniform_Fog Morning_Cloudy_Fog Noon_Uniform_Fog Noon_Cloudy_Fog Evening_Uniform_Fog Evening_Cloudy_Fog Night_Uniform_Fog Night_Cloudy_Fog
screen.Cave_Fog.columns=1
screen.Cave_Fog = CAVE_FOG CaveFogFallOff CaveFogColor_R CaveFogColor_G CaveFogColor_B
screen.Fog_Color.columns=1
screen.Fog_Color = fog_coefficientRayleighR fog_coefficientRayleighG fog_coefficientRayleighB fog_coefficientMieR fog_coefficientMieG fog_coefficientMieB
screen.END_AND_NETHER_FOG.columns=1
screen.END_AND_NETHER_FOG = END_STORM_DENSTIY NETHER_PLUME_DENSITY
### WATER
screen.Water.columns=2
screen.Water = WATER_REFLECTIONS Refraction \
WATER_SUN_SPECULAR Vanilla_like_water \
SCREENSPACE_REFLECTIONS SSR_STEPS \
WATER_BACKGROUND_SPECULAR Dirt_Amount \
[Water_fog_color] Water_Top_Layer \
SNELLS_WINDOW WATER_WAVE_STRENGTH WATER_WAVE_SPEED LARGE_WAVE_DISPLACEMENT
screen.Water_fog_color.columns=1
screen.Water_fog_color = Dirt_Scatter_R Dirt_Scatter_G Dirt_Scatter_B Dirt_Absorb_R Dirt_Absorb_G Dirt_Absorb_B Water_Absorb_R Water_Absorb_G Water_Absorb_B
######## POST
screen.Post_Processing.columns=2
screen.Post_Processing = [TAA_OPTIONS] [Tonemapping] [Exposure] [DepthOfField] [Purkinje_effect] [COLOR_GRADING] [GAMEPLAY_EFFECTS] <empty> SHARPENING BLOOM_STRENGTH CAMERA_GRIDLINES MOTION_BLUR MOTION_BLUR_STRENGTH
### TAA
screen.TAA_OPTIONS.columns = 1
screen.TAA_OPTIONS= SCREENSHOT_MODE <empty> TAA BLEND_FACTOR <empty> TAA_UPSCALING SCALE_FACTOR
### DOF
screen.DepthOfField.columns = 1
screen.DepthOfField = DOF_QUALITY DOF_ANAMORPHIC_RATIO focal aperture MANUAL_FOCUS DoF_Adaptation_Speed FAR_BLUR_ONLY [JITTER_DOF]
screen.JITTER_DOF.columns=1
screen.JITTER_DOF = JITTER_STRENGTH FOCUS_LASER_COLOR SCREENSHOT_MODE
### EXPOSURE
screen.Exposure.columns = 1
screen.Exposure = AUTO_EXPOSURE EXPOSURE_MULTIPLIER Exposure_Speed Manual_exposure_value
### TONEMAPS
screen.Tonemapping.columns = 1
screen.Tonemapping = TONEMAP USE_ACES_COLORSPACE_APPROXIMATION SATURATION CROSSTALK
### PURKINJE
screen.Purkinje_effect.columns = 1
screen.Purkinje_effect = Purkinje_strength Purkinje_R Purkinje_G Purkinje_B Purkinje_Multiplier
### COLOR GRADING
screen.COLOR_GRADING.columns = 3
screen.COLOR_GRADING = \
LUMINANCE_CURVE LOWER_CURVE UPPER_CURVE \
<empty> <empty> <empty> \
COLOR_GRADING_ENABLED <empty> <empty> \
SHADOWS_GRADE_R MIDS_GRADE_R HIGHLIGHTS_GRADE_R \
SHADOWS_GRADE_G MIDS_GRADE_G HIGHLIGHTS_GRADE_G \
SHADOWS_GRADE_B MIDS_GRADE_B HIGHLIGHTS_GRADE_B \
SHADOWS_GRADE_MUL MIDS_GRADE_MUL HIGHLIGHTS_GRADE_MUL
### COOL GAMEPLAY EFFECTS
screen.GAMEPLAY_EFFECTS = MOTION_AMOUNT DAMAGE_TAKEN_EFFECT LOW_HEALTH_EFFECT WATER_ON_CAMERA_EFFECT
######## MOD SUPPORT SETTINGS
screen.Mod_support = [DISTANT_HORIZONS_SETTINGS]
screen.DISTANT_HORIZONS_SETTINGS.columns = 1
screen.DISTANT_HORIZONS_SETTINGS = DH_OVERDRAW_PREVENTION OVERDRAW_MAX_DISTANCE <empty> DH_AMBIENT_OCCLUSION DH_SUBSURFACE_SCATTERING DH_SCREENSPACE_REFLECTIONS <empty> DISTANT_HORIZONS_SHADOWMAP shadowDistance shadowMapResolution <empty> TOGGLE_VL_FOG VOLUMETRIC_CLOUDS
######## MISC SETTINGS
screen.Misc_Settings = [EXPERIMENTAL_STUFF] DEBUG_VIEW [the_end_orb] display_LUT WhiteWorld SSS_view ambientLight_only LIGHTNING_FLASH DISABLE_ENCHANT_GLINT DISABLE_VANILLA_EMISSIVES PARTICLE_RENDERING_FIX TRANSLUCENT_ENTITIES LIGHTING_EFFECTS_BLUR_FILTER [selection_box_outline]
screen.EXPERIMENTAL_STUFF = CLOUDS_INTERSECT_TERRAIN BLOOMY_PARTICLES ORIGINAL_CHOCAPIC_SKY BIOME_TINT_WATER HYPER_DETAILED_WAVES OLD_BLOOM PLANET_GROUND_BRIGHTNESS LIT_PARTICLE_BRIGHTNESS WATER_CAUSTICS_BRIGHTNESS OLD_CAVE_DETECTION
screen.the_end_orb.columns = 1
screen.the_end_orb = THE_ORB ORB_X ORB_Y ORB_Z ORB_ColMult ORB_R ORB_G ORB_B
screen.selection_box_outline.columns = 1
screen.selection_box_outline = SELECT_BOX SELECT_BOX_COL_R SELECT_BOX_COL_G SELECT_BOX_COL_B
#####################################
####### WEATHER RELATED STUFF #######
#####################################
screen.DAILY_WEATHER.columns = 2
screen.DAILY_WEATHER = Daily_Weather CHOOSE_RANDOM_WEATHER_PROFILE \
[DAY0_WEATHER] [DAY5_WEATHER] \
[DAY1_WEATHER] [DAY6_WEATHER] \
[DAY2_WEATHER] [DAY7_WEATHER] \
[DAY3_WEATHER] [DAY8_WEATHER] \
[DAY4_WEATHER] [DAY9_WEATHER]
screen.DAY0_WEATHER.columns = 2
screen.DAY0_WEATHER = DAY0_l0_coverage DAY0_l0_density DAY0_l1_coverage DAY0_l1_density DAY0_l2_coverage DAY0_l2_density DAY0_ufog_density DAY0_cfog_density
screen.DAY1_WEATHER.columns = 2
screen.DAY1_WEATHER = DAY1_l0_coverage DAY1_l0_density DAY1_l1_coverage DAY1_l1_density DAY1_l2_coverage DAY1_l2_density DAY1_ufog_density DAY1_cfog_density
screen.DAY2_WEATHER.columns = 2
screen.DAY2_WEATHER = DAY2_l0_coverage DAY2_l0_density DAY2_l1_coverage DAY2_l1_density DAY2_l2_coverage DAY2_l2_density DAY2_ufog_density DAY2_cfog_density
screen.DAY3_WEATHER.columns = 2
screen.DAY3_WEATHER = DAY3_l0_coverage DAY3_l0_density DAY3_l1_coverage DAY3_l1_density DAY3_l2_coverage DAY3_l2_density DAY3_ufog_density DAY3_cfog_density
screen.DAY4_WEATHER.columns = 2
screen.DAY4_WEATHER = DAY4_l0_coverage DAY4_l0_density DAY4_l1_coverage DAY4_l1_density DAY4_l2_coverage DAY4_l2_density DAY4_ufog_density DAY4_cfog_density
screen.DAY5_WEATHER.columns = 2
screen.DAY5_WEATHER = DAY5_l0_coverage DAY5_l0_density DAY5_l1_coverage DAY5_l1_density DAY5_l2_coverage DAY5_l2_density DAY5_ufog_density DAY5_cfog_density
screen.DAY6_WEATHER.columns = 2
screen.DAY6_WEATHER = DAY6_l0_coverage DAY6_l0_density DAY6_l1_coverage DAY6_l1_density DAY6_l2_coverage DAY6_l2_density DAY6_ufog_density DAY6_cfog_density
screen.DAY7_WEATHER.columns = 2
screen.DAY7_WEATHER = DAY7_l0_coverage DAY7_l0_density DAY7_l1_coverage DAY7_l1_density DAY7_l2_coverage DAY7_l2_density DAY7_ufog_density DAY7_cfog_density
screen.DAY8_WEATHER.columns = 2
screen.DAY8_WEATHER = DAY8_l0_coverage DAY8_l0_density DAY8_l1_coverage DAY8_l1_density DAY8_l2_coverage DAY8_l2_density DAY8_ufog_density DAY8_cfog_density
screen.DAY9_WEATHER.columns = 2
screen.DAY9_WEATHER = DAY9_l0_coverage DAY9_l0_density DAY9_l1_coverage DAY9_l1_density DAY9_l2_coverage DAY9_l2_density DAY9_ufog_density DAY9_cfog_density
# thank you sixthsurge!
#ifdef LIGHTNING_FLASH
#ifdef IS_IRIS
variable.float.lightningFlash = smooth(if(lightningBoltPosition.w > 0.0, 1.0, 0.0), 0.0, 0.0)
#else
variable.float.lightningFlash = smooth(if(equals(skyColor.r, skyColor.g, 0.01) && skyColor.r > 0.3, 1.0, 0.0), 0.0, 0.0)
#endif
#else
variable.float.lightningFlash = 0.0
#endif
uniform.vec3.lightningEffect = vec3(77.0 * lightningFlash, 153.0 * lightningFlash, 255.0 * lightningFlash)
###################################
####### BIOME RELATED STUFF #######
###################################
# in seconds
variable.int.BiomeTransitionTime = 60
#ifdef SWAMP_ENV
uniform.float.isSwamps = smooth(if(in(biome, 6, 52, 7), 1,0), BiomeTransitionTime, BiomeTransitionTime)
#else
uniform.float.isSwamps = 0.0
#endif
#ifdef JUNGLE_ENV
uniform.float.isJungles = smooth(if(in(biome, 23, 24, 25), 1,0), BiomeTransitionTime, BiomeTransitionTime)
#else
uniform.float.isJungles = 0.0
#endif
#ifdef DARKFOREST_ENV
uniform.float.isDarkForests = smooth(if(in(biome, 11), 1,0), BiomeTransitionTime, BiomeTransitionTime)
#else
uniform.float.isDarkForests = 0.0
#endif
#ifdef MANGROVE_ENV
uniform.float.isMangroveSwamp = smooth(if(in(biome, 7), 1,0), BiomeTransitionTime, BiomeTransitionTime)
#else
uniform.float.isMangroveSwamp = 0.0
#endif
#ifdef SNOW_STORMS
uniform.float.snowStorm = smooth(if(in(biome, 31, 32, 33, 34), rainStrength, 0), 15,30)
#else
uniform.float.snowStorm = 0.0;
#endif
#ifdef SAND_STORMS
#if defined IS_IRIS
uniform.float.sandStorm = smooth(if(in(biome, 5, 26, 27, 28), thunderStrength, 0), 15,30)
#else
uniform.float.sandStorm = smooth(if(in(biome, 5, 26, 27, 28), rainStrength, 0), 15,30)
#endif
#else
uniform.float.sandStorm = 0.0;
#endif
uniform.float.noPuddleAreas = smooth(if(in(biome, 3, 4, 16, 37, 39, 48, 49, 31, 32, 33, 34, 5, 17, 18, 26, 27, 28), 0,1), 15,15)
############################
####### RANDOM STUFF #######
############################
#if defined WATER_ON_CAMERA_EFFECT
uniform.float.exitWater = smooth(if(isEyeInWater == 1,1,0),0.0,5.0)
#endif
#if defined LOW_HEALTH_EFFECT || defined DAMAGE_TAKEN_EFFECT
#ifdef IS_IRIS
variable.float.Currenthealth = currentPlayerHealth * maxPlayerHealth
uniform.float.oneHeart = smooth(if(Currenthealth <= 2.0 && currentPlayerHealth > -1.0, 1,0), 0.0,1.0)
uniform.float.threeHeart = smooth(if(Currenthealth <= 6.0 && currentPlayerHealth > -1.0, 1,0), 0.0,1.0)
variable.float.interpolatedHealth = smooth(if(is_hurt, 0.0, Currenthealth), 0.0, 1.0)
# detect over 5 hearts of damage taken
variable.bool.largeHealthDifference = (interpolatedHealth - Currenthealth) >= 7.0
variable.bool.delayedCritDamage = smooth(if(largeHealthDifference, 1.0, 0.0), 0.0, 1.0) > 0.01
uniform.float.CriticalDamageTaken = smooth(if(delayedCritDamage && currentPlayerHealth > -1.0, 1.0, 0.0), 0.5, 3.0)
# detect over 2 hearts of damage taken
variable.bool.smallHealthDifference = (interpolatedHealth - Currenthealth) >= 3.0
uniform.float.MinorDamageTaken = smooth(if(smallHealthDifference && currentPlayerHealth > -1.0, 5.0, 0.0), 0.5, 1.0)
#else
uniform.bool.isDead = !is_alive
#endif
#endif
#if defined OLD_CAVE_DETECTION
variable.bool.inTheDarkTimer = smooth(if(eyeBrightness.y < 0.01, 1.0, 0.0), 10.0, 0.0) > 0.99
uniform.float.caveDetection = smooth(if(inTheDarkTimer, 1.0, 0.0), 3.0, 1.0)
#else
# the idea is to modulate the mood value between 0 - 1
# then check if the modulated value is non-zero. when it goes back to zero, it will have a very slowly deteriorating value.
# that value immediately regenerates when it modulates to 1 again. this way, i can check if the mood is climbing by checking if the smoothed value is above zero.
# doing this is just for readablity, not required.
variable.float.playerMoodPercent = playerMood*100.0 + 1.0
# modulo 0 - 1
variable.float.modMood = playerMoodPercent - floor(playerMoodPercent)
# check if mood is increasing.
# and only activate when mood is above the threshold (5% mood)
# make sure it degenerates slow enough that mood can reach 5% after the mood flips to 0% from 100%
variable.bool.moodIsClimbing = smooth(if(modMood > 0.50 && playerMoodPercent > 4.0, 1.0, eyeBrightness.x/240.0), 0.0, 10.0) > 0.1
# add one more check to turn it off when lightlevels are not zero
uniform.float.caveDetection = smooth(if(moodIsClimbing && eyeBrightness.y < 0.01, 1.0, 0.0), 3.0, 1.0)
#endif
# photon stuff
uniform.vec2.view_res = vec2(viewWidth, viewHeight)
uniform.vec2.view_pixel_size = vec2(1.0 / viewWidth, 1.0 / viewHeight)
texture.noise = texture/noises.png
texture.composite.colortex6 = texture/blueNoise.png
variable.float.texelSizeX = 1.0/viewWidth
variable.float.texelSizeY = 1.0/viewHeight
uniform.vec2.texelSize = vec2(texelSizeX,texelSizeY)
uniform.int.framemod8 = frameCounter%8
variable.float.normSunVec = sqrt(sunPosition.x*sunPosition.x+sunPosition.y*sunPosition.y+sunPosition.z*sunPosition.z)
variable.float.normUpVec = sqrt(upPosition.x*upPosition.x+upPosition.y*upPosition.y+upPosition.z*upPosition.z)
variable.float.sunPosX = sunPosition.x/normSunVec
variable.float.sunPosY = sunPosition.y/normSunVec
variable.float.sunPosZ = sunPosition.z/normSunVec
uniform.vec3.sunVec=vec3(sunPosX,sunPosY,sunPosZ)
variable.float.upPosX = upPosition.x/normUpVec
variable.float.upPosY = upPosition.y/normUpVec
variable.float.upPosZ = upPosition.z/normUpVec
uniform.vec3.upVec=vec3(upPosX,upPosY,upPosZ)
uniform.float.sunElevation = sunPosX*upPosX+sunPosY*upPosY+sunPosZ*upPosZ
uniform.float.lightSign = clamp(sunElevation * 1000000000000000000, 0.0, 1.0) * 2.0 - 1.0
#Max angle at frustrum diagonal
variable.float.maxAngle = atan(1.0 / gbufferProjection.1.1 * sqrt(1.0+(aspectRatio * aspectRatio)))
uniform.float.cosFov = cos(maxAngle)
variable.float.viewDirX = gbufferModelViewInverse.2.0
variable.float.viewDirY = gbufferModelViewInverse.2.1
variable.float.viewDirZ = gbufferModelViewInverse.2.2
variable.float.normView = sqrt(viewDirX*viewDirX + viewDirY*viewDirY + viewDirZ*viewDirZ)
variable.float.shViewDirX = (shadowModelView.0.0 * viewDirX + shadowModelView.1.0 * viewDirY + shadowModelView.2.0 * viewDirZ)/normView
variable.float.shViewDirY = (shadowModelView.0.1 * viewDirX + shadowModelView.1.1 * viewDirY + shadowModelView.2.1 * viewDirZ)/normView
variable.float.shViewDirZ = (shadowModelView.0.2 * viewDirX + shadowModelView.1.2 * viewDirY + shadowModelView.2.2 * viewDirZ)/normView
uniform.vec3.shadowViewDir = vec3(shViewDirX, shViewDirY, shViewDirZ)
variable.float.shStartX = (shadowModelView.0.0 * gbufferModelViewInverse.3.0 + shadowModelView.1.0 * gbufferModelViewInverse.3.1 + shadowModelView.2.0 * gbufferModelViewInverse.3.2)
variable.float.shStartY = (shadowModelView.0.1 * gbufferModelViewInverse.3.0 + shadowModelView.1.1 * gbufferModelViewInverse.3.1 + shadowModelView.2.1 * gbufferModelViewInverse.3.2)
variable.float.shStartZ = (shadowModelView.0.2 * gbufferModelViewInverse.3.0 + shadowModelView.1.2 * gbufferModelViewInverse.3.1 + shadowModelView.2.2 * gbufferModelViewInverse.3.2)
uniform.vec3.shadowCamera = vec3(shStartX + shadowModelView.3.0 + shViewDirX*2., shStartY + shadowModelView.3.1 + shViewDirY*2., shStartZ + shadowModelView.3.2 + shViewDirZ*2.0)
variable.float.wSunX = (gbufferModelViewInverse.0.0 * sunPosX + gbufferModelViewInverse.1.0 * sunPosY + gbufferModelViewInverse.2.0 * sunPosZ)
variable.float.wSunY = (gbufferModelViewInverse.0.1 * sunPosX + gbufferModelViewInverse.1.1 * sunPosY + gbufferModelViewInverse.2.1 * sunPosZ)
variable.float.wSunZ = (gbufferModelViewInverse.0.2 * sunPosX + gbufferModelViewInverse.1.2 * sunPosY + gbufferModelViewInverse.2.2 * sunPosZ)
variable.float.shSunX = (shadowModelView.0.0 * wSunX + shadowModelView.1.0 * wSunY + shadowModelView.2.0 * wSunZ)
variable.float.shSunY = (shadowModelView.0.1 * wSunX + shadowModelView.1.1 * wSunY + shadowModelView.2.1 * wSunZ)
variable.float.shSunZ = (shadowModelView.0.2 * wSunX + shadowModelView.1.2 * wSunY + shadowModelView.2.2 * wSunZ)
uniform.vec3.shadowLightVec = vec3(lightSign*shSunX, lightSign*shSunY, lightSign*shSunZ)
uniform.float.shadowMaxProj = 150.0/abs(sunPosY)
###############################
####### FLOODFILL STUFF #######
###############################
#ifdef LPV_ENABLED
image.imgBlockData = texBlockData RG_INTEGER RG32UI UNSIGNED_INT false false 2048
#if LPV_SIZE == 8
image.imgVoxelMask = none RED_INTEGER R16UI UNSIGNED_SHORT true false 256 256 256
image.imgLpv1 = texLpv1 RGB RGBA8 BYTE false false 256 256 256
image.imgLpv2 = texLpv2 RGB RGBA8 BYTE false false 256 256 256
#elif LPV_SIZE == 7
image.imgVoxelMask = none RED_INTEGER R16UI UNSIGNED_SHORT true false 128 128 128
image.imgLpv1 = texLpv1 RGB RGBA8 BYTE false false 128 128 128
image.imgLpv2 = texLpv2 RGB RGBA8 BYTE false false 128 128 128
#elif LPV_SIZE == 6
image.imgVoxelMask = none RED_INTEGER R16UI UNSIGNED_SHORT true false 64 64 64
image.imgLpv1 = texLpv1 RGB RGBA8 BYTE false false 64 64 64
image.imgLpv2 = texLpv2 RGB RGBA8 BYTE false false 64 64 64
#endif
#else
program.world1/setup.enabled = false
program.world0/setup.enabled = false
program.world-1/setup.enabled = false
program.world1/shadow.enabled = false
program.world-1/shadow.enabled = false
program.world1/shadowcomp.enabled = false
program.world0/shadowcomp.enabled = false
program.world-1/shadowcomp.enabled = false
#endif