Falling sand and gravel
[oweals/minetest.git] / src / gamedef.h
index 79f5d188e304199269bda07c9bf7c0936e3ae708..bca27a21a426de68ea073475b9267d77badc0ce6 100644 (file)
@@ -20,8 +20,11 @@ with this program; if not, write to the Free Software Foundation, Inc.,
 #ifndef GAMEDEF_HEADER
 #define GAMEDEF_HEADER
 
+#include <string>
+
 class IToolDefManager;
 class INodeDefManager;
+class ICraftDefManager;
 //class IItemDefManager; //TODO
 // Mineral too?
 class ITextureSource;
@@ -38,15 +41,20 @@ public:
        // Thus, first they are set up and then they are only read.
        virtual IToolDefManager* getToolDefManager()=0;
        virtual INodeDefManager* getNodeDefManager()=0;
+       virtual ICraftDefManager* getCraftDefManager()=0;
        //virtual IItemDefManager* getItemDefManager()=0;
 
        // This is always thread-safe, but referencing the irrlicht texture
        // pointers in other threads than main thread will make things explode.
        virtual ITextureSource* getTextureSource()=0;
+       
+       // Used for keeping track of names/ids of unknown nodes
+       virtual u16 allocateUnknownNodeId(const std::string &name)=0;
 
        // Shorthands
        IToolDefManager* tdef(){return getToolDefManager();}
        INodeDefManager* ndef(){return getNodeDefManager();}
+       ICraftDefManager* cdef(){return getCraftDefManager();}
        ITextureSource* tsrc(){return getTextureSource();}
 };