diff --git a/shaders/dimensions/composite1.fsh b/shaders/dimensions/composite1.fsh
index e8cdeed..8e24d9a 100644
--- a/shaders/dimensions/composite1.fsh
+++ b/shaders/dimensions/composite1.fsh
@@ -726,8 +726,10 @@ void main() {
 				#if RESOURCEPACK_SKY == 1
 					Background += toLinear(texture2D(colortex10, texcoord).rgb * (255.0 * 2.0));
 				#endif
+				#ifndef ambientLight_only
 					Background += drawSun(dot(lightCol.a * WsunVec, feetPlayerPos_normalized),0, DirectLightColor,vec3(0.0));
 					Background += drawMoon(feetPlayerPos_normalized,  lightCol.a * WsunVec, DirectLightColor*20, Background); 
+				#endif
 			#endif
 
 
diff --git a/shaders/lang/en_us.lang b/shaders/lang/en_us.lang
index 387bb55..243fe00 100644
--- a/shaders/lang/en_us.lang
+++ b/shaders/lang/en_us.lang
@@ -12,6 +12,7 @@ screen.Sun_and_Moon_Colors = Sun/Moon Colors
 option.sunPathRotation = Sun Angle
 option.sun_illuminance = Sun Illuminance
 option.moon_illuminance = Moon Illuminance
+option.MOONPHASE_BASED_MOONLIGHT = Moonphase brightness levels
 
 option.RESOURCEPACK_SKY = RP Sky
     value.RESOURCEPACK_SKY.0 = Do not use
@@ -500,4 +501,5 @@ screen.Post_Processing.comment = Configure settings for all post processing effe
 option.RESOURCEPACK_SKY.comment = Toggle resourcepack sky support. Configure settings to use the whole resourcepack sky, or keep the shader's sun and moon. §aPERFORMANCE COST:§r very low
 
 option.MATERIAL_AO.comment = Toggle the use of ambient occlusion based on what the resourcepack provides. §aPERFORMANCE COST:§r very low
-option.WATER_WAVE_STRENGTH.comment = configure how strong the waves appear.
\ No newline at end of file
+option.WATER_WAVE_STRENGTH.comment = configure how strong the waves appear.
+option.MOONPHASE_BASED_MOONLIGHT.comment = §bWhat is this?§r every night, the moon has different lighting. This setting adjusts the moonlight brightness based on how much of the moon is glowing. §aPERFORMANCE COST:§r nearly nothing
\ No newline at end of file
diff --git a/shaders/lib/settings.glsl b/shaders/lib/settings.glsl
index 5970d3d..180cd5e 100644
--- a/shaders/lib/settings.glsl
+++ b/shaders/lib/settings.glsl
@@ -249,7 +249,7 @@ const float	sunPathRotation	= -35;	//[-90 -89 -88 -87 -86 -85 -84 -83 -82 -81 -8
 
 #define SSS_TYPE 2 // [0 1 2 3]
 #define LabSSS_Curve 1.0 // [0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2.0 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 3.0 ]
-#define MOB_SSS
+// #define MOB_SSS
 // #define MISC_BLOCK_SSS
 #define Ambient_SSS
 #define ambientsss_brightness 1.0 // [0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2.0 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 3.0]
@@ -292,16 +292,23 @@ const float	sunPathRotation	= -35;	//[-90 -89 -88 -87 -86 -85 -84 -83 -82 -81 -8
 #define moonColorG 0.9121 //[0.0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.1 0.11 0.12 0.13 0.14 0.15 0.16 0.17 0.18 0.19 0.2 0.21 0.22 0.23 0.24 0.25 0.26 0.27 0.28 0.29 0.3 0.31 0.32 0.33 0.34 0.35 0.36 0.37 0.38 0.39 0.4 0.41 0.42 0.43 0.44 0.45 0.46 0.47 0.48 0.49 0.5 0.51 0.52 0.53 0.54 0.55 0.56 0.57 0.58 0.59 0.6 0.61 0.62 0.63 0.64 0.65 0.66 0.67 0.68 0.69 0.7 0.71 0.72 0.73 0.74 0.75 0.76 0.77 0.78 0.79 0.8 0.81 0.82 0.83 0.84 0.85 0.86 0.87 0.88 0.89 0.9 0.91 0.92 0.93 0.94 0.95 0.96 0.97 0.98 0.99 1.0 ]
 #define moonColorB 0.8948 //[0.0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.1 0.11 0.12 0.13 0.14 0.15 0.16 0.17 0.18 0.19 0.2 0.21 0.22 0.23 0.24 0.25 0.26 0.27 0.28 0.29 0.3 0.31 0.32 0.33 0.34 0.35 0.36 0.37 0.38 0.39 0.4 0.41 0.42 0.43 0.44 0.45 0.46 0.47 0.48 0.49 0.5 0.51 0.52 0.53 0.54 0.55 0.56 0.57 0.58 0.59 0.6 0.61 0.62 0.63 0.64 0.65 0.66 0.67 0.68 0.69 0.7 0.71 0.72 0.73 0.74 0.75 0.76 0.77 0.78 0.79 0.8 0.81 0.82 0.83 0.84 0.85 0.86 0.87 0.88 0.89 0.9 0.91 0.92 0.93 0.94 0.95 0.96 0.97 0.98 0.99 1.0 ]
 
-uniform int moonPhase;
-#define moonlightbrightness (abs(4-moonPhase))
-#define moonlightbrightness2 (moonlightbrightness/4.0)
+#define MOONPHASE_BASED_MOONLIGHT
 
 #if colortype == 1
 	#define sunColorBase vec3(sunColorR,sunColorG,sunColorB) * sun_illuminance
 	#define moonColorBase vec3(moonColorR,moonColorG,moonColorB) * moon_illuminance    //Fake Purkinje effect
 #else
 	#define sunColorBase blackbody(Sun_temp) * sun_illuminance
-	#define moonColorBase blackbody(Moon_temp) * moon_illuminance * moonlightbrightness2  //Fake Purkinje effect
+
+	#ifdef MOONPHASE_BASED_MOONLIGHT
+		uniform int moonPhase;
+		#define phasebrightness (abs(4-moonPhase))
+		#define moonlightbrightness (phasebrightness/4.0)
+		#define moonColorBase blackbody(Moon_temp) * (moon_illuminance * moonlightbrightness)  //Fake Purkinje effect
+	#else
+		#define moonColorBase blackbody(Moon_temp) * moon_illuminance  //Fake Purkinje effect
+	#endif
+
 #endif
 
 
diff --git a/shaders/lib/volumetricClouds.glsl b/shaders/lib/volumetricClouds.glsl
index e0673c0..3c7f656 100644
--- a/shaders/lib/volumetricClouds.glsl
+++ b/shaders/lib/volumetricClouds.glsl
@@ -238,6 +238,11 @@ vec4 renderClouds(
 	SunColor =  SunColor * clamp(dV_Sun.y ,0.0,1.0);
 	MoonColor *=  clamp(-dV_Sun.y,0.0,1.0);
 
+	#ifdef ambientLight_only
+		SunColor = vec3(0.0);
+		MoonColor = vec3(0.0);
+	#endif
+
 	if(dV_Sun.y/shadowStep < -0.1) dV_Sun = -dV_Sun;
 	
 	float mieDay = phaseg(SdotV, 0.75);
diff --git a/shaders/lib/volumetricFog.glsl b/shaders/lib/volumetricFog.glsl
index c990015..90c363e 100644
--- a/shaders/lib/volumetricFog.glsl
+++ b/shaders/lib/volumetricFog.glsl
@@ -124,6 +124,9 @@ vec4 GetVolumetricFog(
 	
 	// Makes fog more white idk how to simulate it correctly
 	vec3 LightSourceColor = LightColor;
+	#ifdef ambientLight_only
+		LightSourceColor = vec3(0.0);
+	#endif
 	vec3 skyCol0 = AmbientColor / 2.0;
 
 	// recolor change sun and sky color to a color, but make sure luminance is preserved.
diff --git a/shaders/shaders.properties b/shaders/shaders.properties
index 7e9c5e4..555c575 100644
--- a/shaders/shaders.properties
+++ b/shaders/shaders.properties
@@ -87,7 +87,7 @@ PhysicsMod_support  [LabPBR]
 ######## LIGHTING
     ### DIRECT LIGHT
         screen.Direct_Light.columns=1
-        screen.Direct_Light = [Shadows] [Subsurface_Scattering] [Sun_and_Moon_Colors] sunPathRotation sun_illuminance moon_illuminance OLD_LIGHTLEAK_FIX
+        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 = SCREENSPACE_CONTACT_SHADOWS RENDER_ENTITY_SHADOWS <empty>  [Filtering]  shadowMapResolution shadowDistance shadowDistanceRenderMul