          reset();
      }
  
-@@ -265,6 +265,15 @@
+@@ -265,6 +266,15 @@
  
      public void addVertex(double d, double d1, double d2)
      {

     }
 
     private void updateAndPropagateCurrentStrength(World world, int i, int j, int k)
@@ -451,6 +451,10 @@
         {
             return false;
         }

     private int func_35241_e(int i, int j, int k, int l, int i1, int j1)
     {
-        int k1 = Block.lightValue[i1];
+	int k1 = (i1==0)?0:Block.blocksList[i1].getLightValue(this,j,k,l);
         int l1 = getSavedLightValue(EnumSkyBlock.Block, j - 1, k, l) - j1;
         int i2 = getSavedLightValue(EnumSkyBlock.Block, j + 1, k, l) - j1;
         int j2 = getSavedLightValue(EnumSkyBlock.Block, j, k - 1, l) - j1;
