          float f10 = (float)(d1 * (double)f6);
          float f11 = (float)(d2 * (double)f6);
          tessellator.startDrawingQuads();
--        tessellator.setColorRGBA_F(f2, f3, f4, 0.8F);
+@@ -1014,7 +1023,7 @@ public class RenderGlobal
+         double d = (float)cloudOffsetX + f;
+         double d1 = (mc.renderViewEntity.prevPosX + (mc.renderViewEntity.posX - mc.renderViewEntity.prevPosX) * (double)f + d * 0.029999999329447746D) / (double)f2;
+         double d2 = (mc.renderViewEntity.prevPosZ + (mc.renderViewEntity.posZ - mc.renderViewEntity.prevPosZ) * (double)f) / (double)f2 + 0.33000001311302185D;
+-        float f4 = (worldObj.worldProvider.getCloudHeight() - f1) + 0.33F;
++        float f4 = (worldObj.worldProvider.getCloudHeight() - f1) + 0.33F + com.amee.minecraft.Atmosphere.cloudHeightOffset();
+         int i = MathHelper.floor_double(d1 / 2048D);
+         int j = MathHelper.floor_double(d2 / 2048D);
+         d1 -= i * 2048 /*GL_EXP*/;
+@@ -1035,6 +1044,12 @@ public class RenderGlobal
+             f6 = f10;
+             f7 = f12;
+         }
++		// Set cloud colour
 +        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)
++		f5 *= cloudColourScale;
++		f6 *= cloudColourScale;
++		f7 *= cloudColourScale;
++
+         float f9 = (float)(d1 * 0.0D);
+         float f11 = (float)(d2 * 0.0D);
+         float f13 = 0.00390625F;

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

         GL11.glCallList(glSkyList);
         GL11.glDisable(2912 /*GL_FOG*/);
         GL11.glDisable(3008 /*GL_ALPHA_TEST*/);
@@ -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*/;
