教程:编写脚本API/环境支持

来自Minecraft基岩版开发Wiki
环境支持
系列教程
所属系列
难度
初级
实践设备
WindowsAndroid
所需软件

基本环境[编辑]

Minecraft 使用了他们自己的基于 QuickJS 的 JavaScript 版本。它使用 ECMAScript 模块 (ESM) 系统来组织和加载代码,从而允许采用更加模块化和有组织的方法来为游戏编写脚本。

扩展环境[编辑]

Minecraft 扩展[编辑]

manifest.json中可以添加并使用这些。

模块 介绍 版本提示 使用提示 其它注意
@minecraft/debug-utilities 包含与调试内容相关的Class 最新测试: 1.0.0-beta 最新正式: ?
{
    "module_name": "@minecraft/debug-utilities",
    "version": "1.0.0-beta"
}
此模块仍处于预发布阶段。它可能会在将来的版本中更改或删除。
@minecraft/server-admin 包含与管理 Bedrock 专用服务器相关的Class。这些类型允许在 Bedrock Dedicated Server 文件夹中的 JSON 文件中配置变量和密钥。 最新测试: 1.0.0-beta 最新正式: ?
{
    "module_name": "@minecraft/server-admin",
    "version": "1.0.0-beta"
}
其不能在 Minecraft 客户端或 Minecraft Realms 中使用。

此模块仍处于预发布阶段。它可能会在将来的版本中更改或删除。

@minecraft/server-gametest 提供可编写脚本的Class,用于在 Minecraft 中搭建测试内容体验。 最新测试: 1.0.0-beta 最新正式: 0.1.0
{
    "module_name": "@minecraft/server-gametest",
    "version": "0.1.0"
}
其大部分功能仍处于预发布阶段。
@minecraft/server-net 包含用于执行基于 HTTP 的请求的Class。此模块只能在专用服务器上使用。 最新测试: 1.0.0-beta 最新正式: ?
{
    "module_name": "@minecraft/server-net",
    "version": "1.0.0-beta"
}
其在 Minecraft 客户端或 Minecraft Realms 中不起作用。

此模块仍处于预发布阶段。它可能会在将来的版本中更改或删除。

@minecraft/server-ui 包含用于表达基于对话框的简单用户体验的Class 最新测试: 1.4.0-beta 最新正式: 1.2.0
{
    "module_name": "@minecraft/server-ui",
    "version": "1.2.0"
}
?
@minecraft/server 包含许多与操纵 Minecraft 世界相关的Class,包括实体等。 最新测试: 1.15.0-beta(2.0.0-alpha‌[需要验证]) 最新正式: 1.13.0
{
    "module_name": "@minecraft/server",
    "version": "1.13.0"
}
?
@minecraft/server-editor 包含许多与操纵 Minecraft 编辑器 相关的Class 最新测试: 0.0.1-beta 最新正式: ?
{
    "module_name": "@minecraft/server-editor",
    "version": "0.1.0-beta"
}
此模块仍处于预发布阶段。它可能会在将来的版本中更改或删除。

更多内容见脚本API

QuickJS 扩展[编辑]

这里的所谓“扩展”包含QuickJS定义上的扩展和与其它JS平台高度不同且自有的对象。

  • __date_clock - 内置 QuickJS 方法,用于获取当前时间
  • globalThis - 可以访问全局范围变量的标准对象
  • Math - 具有主要数学函数的标准对象

QuickJS 原生内容支持性[编辑]

为方便以下仅提供不支持的。

  • WeakRef - 具有弱引用的对象处理类
  • BigInt - 大整数的标准类
  • setTimeout - 定时代码运行的标准功能(可用 @minecraft/server.system.runTimeout 代替)
  • setInterval - 定时代码间隔运行的标准功能(可用 @minecraft/server.system.setInterval 代替)
  • clearTimeout - 取消 setTimeout 运行的标准函数定时代码运行的标准功能
  • clearInterval - 取消 setInterval 运行的标准函数

引用[编辑]

  1. Bedrock Wiki: Engine Environment