- bool sameLiquid(const ContentFeatures &f) const{
- if(!isLiquid() || !f.isLiquid()) return false;
- return (liquid_alternative_flowing_id == f.liquid_alternative_flowing_id);
+
+ bool isLiquidRender() const {
+ return (drawtype == NDT_LIQUID || drawtype == NDT_FLOWINGLIQUID);
+ }
+
+ bool sameLiquidRender(const ContentFeatures &f) const {
+ if (!isLiquidRender() || !f.isLiquidRender())
+ return false;
+ return liquid_alternative_flowing_id == f.liquid_alternative_flowing_id &&
+ liquid_alternative_source_id == f.liquid_alternative_source_id;
+ }
+
+ ContentLightingFlags getLightingFlags() const {
+ ContentLightingFlags flags;
+ flags.has_light = param_type == CPT_LIGHT;
+ flags.light_propagates = light_propagates;
+ flags.sunlight_propagates = sunlight_propagates;
+ flags.light_source = light_source;
+ return flags;