Mudlet扩展包Packages和Mudlet模块Module有什么区别?

https://wiki.mudlet.org/w/Manual:Mudlet_Packages

Mudlet 扩展包和模块是用于管理资源和功能的两种核心方式,二者在设计目标和使用场景上既有重叠,也有显著区别。以下从相同点不同点两方面进行总结:

file file

一、相同点

  1. 核心功能一致
    两者均用于打包和分发 Mudlet 资源,包括触发器、别名、计时器、脚本、界面元素、图片等,目的是扩展 Mudlet 功能或实现特定游戏需求。

  2. 资源格式兼容
    扩展包和模块的底层文件结构相似,均支持 XML 资源文件和其他辅助文件(如图片、字体),且均可通过 ZIP 压缩格式存储(扩展包后缀为 .mpackage.zip,模块也可使用相同格式)。

  3. 共享与分发场景重叠
    两者均可用于分享自定义功能给其他用户,无论是通过官方仓库、论坛还是直接传输文件。

二、不同点

对比维度 Mudlet 扩展包(Package) Mudlet 模块(Module)
导入/管理工具 通过 扩展包管理器(Alt+O) 安装和管理。 通过 模块管理器(Alt+I) 安装和管理。
存储与同步机制 安装后资源保存到配置文件(profile)的本地文件中,与原始扩展包文件分离。更新需手动下载新版本或通过仓库更新。 安装后资源直接关联并保存到原始模块文件中,修改后自动更新原始文件(无需手动导出)。支持跨配置文件同步(勾选“sync”选项)。
适用场景 适合最终用户使用的成品功能(如游戏 GUI、战斗辅助),安装后无需频繁修改。 适合开发者开发和共享代码,或需要跨配置文件复用的通用功能(如工具类脚本),支持实时更新和版本控制(如通过 Git)。
加载优先级 无特殊优先级,按配置文件内脚本顺序加载。 可设置优先级(如 -1 级),确保在配置文件中所有脚本之前加载。
依赖管理 需手动声明依赖扩展包,安装时由扩展包管理器检查。 依赖管理逻辑与扩展包一致,但模块本身可作为其他模块/扩展包的依赖。
卸载后残留 卸载后资源从配置文件中删除,但可能残留手动创建的变量或文件。 卸载后原始模块文件仍保留(需手动删除),配置文件中无残留。

三、总结建议

  • 选择扩展包:如果你是普通用户,需要安装现成的功能(如地图工具、游戏插件),或希望资源与特定配置文件绑定,优先使用扩展包。
  • 选择模块:如果你是开发者,需要频繁修改代码并共享给他人,或希望在多个配置文件中同步使用同一套功能(如通用脚本库),优先使用模块。

两者的核心区别在于资源存储位置和同步逻辑:扩展包适合“一次性安装使用”,模块适合“动态开发和跨配置文件复用”。


Mudlet扩展包和模块的在线安装指令存在一定差异,具体如下:

  • 扩展包安装指令:使用installPackage函数,参数可以是本地文件路径,也可以是网址,如installPackage("https://mud.ren/storage/mudren.mpackage.zip"),会自动下载并安装指定网址的扩展包。此外,还可通过mpkg包管理器来安装,先安装mpkg,之后便可使用mpkg install命令安装扩展包。
  • 模块安装指令:使用installModule函数,不过该函数通常只能安装本地文件,如installModule(getMudletHomeDir().."/modules/myTabChat.xml"),若要安装远程模块,需先将远程文件下载到本地,再指定本地路径进行安装。

总体而言,扩展包安装更灵活,支持直接从网址安装,而模块安装目前主要是针对本地文件,远程模块需先下载再安装。

京ICP备13031296号-4