#define CONTENT_MAPNODE_HEADER
#include "mapnode.h"
+class ITextureSource;
+class IWritableNodeDefManager;
-void content_mapnode_init();
+/*
+ Initialize default node definitions
+
+ This accesses tsrc; if it is non-NULL, textures are set
+ for the nodes.
+
+ Client first calls this with tsrc=NULL to run some
+ unit tests and stuff, then it runs this again with tsrc
+ defined to get the textures.
+
+ Server only calls this once with tsrc=NULL.
+*/
+void content_mapnode_init(ITextureSource *tsrc, IWritableNodeDefManager *nodemgr);
+// Backwards compatibility for non-extended content types in v19
+extern content_t trans_table_19[21][2];
MapNode mapnode_translate_from_internal(MapNode n_from, u8 version);
MapNode mapnode_translate_to_internal(MapNode n_from, u8 version);
// 0x000...0x07f (0...127): param2 is fully usable
// 126 and 127 are reserved.
-// Use these sparingly, only when the extra space in param2 is needed.
+// Use these sparingly, only when the extra space in param2 might be needed.
+// Add a space when there is unused space between numbers.
#define CONTENT_STONE 0
+
#define CONTENT_WATER 2
#define CONTENT_TORCH 3
+
#define CONTENT_WATERSOURCE 9
+
#define CONTENT_SIGN_WALL 14
#define CONTENT_CHEST 15
#define CONTENT_FURNACE 16
-//#define CONTENT_WORKBENCH 17
+#define CONTENT_LOCKABLE_CHEST 17
+
#define CONTENT_FENCE 21
-// 0x800...0xfff: param2 higher 4 bytes are not usable
+#define CONTENT_RAIL 30
+#define CONTENT_LADDER 31
+#define CONTENT_LAVA 32
+#define CONTENT_LAVASOURCE 33
+
+// 0x800...0xfff (2048...4095): higher 4 bytes of param2 are not usable
#define CONTENT_GRASS 0x800 //1
#define CONTENT_TREE 0x801 //4
#define CONTENT_LEAVES 0x802 //5
#define CONTENT_GLASS 0x80c //20
#define CONTENT_MOSSYCOBBLE 0x80d //22
#define CONTENT_GRAVEL 0x80e //23
+#define CONTENT_SANDSTONE 0x80f //24
+#define CONTENT_CACTUS 0x810 //25
+#define CONTENT_BRICK 0x811 //26
+#define CONTENT_CLAY 0x812 //27
+#define CONTENT_PAPYRUS 0x813 //28
+#define CONTENT_BOOKSHELF 0x814 //29
+#define CONTENT_JUNGLETREE 0x815
+#define CONTENT_JUNGLEGRASS 0x816
+#define CONTENT_NC 0x817
+#define CONTENT_NC_RB 0x818
+#define CONTENT_APPLE 0x819
+#define CONTENT_SAPLING 0x820
#endif