UI引擎
*请区分资源包JSON中的“UI”
最后更新适配版本:1.16.200.2正式版
脚本系统
本文档指的是H5UI又或者叫SEUI,Minecraft的自定义UI基于HTML5。
可以在HTML文件中编写JavaScript来侦听和响应UI引擎中的事件。这些事件可以由UI引擎本身触发,也可以从脚本触发。
在使用自定义UI前,需在包manifest.json文件的功能列表capabilities数组中添加experimental\_custom\_ui
。
H5UI是脚本引擎的功能之一,它依赖后端——脚本引擎,与前端——网页(Html、Css、JavaScript),前端需使用UIEngine(UI引擎)与后端脚本引擎对接。
获取脚本引擎
engine.on()
函数需要侦听事件“刻面:已更新:scripting“并且您需要存储返回值。
然后需要通过触发方面:请求事件并在向量中传递“脚本”。
通话顺序很重要。如果在注册侦听器之前触发请求,则无法捕获回调。
捕获脚本引擎示例:
let scriptInterface = undefined;
engine.on("facet:updated:scripting", function(interface) {
scriptInterface = interface;
});
engine.trigger("facet:request", ["scripting"]);
引擎绑定
on(事件标识符, 回调函数)
参数
名字 | 类型 | 描述 |
---|---|---|
Callback | JS对象 | 事件发生时使用的回调函数 |
EventIdentifier | 字符串 | 指定函数将对其作出反应的事件ID |
客户端脚本监听事件示例
engine.on("exampleEventIdentifier", function (exampleData) {
});
trigger(事件标识符,参数)
参数
名字 | 类型 | 描述 |
---|---|---|
Arguments | JS对象 | 传递给回调函数的参数 |
EventIdentifier | 字符串 | 指定函数将对其作出反应的事件ID |
发送事件至UI引擎示例
engine.trigger("exampleEventIdentifier", eventDataObject);
脚本绑定
名字 | 类型 | 描述 |
---|---|---|
Data | 字符串 | 发送到“minecraft:ui_event“客户端脚本中的事件 |
事件发送到客户端示例
scriptInterface.triggerEvent("SendThisDataToTheScript");