- IItemDefManager *idef() { return getItemDefManager(); }
- INodeDefManager *ndef() { return getNodeDefManager(); }
- ICraftDefManager *cdef() { return getCraftDefManager(); }
-
- MtEventManager *event() { return getEventManager(); }
- IRollbackManager *rollback() { return getRollbackManager();}
+ 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 std::string getModStoragePath() const = 0;
+ virtual bool registerModStorage(ModMetadata *storage) = 0;
+ virtual void unregisterModStorage(const std::string &name) = 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;