]> git.lizzy.rs Git - dragonfireclient.git/blobdiff - src/gamedef.h
Merge branch 'master' of https://github.com/minetest/minetest
[dragonfireclient.git] / src / gamedef.h
index 723404106ca1d880bcf82feefe8fbccb7ba2d3fb..4434da369c0ab7bb0d3fa190459737a0012c7023 100644 (file)
@@ -34,6 +34,7 @@ class EmergeManager;
 class Camera;
 class ModChannel;
 class ModMetadata;
+class ModMetadataDatabase;
 
 namespace irr { namespace scene {
        class IAnimatedMesh;
@@ -65,6 +66,8 @@ class IGameDef
        virtual IRollbackManager* getRollbackManager() { return NULL; }
 
        // Shorthands
+       // TODO: these should be made const-safe so that a const IGameDef* is
+       //       actually usable
        IItemDefManager  *idef()     { return getItemDefManager(); }
        const NodeDefManager  *ndef() { return getNodeDefManager(); }
        ICraftDefManager *cdef()     { return getCraftDefManager(); }
@@ -73,9 +76,9 @@ class IGameDef
        virtual const std::vector<ModSpec> &getMods() const = 0;
        virtual const ModSpec* getModSpec(const std::string &modname) const = 0;
        virtual std::string getWorldPath() const { return ""; }
-       virtual std::string getModStoragePath() const = 0;
        virtual bool registerModStorage(ModMetadata *storage) = 0;
        virtual void unregisterModStorage(const std::string &name) = 0;
+       virtual ModMetadataDatabase *getModStorageDatabase() = 0;
 
        virtual bool joinModChannel(const std::string &channel) = 0;
        virtual bool leaveModChannel(const std::string &channel) = 0;