“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(' ')});
}
我可以操作箱子里或是背包里的物品吗?
因为现在是只读状态,请通过命令进行操作。