Quick fix to a bug that makes it possible to raise water levels everywhere with one...
authorPerttu Ahola <celeron55@gmail.com>
Tue, 29 Nov 2011 16:21:00 +0000 (18:21 +0200)
committerPerttu Ahola <celeron55@gmail.com>
Tue, 29 Nov 2011 17:13:59 +0000 (19:13 +0200)
src/map.cpp

index 34bc31ba4098300c5a3b1cbde388ae1f6450ad96..0f50a1ef4dd4d6acc07c6f2efc8078011310fb34 100644 (file)
@@ -1683,7 +1683,9 @@ void Map::transformLiquids(core::map<v3s16, MapBlock*> & modified_blocks)
                                        if (nodemgr->getId(nodemgr->get(nb.n).liquid_alternative_flowing) != liquid_kind) {
                                                neutrals[num_neutrals++] = nb;
                                        } else {
-                                               sources[num_sources++] = nb;
+                                               // Do not count bottom source, it will screw things up
+                                               if(dirs[i].Y != -1)
+                                                       sources[num_sources++] = nb;
                                        }
                                        break;
                                case LIQUID_FLOWING: