+ // Shorthands
+ IItemDefManager *idef() { return getItemDefManager(); }
+ const NodeDefManager *ndef() { return getNodeDefManager(); }
+ ICraftDefManager *cdef() { return getCraftDefManager(); }
+ IRollbackManager *rollback() { return getRollbackManager(); }
+
+ 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 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;
+ virtual bool sendModChannelMessage(const std::string &channel,
+ const std::string &message) = 0;
+ virtual ModChannel *getModChannel(const std::string &channel) = 0;
+};