summaryrefslogtreecommitdiff
path: root/src/mapnode.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/mapnode.h')
-rw-r--r--src/mapnode.h25
1 files changed, 23 insertions, 2 deletions
diff --git a/src/mapnode.h b/src/mapnode.h
index 389fa1c9c..4c2b92853 100644
--- a/src/mapnode.h
+++ b/src/mapnode.h
@@ -128,8 +128,8 @@ struct ContentFeatures
bool pointable;
// Player can dig these
bool diggable;
- // Player can climb these
- bool climbable;
+ // Player can climb these
+ bool climbable;
// Player can build on these
bool buildable_to;
// Whether the node has no liquid, source liquid or flowing liquid
@@ -153,12 +153,23 @@ struct ContentFeatures
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;
+ // Special irrlicht material, used sometimes
+ video::SMaterial *special_material;
+ AtlasPointer *special_atlas;
// Amount of light the node emits
u8 light_source;
// Digging properties for different tools
DiggingPropertiesList digging_properties;
+
+ u32 damage_per_second;
// NOTE: Move relevant properties to here from elsewhere
@@ -181,8 +192,14 @@ struct ContentFeatures
dug_item = "";
initial_metadata = NULL;
liquid_alternative_flowing = CONTENT_IGNORE;
+ liquid_alternative_source = CONTENT_IGNORE;
+ liquid_viscosity = 0;
+ vertex_alpha = 255;
+ special_material = NULL;
+ special_atlas = NULL;
light_source = 0;
digging_properties.clear();
+ damage_per_second = 0;
}
ContentFeatures()
@@ -412,6 +429,10 @@ enum LightBank
#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.
*/