API 模块
概述
Script API 为开发者提供了与 Minecraft 交互的模块。此外,您需要根据附加包中使用的模块设置清单依赖项。
| 模块名称 | UUID | 曾用名 | 首个模块版本 |
|---|---|---|---|
@minecraft/common | 77ec12b4-1b2b-4c98-8d34-d1cd63f849d5 | Engine 1.20.40 | |
@minecraft/debug-utilities | 1796ea86-0daf-4409-99ee-fd6467cf1203 | Engine 1.20.70 | |
@minecraft/server | b26a4d4c-afdf-4690-88f8-931846312678 | Minecraft, mojang-minecraft | Engine 1.16.210 |
@minecraft/server-ui | 2bd50a27-ab5f-4f40-a596-3641627c635e | mojang-minecraft-ui | Engine 1.18.20 |
@minecraft/server-gametest | 6f4b6893-1bb6-42fd-b458-7fa3d0c89616 | GameTest, mojang-gametest | Engine 1.16.210 |
@minecraft/server-net | 777b1798-13a6-401c-9cba-0cf17e31a81b | mojang-net | Engine 1.19.10 |
@minecraft/server-admin | 53d7f2bf-bf9c-49c4-ad1f-7c803d947920 | mojang-minecraft-server-admin | Engine 1.19.10 |
@minecraft/server-editor-bindings | 8518d9c7-a1f5-4bf3-acc7-78e87df595fc | Engine 1.19.80 | |
@minecraft/server-editor | 1d565354-296d-11ed-a261-0242ac120002 | Engine 1.19.80 |
模块说明
@minecraft/common
该模块稳定版本较少,无需在依赖项中声明即可导入。它包含基础资源,如错误类和接口。
@minecraft/debug-utilities
实验性模块。提供调试工具,但不应在附加包的公开版本中使用。
@minecraft/server
拥有大量稳定版本,但仍处于积极开发中。作为服务端脚本开发的基石模块,用于脚本引擎与游戏世界的交互,包括方块、实体、物品、玩家等世界资源。
@minecraft/server-ui
规模较小的模块,但对于服务端与最终用户的交互非常实用。该模块支持通过可定制表单向玩家发送数据。
@minecraft/server-gametest
现存最古老的模块,但尚未发布任何稳定版本。用于测试原版实验内容、兼容性检查、边界情况捕获或确保可重复性。该模块不面向内容创作者,且不保证与稳定版本的向后兼容性。
@minecraft/server-net
该模块仅限在基岩版专用服务器使用,因其可能威胁普通附加包用户的安全。支持通过GET、SET、POST等网络请求访问互联网,目前仅作为实验性模块存在。
@minecraft/server-admin
该模块同样仅限基岩版专用服务器使用。负责处理JSON管理文件中的基础数据,用于在不干扰原始包的情况下设置行为包配置。目前仅作为实验性模块存在。
@minecraft/server-editor-bindings
这是编辑器模块的特殊原生函数集,未提供官方文档且不建议创作者使用。虽然可以通过依赖项引用导入,但仅限在作为编辑器项目创建的世界中使用。
@minecraft/server-editor
该模块的特殊之处在于其实现方式并非原生,而是JS模块。尽管以JS实现使其存在被硬编码,但仍需通过依赖项引用,且仅限在作为编辑器项目创建的世界中使用。
Alpha版本
Alpha版本是模块的过时版本,不应在当前附加包中使用且标记为实验性。仅有两个模块存在Alpha版本:曾用名为mojang-minecraft的@minecraft/server和曾用名为mojang-gametest的@minecraft/server-gametest。如需使用这些版本,请注意必须使用其曾用名导入。
Alpha 2.X系列
现在您可能注意到新的Alpha 2.X系列,这与原始Alpha版本不同,但同样属于实验版本。该系列可以使用当前名称导入,但需注意其与1.X系列存在兼容性断裂。
模块引用
模块引用是JS代码中导入模块的必要条件。
WARNING
请勿在依赖项中同时使用"uuid"和"module_name"属性,二者择一即可。
以@minecraft/server的1.13.0版本为例:
{
"module_name": "@minecraft/server",
"version": "1.13.0"
}若需将资源包标记为编辑器扩展,需声明以下能力以启用编辑器模块:
{
"capabilities": ["editorExtension"]
}
