教程:编写脚本API/World类基础

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

引言[编辑]

World类是 server 模块的一部分,它包括世界事件,记分板等,我们将帮助您了解和使用此类(如果您需要了解有关World类的具体内容,请参见World)。

在前文中我们讲到的AfterEventsBeforeEvents中,大部分都在这里。还有很多的方法都可以去其他地方参见到,故本文主要介绍它的几个子类:

  1. gameRules游戏规则
  2. structureManager:结构管理器

它们都是read-only的。

游戏规则[编辑]

可以利用内容与/gamerule命令相似,同时它的行为也与/gamerule相似:

gamerule <rule: BoolGameRule> [value: Boolean]
gamerule <rule: IntGameRule> [value: int]

查看命令的枚举后不难发现,BoolGameRuleIntGameRule都是不分大小写的,SAPI中gameRules采用的却是驼峰命名法。但他们的功能和参数都相同,以commandBlockOutput举例:

/gamerule commandblockoutput true
import { world } from "@minecraft/server";

world.gameRules.commandBlockOutput = true;

结构管理器[编辑]

结构管理器(StructureManager) 是结构相关 API 的管理器。包括用于创建、获取、放置和删除结构的 API。

createEmpty(
    identifier: string,
    size: Vector3,
    saveMode?: StructureSaveMode,
): Structure

它的原理是在内存中创建一个空Structure。使用Structure.setBlockPermutation用块填充结构,并使用Structure.saveAs保存更改。

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

world.structureManager.createEmpty(
    "wiki:example",
    {
        x: 1,
        y: 1,
        z: 1
    }
);

与结构管理器类似的还有Structure Class,更多的方法可以在这里查阅。