- ITextureSource *tsrc() { return getTextureSource(); }
- ISoundManager *sound() { return getSoundManager(); }
- IShaderSource *shsrc() { return getShaderSource(); }
- MtEventManager *event() { return getEventManager(); }
- IRollbackManager *rollback() { return getRollbackManager();}
- EmergeManager *emerge() { return getEmergeManager(); }
+ 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;