- 致编者:请牢记我们的域名wiki.mcbe-dev.net!
- 致编者:欢迎加入本Wiki的官方交流QQ群或Discord服务器!
- 基岩版1.19.31现已发布!(了解更多)
- Inner Core现已支持Xbox模组联机!(了解更多)
- 如果您是第一次来到本Wiki,欢迎注册一个账户
- 点击顶部的“编辑”或“编辑源代码”按钮即可编辑当前页面
- 请知悉:在不登录时也可以编辑和新建页面,但是您当前的IP地址会记录在编辑历史中
教程:编写脚本API/System类基础[编辑]
来自Minecraft基岩版开发Wiki
引言[编辑]
System
类是 server
模块的一部分,它包括系统事件等,我们将帮助您了解和使用此类。
事件[编辑]
System
中包含的事件较少,但都有较大作用,下面一一介绍:
scriptEventReceive[编辑]
scriptEventReceive
是用于监听/scriptevent
命令触发的事件。这为命令和其他系统提供了一种在脚本中触发行为的方法。这些内容在server模块基础中有所介绍,此处不加赘述。
shutdown[编辑]
它用于在世界关闭之前进行操作,不能阻止其运行(这与大部分beforeEvents
不同,主要可以用于在世界关闭之前保存动态属性)。
import {
system
} from "@minecraft/server";
system.beforeEvents.shutdown.subscribe(() => {
// 假设有saveData可以保存动态属性
saveData();
});
这些内容将会在动态属性章节中使用。
startup[编辑]
它用于在世界正式启动之前进行操作,在它的event
数据中传递了itemComponentRegistry
和blockComponentRegistry
两个注册器。这将在事件迁移中使用。
watchdogTerminate[编辑]
该事件与看门狗相关。这个内容在前文已有所介绍,此处不加赘述。
高级[编辑]
设备信息[编辑]
在System
中,可以通过serverSystemInfo
来获取服务器系统信息。目前其中只有一个可以使用的量:
memoryTier
。它对应一组枚举用于表示内存的使用情况。一个更重要的信息类在Player类中,ClientSystemInfo继承于ServerSystemInfo,在关于Entity类基础的地方我们会介绍到它。
isEditorWorld[编辑]
isEditorWorld
同样在System
中,它用于判断当前是否是编辑器工作的世界。