模组SDK

From Minecraft基岩版开发Wiki

模组SDK(ModSDK)网易为拓展更多玩法在附加包基础上修改而成的一套模组体系。模组SDK大致分为自定义游戏内容模组API两方面内容。

模组SDK与原版附加包的侧重方向不同,原版更期望开发者使用JSON开发更多内容,而网易则注重将JSON与模组API结合进行开发。

模组SDK支持当前基岩引擎版本号下几乎全部的原版附加包接口,故兼并原生附加包的优点。

官方文档地址:网易开发者文档

目前模组SDK的最新版本为2.1(游戏版本1.17.3

网易开发者申请网站:创造者计划

*注:现在从网易MC内部抽出的所有附加包全部经过加密,不可用于其他任何地方。

自定义游戏内容[edit]

自定义游戏内容是网易在附加包的基础上对原有组件进行增添而形成的一套体系。格式语言为JSON

自定义游戏内容支持当前游戏版本号下几乎全部原生附加包的JSON内容,并且有许多网易增添的新组件。所有网易特色组件(即前缀为netease:的组件)都无法在原版下使用。

当前版本(网易2.1)网易的自定义游戏内容如下表:

  • 有部分增添:
  • 完全新增或与原版可用定义方式完全不同:
    • 自定义远程武器
    • 自定义盾牌
    • 自定义状态效果(需配合模组API使用)
    • 自定义维度(可配合模组API使用)
      • 自定义地形
    • 自定义UI(需配合模组API使用)
    • 自定义粒子效果(需配合实体使用)
    • 自定义附魔
    • 自定义书
    • 微缩方块
    • 自定义实体行为(需配合模组API使用)

绝大部分自定义游戏内容可用网易的我的世界开发者编辑器进行编辑。

Python脚本开发(模组API)[edit]

Python脚本开发(模组API,又称PyMod或ModAPI)是网易为了使开发者在自定义游戏内容的基础上对游戏内的各种因素进行更深化的定制而开发的引擎。其用法和地位类似于原版的脚本引擎(ScriptEngine)。顾名思义,其格式语言为Python,修改范围包含方块、实体、维度、玩家、物品、UI、特效、模型等等区域,覆盖面极广,功能强大。哪怕是高级功能很少的附加包里,使用模组API代替原版Player.json中的许多用法也可以避免与其他包冲突,使包的兼容性大大提升。

模组API的工作方式与脚本引擎的工作方式有许多相似之处,分为服务端客户端,基本处理流程为[监听事件-#响应事件-回调函数-执行逻辑(调用组件)#-销毁事件](其中##部分为循环部分)。当然,在这个流程中也存在着很大的操作空间,比如发送自定义事件到不同系统,以及使用Python的所有原生支持功能等。实际游戏中大部分高级功能都是由模组API实现的。

在实际游戏中下载的附加包里,Python脚本开发的使用内容保存在行为包根目录下的Script.mcp加密文件中,以防被拆包。

Template:ModFormat