From 848c3fe51a842950b14547491c74aaf580dc83ec Mon Sep 17 00:00:00 2001 From: proller Date: Sun, 30 Jun 2013 01:29:21 +0400 Subject: Optimize liquid queue on generate map for liquid_finite --- src/content_abm.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'src/content_abm.cpp') diff --git a/src/content_abm.cpp b/src/content_abm.cpp index 3704fe83d..6adcbf708 100644 --- a/src/content_abm.cpp +++ b/src/content_abm.cpp @@ -228,9 +228,12 @@ public: ServerMap *map = &env->getServerMap(); if (map->transforming_liquid_size() > 500) return; - //todo: look around except top - MapNode n_below = map->getNodeNoEx(p - v3s16(0, 1, 0)); - if (n_below.getContent() != CONTENT_AIR) + if ( map->getNodeNoEx(p - v3s16(0, 1, 0 )).getContent() != CONTENT_AIR // below + && map->getNodeNoEx(p - v3s16(1, 0, 0 )).getContent() != CONTENT_AIR // right + && map->getNodeNoEx(p - v3s16(-1, 0, 0 )).getContent() != CONTENT_AIR // left + && map->getNodeNoEx(p - v3s16(0, 0, 1 )).getContent() != CONTENT_AIR // back + && map->getNodeNoEx(p - v3s16(0, 0, -1)).getContent() != CONTENT_AIR // front + ) return; map->transforming_liquid_add(p); } -- cgit v1.2.3