          GL11.glCallList(glSkyList);
          GL11.glDisable(2912 /*GL_FOG*/);
          GL11.glDisable(3008 /*GL_ALPHA_TEST*/);
-@@ -976,11 +979,12 @@ public class RenderGlobal
+@@ -968,6 +971,12 @@ public class RenderGlobal
+             f3 = f7;
+             f4 = f8;
+         }
++		// Set cloud colour
++        float cloudColourScale = com.amee.minecraft.Atmosphere.cloudColourScale();
++		f2 *= cloudColourScale;
++		f3 *= cloudColourScale;
++		f4 *= cloudColourScale;
++		
+         float f6 = 0.0004882812F;
+         double d = (float)cloudOffsetX + f;
+         double d1 = mc.renderViewEntity.prevPosX + (mc.renderViewEntity.posX - mc.renderViewEntity.prevPosX) * (double)f + d * 0.029999999329447746D;
+@@ -976,7 +985,7 @@ public class RenderGlobal
          int k = MathHelper.floor_double(d2 / 2048D);
          d1 -= j * 2048 /*GL_EXP*/;
          d2 -= k * 2048 /*GL_EXP*/;

         float f10 = (float)(d1 * (double)f6);
         float f11 = (float)(d2 * (double)f6);
         tessellator.startDrawingQuads();
-        tessellator.setColorRGBA_F(f2, f3, f4, 0.8F);
+        float cloudColourScale = com.amee.minecraft.Atmosphere.cloudColourScale();
+        tessellator.setColorRGBA_F(f2*cloudColourScale, f3*cloudColourScale, f4*cloudColourScale, 0.8F);
         for(int l = -byte0 * i; l < byte0 * i; l += byte0)
         {
             for(int i1 = -byte0 * i; i1 < byte0 * i; i1 += byte0)

diff --git a/minecraft/net/minecraft/src/RenderGlobal.java b/minecraft/net/minecraft/src/RenderGlobal.java
index 139b9a4..1a46294 100644
--- a/minecraft/net/minecraft/src/RenderGlobal.java
+++ b/minecraft/net/minecraft/src/RenderGlobal.java
@@ -10,6 +10,8 @@ import net.minecraft.client.Minecraft;
