private void tryToFall(World var1, int var2, int var3, int var4) {
      if(canFallBelow(var1, var2, var3 - 1, var4) && var3 >= 0) {
         byte var8 = 32;
         if(!fallInstantly && var1.checkChunksExist(var2 - var8, var3 - var8, var4 - var8, var2 + var8, var3 + var8, var4 + var8)) {
            EntityFallingSand var9 = new EntityFallingSand(var1, (double)((float)var2 + 0.5F), (double)((float)var3 + 0.5F), (double)((float)var4 + 0.5F), this.blockID);
            var1.entityJoinedWorld(var9);
         } else {
            var1.setBlockWithNotify(var2, var3, var4, 0);

            while(canFallBelow(var1, var2, var3 - 1, var4) && var3 > 0) {
               --var3;
            }

            if(var3 > 0) {
               var1.setBlockWithNotify(var2, var3, var4, this.blockID);
            }
         }
      }

   }