virtual void trigger(ServerEnvironment *env, v3s16 p, MapNode n) { ServerMap *map = &env->getServerMap(); if (map->transforming_liquid_size() < 500) map->transforming_liquid_add(p); //if ((*map).m_transforming_liquid.size() < 500) (*map).m_transforming_liquid.push_back(p); }
virtual void trigger(ServerEnvironment *env, v3POS p, MapNode n, u32 active_object_count, u32 active_object_count_wider, MapNode neighbor, bool activate) { ServerMap *map = &env->getServerMap(); if (map->transforming_liquid_size() > map->m_liquid_step_flow) return; if ( map->getNodeTry(p - v3POS(0, 1, 0 )).getContent() != CONTENT_AIR // below && map->getNodeTry(p - v3POS(1, 0, 0 )).getContent() != CONTENT_AIR // right && map->getNodeTry(p - v3POS(-1, 0, 0 )).getContent() != CONTENT_AIR // left && map->getNodeTry(p - v3POS(0, 0, 1 )).getContent() != CONTENT_AIR // back && map->getNodeTry(p - v3POS(0, 0, -1)).getContent() != CONTENT_AIR // front ) return; map->transforming_liquid_push_back(p); }