教程:编写脚本API/System类基础[编辑]

来自Minecraft基岩版开发Wiki
System类基础
系列教程
所属系列
难度
初级
实践设备
WindowsAndroid
所需软件

引言[编辑]

System类是 server 模块的一部分,它包括系统事件等,我们将帮助您了解和使用此类。

事件[编辑]

System中包含的事件较少,但都有较大作用,下面一一介绍:

scriptEventReceive[编辑]

scriptEventReceive是用于监听/scriptevent命令触发的事件。这为命令和其他系统提供了一种在脚本中触发行为的方法。这些内容在server模块基础中有所介绍,此处不加赘述。

shutdown[编辑]

它用于在世界关闭之前进行操作,不能阻止其运行(这与大部分beforeEvents不同,主要可以用于在世界关闭之前保存动态属性)。

import {
    system
} from "@minecraft/server";

system.beforeEvents.shutdown.subscribe(() => {
    // 假设有saveData可以保存动态属性
    saveData();
});

这些内容将会在动态属性章节中使用。

startup[编辑]

它用于在世界正式启动之前进行操作,在它的event数据中传递了itemComponentRegistryblockComponentRegistry两个注册器。这将在事件迁移中使用。

watchdogTerminate[编辑]

该事件与看门狗相关。这个内容在前文已有所介绍,此处不加赘述。

高级[编辑]

设备信息[编辑]

System中,可以通过serverSystemInfo来获取服务器系统信息。目前其中只有一个可以使用的量:

memoryTier。它对应一组枚举用于表示内存的使用情况。一个更重要的信息类在Player类中,ClientSystemInfo继承于ServerSystemInfo,在关于Entity类基础的地方我们会介绍到它。

isEditorWorld[编辑]

isEditorWorld同样在System中,它用于判断当前是否是编辑器工作的世界。