gametest教程(第四章:gametest-ui)
本帖最后由 指令凋灵 于 2024-8-17 22:51 编辑这期来讲gt-ui(全称gametest-ui)
了解ui
gt-ui一共有三种,分别为ActionFrom-ui,MessageFrom-ui,ModelFrom-ui。(其中MessageFrom-ui太没用,就不讲了)
首先,要引用gt-ui模块,在脚本文件中写入:
1.19.0.05至1.19.40:
import { ActionFormData,
ActionFormResponse,
ModalFormData,
ModalFormResponse } from "mojang-minecraft-ui";
1.19.40以上:
import { ActionFormData,
ActionFormResponse,
ModalFormData,
ModalFormResponse} from "@minecraft/server-ui";
然后定义一种打开ui的方式,如:
world.events.beforeItemUse.subscribe((a)=>{
if(a.item.typeId=='stick'/*此为物品英文id*/){
ActionFormDataui(a.source)}});/*此为打开ui的方式,长按木棍打开*/
ui制作
ActionFrom-ui
function ActionFormDataui(player){
var a=new ActionFormData()
a = a.title("大标题")
.body("小标题")
.button("按钮1")
.button("按钮2")
.button("按钮3")
a.show(player).then((a)=>{
if(a.selection==0 /*0是第一个按钮,1是第二个按钮,以此类推*/){
player.runCommandAsync('say 这是第一个按钮')}
else if(a.selection==1){
player.runCommandAsync('say 第二个')}
else if(a.selection==2){
player.runCommandAsync('say 第三个')}})};
ModelFrom-ui
function ModelFromData(player){
var a=new ModalFormData();
a=a.title("设置")
.dropdown("选项",["选项1","选项2"])
.toggle("关/开")/*开关*/
.textfield'输入框标题','内容背景','已输入内容')
a.show(player).then((a)=>{
if(a.formValues==0/*同理,0代表选项为“选项1”){
if(a.formValues==false/*判断开关,true为开,false为关*/){
player.runCommandAsync('say 选项为1,开关为关');}
else if(a.formValues==true){
player.runCommandAsync('say 选项1,开关为开');}}
else if(a.formValues==1){
if(a.formValues==true){
player.runCommandAsync('say 选项2,开关为开')}
else if(a.formValues==false){
player.runCommandAsync('say 选项2,开关为关')}}})}
上一章下一章 1.19.70已发布,我会检查教程内容是否可用并更新 不错,收藏了,但不知道有没有完全懂[贴吧_滑稽] mc697 发表于 2023-1-27 18:32
请问这个支持哪个我的世界版本?支持1.19.51吗?
1.19.0.05~1.19.30,1.19.40及以上把引用模块中“mojang-minecraft-ui”改成“@minecraft/server-ui” 指令凋灵 发表于 2023-1-27 18:58
1.19.0.05~1.19.30,1.19.40及以上把引用模块中“mojang-minecraft-ui”改成“@minecraft/server-ui” ...
哦,我去试试,正需要这个呢
感谢分享! 教程中部分代码不够规整,且对于各种方法的作用描述不详细,以及排版较为紧凑,还需要多多优化。
貌似文档中的一部分内容还错误了放进了代码块内,建议移出来。 im2695 发表于 2023-2-17 19:01
教程中部分代码不够规整,且对于各种方法的作用描述不详细,以及排版较为紧凑,还需要多多优化。
貌似文档 ...
我只是个初学者,所以有错误和不完整的地方,可以提出 哥能做个面板UIaddon吗 还是不太懂 爷爷合影 发表于 2023-10-10 19:42
哥能做个面板UIaddon吗 还是不太懂
模板我早删了,看一下这个
【[教程]Minecraft基岩版scriptAPI保姆级教学第三期 UI篇 上篇-哔哩哔哩】 https://b23.tv/UEUa90G function ActionFormDataui(player){
var a=new ActionFormData()
a = a.title("大标题")
.body("小标题")
.button("按钮1")
.button("按钮2")
创个后绰为js的文件在复制过去就行了吗 .button("按钮3")
a.show(player).then((a)=>{
if(a.selection==0 /*0是第一个按钮,1是第二个按钮,以此类推*/){
player.runCommandAsync('say 这是第一个按钮')}
else if(a.selection==1){
player.runCommandAsync('say 第二个')}
else if(a.selection==2){
player.runCommandAsync('say 第三
页: [1]2