“ScriptingAPI是什么?”

首先

因为其他人已经写过有关导入方法的内容,所以我会省略。Minecraft BE ScriptingAPI 第1回教程 作者:@Button。在MinecraftBE中使用scriptingAPI!part1.将木棒敲击的方块变为钻石方块 作者:@mcjixif。

以問答方式

只有Win10版本才能使用吗?

如果想要进行仅限于客户端的操作,则客户端也需要是Win10版本的。但是,如果只使用服务器端的脚本,只要主机是Win10版本,参与者就可以在任何环境下参与。

Realms能用吗?

由于需要开启”试玩游戏”选项,似乎无法在Realms中使用。

需要通过试玩来玩游戏吗?

在 1.16.10 的阶段仍然需要它。

这是NodeJS吗?

不对,可能是这样

非同步處理是如何運作的?

setTimeout和setInterval等基本上不能使用。
executeCommand函数有回调函数,但这样的情况可能很少见,基本上还是得用同步处理来编写。

我想知道是否发生了错误。

こんな感じにすれば、簡単なエラーは分かる
ファイルと行数も出るよ

ServerSystem.emit = function(identifier, properties) {
    const data = this.createEventData(identifier);
    data.data = Object.assign({}, data.data, properties);

    return this.broadcastEvent(identifier, data);
}

ServerSystem.initialize = function () {
    this.emit("minecraft:script_logger_config", {
        log_errors : true,
        log_warnings : true,
        log_infomation : true,
    });
}

我想输出日志。

请忍耐一下。(进入聊天室)

ServerSystem.log = function(...items) {
    const toString = item => {
        switch(Object.prototype.toString.call(item)) {
            case '[object Undefined]':
                return 'undefined';
            case '[object Null]':
                return 'null';
            case '[object String]':
                return `"${item}"`;
            case '[object Array]':
                const array = item.map(toString);
                return `[${array.join(', ')}]`;
            case '[object Object]':
                const object = Object.keys(item).map(key => `${key}: ${toString(item[key])}`);
                return `{${object.join(', ')}}`;
            case '[object Function]':
                return item.toString();
            default:
                return item;
        }
    }

    this.emit('minecraft:display_chat_event', {message: items.map(toString).join(' ')});
}

我可以操作箱子里或是背包里的物品吗?

因为现在是只读状态,请通过命令进行操作。

广告
将在 10 秒后关闭
bannerAds