bool light_propagates;
bool sunlight_propagates;
u8 solidness; // Used when choosing which face is drawn
+ u8 visual_solidness; // When solidness=0, this tells how it looks like
// This is used for collision detection.
// Also for general solidness queries.
bool walkable;
content_t liquid_alternative_flowing;
// If the content is liquid, this is the source version of the liquid.
content_t liquid_alternative_source;
+ // Viscosity for fluid flow, ranging from 1 to 7, with
+ // 1 giving almost instantaneous propagation and 7 being
+ // the slowest possible
+ u8 liquid_viscosity;
// Used currently for flowing liquids
u8 vertex_alpha;
+ // Post effect color, drawn when the camera is inside the node.
+ video::SColor post_effect_color;
// Special irrlicht material, used sometimes
video::SMaterial *special_material;
AtlasPointer *special_atlas;
// Digging properties for different tools
DiggingPropertiesList digging_properties;
+
+ u32 damage_per_second;
// NOTE: Move relevant properties to here from elsewhere
light_propagates = false;
sunlight_propagates = false;
solidness = 2;
+ visual_solidness = 0;
walkable = true;
pointable = true;
diggable = true;
initial_metadata = NULL;
liquid_alternative_flowing = CONTENT_IGNORE;
liquid_alternative_source = CONTENT_IGNORE;
+ liquid_viscosity = 0;
vertex_alpha = 255;
+ post_effect_color = video::SColor(0, 0, 0, 0);
special_material = NULL;
special_atlas = NULL;
light_source = 0;
digging_properties.clear();
+ damage_per_second = 0;
}
ContentFeatures()
#define LIQUID_LEVEL_MASK 0x07
#define LIQUID_FLOW_DOWN_MASK 0x08
+/* maximum amount of liquid in a block */
+#define LIQUID_LEVEL_MAX LIQUID_LEVEL_MASK
+#define LIQUID_LEVEL_SOURCE (LIQUID_LEVEL_MAX+1)
+
/*
This is the stuff what the whole world consists of.
*/