VexView Wiki
  • 关于
  • 目录
  • 引言
  • 基础教程
    • 同意VexView协议
    • 安装使用
    • 自定义界面
    • 添加GUI的组件
    • 自定义HUD/Tag显示
    • 自定义物品高级提示框
    • 自定义计分板与背包侧边栏
    • 其他功能
    • 不使用URL,让本地贴图更新
  • 服主笔记
    • 关于GUI/Button/Text
  • 拓展功能
    • 自定义Authme登陆界面
    • 自定义任务对话框和任务笔记
    • 更多设置
  • 关于本站
    • 关于Wiki
由 GitBook 提供支持
在本页
  • 关于GUI/Button/Text
  • 那比如说我想加点字呢?

这有帮助吗?

  1. 服主笔记

关于GUI/Button/Text

在这里,杰帕斯整理了一些比较容易理解的笔记供各位服主学习。希望能有所帮助。

关于GUI/Button/Text

如何做一个简单的GUI?

首先在服务端中的plugins\VexView\gui中创建一个新的yml。我比如想要做一个菜单,我可以起名为menu.yml。

一个菜单能有什么东西呢?也就一些可以点击的按钮对吧?那么在这里示范我就仅用到button模块。

我会按照以下的格式先做出一个基础的GUI框架

gui: '[local]menu/Menu_background.png' #GUI的背景

x: -1 #GUI的x轴位置,-1为居中
y: -1 #GUI的y轴位置,-1为居中

width: 387 #GUI自定义宽
high: 195 #GUI自定义高

xshow: 387  #GUI显示x轴,建议与上方width相等
yshow: 195  #GUI显示y轴,建议与上方high相等


buttons: #button模块
- menu/button1 #第一个按钮
- menu/button2 #第二个按钮
- menu/button3 #第三个按钮

在上面的gui项中我使用的路径是和客户端的.minecraft\vexview\textures相对应的。也就是说我在上面写了[local]menu/Menu_background.png则是读取了客户端本地的.minecraft\vexview\textures\Menu_background.png

相对应的如上所见可以发现我只用了button模块,并且提前加入了三个按钮,这里就可以不用管这个GUI文件了。

我们现在对按钮自定义

首先进入服务端中的plugins\VexView\button,新建一个文件夹,命名为menu(因为在上方gui配置中我们的buttons路径写的是menu/button1),这样容易区分开不同的GUI和不同的按钮。

在服务端中的plugins\VexView\button\menu中我们创建三个按钮,分别命名为button1.yml、button2.yml和button3.yml按钮,并在文件中以以下格式编辑。

id: 1 #按钮的ID,请注意每个按钮的ID必须不同

name: '' #按钮中显示的文字,留空则不显示

url: '[local]menu/spawn_0.png'   #鼠标不放上面的时候的样式
url2: '[local]diancan/spawn_1.png' #鼠标放在上面的时候的样式

x: 30 #按钮在UI中的x轴位置
y: 45 #按钮在UI中的y轴位置

width: 80  #该按钮贴图的宽度
high: 35   #该按钮贴图的高度

commands:  #按下按钮所执行的命令
- 'spawn'  #不用加/,直接写命令

close: true #是否关闭GUI

在上面我简单写出了一个返回主菜单的按钮,并不在按钮上显示任何文字(因为我打算直接用PS定制)。其他两个按钮同理。

当玩家按下按钮时则会以玩家的权限执行spawn命令。执行后关闭GUI。

那么比如说我想以管理员,也就是OP的权限执行命令怎么办?只需要在commands:的上方加入asop: true即可。

比如说我想让这个按钮点击时转到另外一个GUI怎么办?

可以将commands:改成to:,然后在下面写想要转到哪个GUI,并且将close:的true改为false。看起来像下面这样。

id: 1 #按钮的ID,请注意每个按钮的ID必须不同

name: '' #按钮中显示的文字,留空则不显示

url: '[local]menu/spawn_0.png'   #鼠标不放上面的时候的样式
url2: '[local]diancan/spawn_1.png' #鼠标放在上面的时候的样式

x: 30 #按钮在UI中的x轴位置
y: 45 #按钮在UI中的y轴位置

width: 80  #该按钮贴图的宽度
high: 35   #该按钮贴图的高度

to:  #转到另外一个GUI
- 'submenu'  #转到一个名为submenu的gui

close: false #不关闭GUI

好,现在一个简单的带按钮的GUI就做好了。看起来像是这样:

鼠标放上去之后是这样的:

看上去还不错对吧?你也可以做到。

那比如说我想加点字呢?

我们回到刚刚的GUI文件plugins\VexView\gui\menu.yml,在最下面加上一些内容,看起来像是这样:


x: -1 #GUI的x轴位置,-1为居中
y: -1 #GUI的y轴位置,-1为居中

width: 387 #GUI自定义宽
high: 195 #GUI自定义高

xshow: 387  #GUI显示x轴,建议与上方width相等
yshow: 195  #GUI显示y轴,建议与上方high相等


buttons: #button模块
- menu/button1 #第一个按钮
- menu/button2 #第二个按钮
- menu/button3 #第三个按钮

text: #文字
- menu/text1 #第一个文字
- menu/text2 #第二个文字

可以发现我在结尾加了个text模块。这和button的原理几乎一致。或许你已经猜到了你需要进入到服务端路径: plugins\VexView\text\路径中创建一个叫做menu的文件夹,并在文件夹中创建两个文件。分别是text1.yml和text2.yml。我们打开text1.yml开始编辑。内容如下:

x: 24 #文字在GUI中显示的x轴
y: 91 #文字在GUI中显示的y轴

text: #文字内容
- '§e§l残叶和海螺贴贴!'

就这!?没错就这。

保存后你就可以在GUI中看到了残叶和海螺贴贴的文字。

文字中也可以使用变量。比如%player%等.....自己想想看如何将GUI变得更漂亮吧:D

小技巧:VexView本体的组件几乎都是热重载。这意味着在你保存文件的那一瞬间就可以在游戏中看到改变,而无需reload插件或重启服务器。贴图的话如果你想要立刻看到改变的话则需要每次使用不同的文件名,使得VexView将其识别为新的贴图加载。

上一页不使用URL,让本地贴图更新下一页自定义Authme登陆界面

最后更新于3年前

这有帮助吗?

鼠标没放在按钮上面的时候
鼠标放在了按钮上面的时候