本站文本内容除另有声明外,转载时均必须注明出处。(详情…本站文本内容除另有声明外,转载时均必须注明出处。(详情…中文Minecraft Wiki是完全公开的。请勇于扩充与修正内容!中文Minecraft Wiki是完全公开的。请勇于扩充与修正内容!Minecraft中文Wiki微博正在更新!或许有兴趣去看看Minecraft中文Wiki微博正在更新!或许有兴趣去看看想与其他用户进行编辑上的沟通?社区专页正是为此创建的。想与其他用户进行编辑上的沟通?社区专页正是为此创建的。翻译或创建页面之前,不妨看看译名标准化Wiki条例页面。翻译或创建页面之前,不妨看看译名标准化Wiki条例页面。需要管理员的协助?在管理员告示板留言也许可以帮到您。需要管理员的协助?在管理员告示板留言也许可以帮到您。
各位用户:为了让我们能更好了解您的需求,提供更优良的服务,请帮助我们填写一份问卷。编者问卷读者问卷(需要花费7分钟左右)

Hi Gamepedia users and contributors! Please complete this survey to help us learn how to better meet your needs in the future. We have one for editors and readers. This should only take about 7 minutes!

基岩版beta用户界面文档

来自Minecraft Wiki
跳转至: 导航搜索
Information icon.svg
此特性为基岩版独有。


版本:1.12.0.2[编辑 | 编辑源代码]

这是 Minecraft 发布的的一个测试版的文档。这个版本中的新特性、组件和功能都不是最终版本,并且可能在最终版本发布之前有所更改而不做任何提醒。 如果你的附加包在测试结束之后出现运行错误,请务必重新核对本文档。因为在这个测试版中所写的资源包和行为包都不确保能够在最终版本中运行。

脚本系统[编辑 | 编辑源代码]

Minecraft的自定义UI基于HTML 5。
您可以在HTML文件中编写JavaScript来监听和响应来自UI引擎的事件。这些事件可以由UI Engine本身触发,也可以从你的脚本中触发。
要使用自定义UI,包含自定义用户界面的资源包需要启用自定义用户界面功能。为此,只需添加"experimental_custom_ui"到manifest中的capabilities数组。你可以查看回合制RPG的示例,了解如何自定义UI。

获取脚本引擎[编辑 | 编辑源代码]

要使UI引擎与脚本引擎之间建立链接,你需要获取到脚本引擎的实例。
engine.on()函数需要监听"scriptEngine:created"事件,并且你需要储存它的返回值。

如何捕获脚本引擎实例的示例
let scriptInterface = undefined; 
engine.on("scriptEngine:created", function(interface) { 
	scriptInterface = interface; 
}); 


引擎绑定[编辑 | 编辑源代码]

on(EventIdentifier,Callback)

该函数用于从UI引擎获取事件。这些事件最初可以使用"send_ui_event"由客户端脚本发送,或者由游戏创建并由UI引擎传递。从脚本发送到此函数的数据必须是字符串。

参数 
类型 名称 描述
字符串 EventIdentifier 指定函数将响应的事件
JavaScript Object Callback 事件发生时将调用的回调


如何从客户端脚本监听事件的示例
engine.on("exampleEventIdentifier", function (exampleData) { 
}



trigger(EventIdentifier, Arguments)

该函数用于将事件发送到UI引擎。

参数 
类型 名称 描述
字符串 EventIdentifier 指定函数将响应的事件
JavaScript Object Arguments 传递给回调的参数


如何将事件发送到UI引擎的示例:
engine.trigger("exampleEventIdentifier", eventDataObject);

脚本绑定[编辑 | 编辑源代码]

triggerEvent(Data)

该函数会在提供数据的客户端脚本上触发minecraft:ui_event。

参数 
类型 名称 描述
字符串 Data 该字符串会被发送到客户端脚本中的"minecraft:ui_event" 事件


如何将事件发送到客户端脚本的示例
scriptInterface.triggerEvent("SendThisDataToTheScript");