可使用变量类型
局部变量 单个界面内通用,执行一整句方法后会清空内部的值,只用作临时储存
界面变量 单个界面内通用
全局变量 所有界面通用
本地变量 只允许保存文本或数字,保存后会储存到本地文件【暂未更新】
界面属性
match: "xx"
- 匹配界面名,hud为自动开启
- GuiInventory可以替换背包,GuiIngameMenu可以替换ESC
- 或者直接填写箱子界面名称,即可替换箱子界面(颜色符号需写为§),也可以用正则表达式
- PS:当你打开任意界面时,客户端的log内会提示本次打开的界面名哦
through: true/false
- 点击是否穿透组件,达到同时点击多个组件的效果
priority: 数字[1-5]
- hud显示优先级,5为最高,可用于多个hud时的层级问题
interactHud: true/false
- 在Gui内是否允许点击hud
currentItemSize: 数字[默认16,不要超过50]
- 鼠标拿着物品时,物品的大小
allowEscClose: true/false
- 是否允许按ESC关闭界面
hideHud:
- "xxx"
- "xxx"
- 需要隐藏的hud,类型如下
- 也可以隐藏龙核hud,只需要填写对应hud文件的文件名(不需要.yml)
- 别问我这些类型是啥意思,问就是百度去
HELMET
PORTAL
CROSSHAIRS
BOSSHEALTH (boss血条)
BOSSINFO
ARMOR (护甲值)
HEALTH (血量)
FOOD (食物)
AIR (氧气)
HOTBAR (物品快捷栏)
EXPERIENCE (经验条)
TEXT
HEALTHMOUNT (坐骑血量)
JUMPBAR (马儿跳跃值)
CHAT
PLAYER_LIST (应该是tab玩家列表)
DEBUG
POTION_ICONS (药水图标)
SUBTITLES
FPS_GRAPH
VIGNETTE
import:
- "xx"
- "xx"
- 将其他界面文件组件并入该界面内(不需要.yml)
界面触发器
Functions:
open: 界面被打开时触发
close: 界面被关闭时触发
keyPress: 界面打开时,按下任意按键均会触发,配合[方法.取当前按下键]使用
如果是HUD界面,则未打开gui或打开了聊天栏时按键触发
wheel: 滚轮滚动时触发,配合[方法.取滚轮值]使用
chatOpen: 打开聊天栏时触发,仅对HUD界面有效
chatClose: 关闭聊天栏时触发,仅对HUD界面有效
message: 玩家受到聊天消息时触发,配合[方法.取当前聊天消息]使用
reload: 插件调用了screen.update时触发
组件通用属性
【*】代表该属性可使用计算公式,控件每次绘制都会计算最新数值
【/】代表该属性可使用计算公式,但仅为初始化时的一次性计算数值
y 绘制起始x【*】
y 绘制起始y【*】
width 绘制宽度 【*】
height 绘制高度 【*】
限制区域的意思是组件的UI不会超过该界限,超出的部分将无法看到,可用于制作滚动框之类的
limitX 限制区域起始x 【*】
limitY 限制区域起始Y 【*】
limitWidth 限制区域宽度 【*】
limitHeight 限制区域高度 【*】
maxDistanceX 点击后横向可移动的最大值【*】
maxDistanceY 点击后竖向可移动的最大值【*】
minDistanceX 点击后横向可移动的最小值【*】
minDistanceY 点击后竖向可移动的最小值【*】
distanceX 当前横向已移动值【/】 该值必然处于 minDistanceX至maxDistanceX 之间
distanceY 当前竖向可移动值【/】 该值必然处于 minDistanceY至maxDistanceY 之间
visible 是否可视 【*】
enable 是否可交互 【*】
alpha 透明度[0-1]【*】
scale 缩放大小 【*】
tip 悬浮于该组件时显示的文本 【*】 若某行为container_xx,则
以下几项可用于动画效果
fscale 中心缩放【*】仅显示效果,不具备点击判断
frotatex 中心旋转【*】仅显示效果,不具备点击判断
frotatey 中心旋转【*】仅显示效果,不具备点击判断
frotatez 中心旋转【*】仅显示效果,不具备点击判断
fx 坐标x偏移【*】仅显示效果,不具备点击判断
fy 坐标y偏移【*】仅显示效果,不具备点击判断
组件属性:
xx_图片: [或者xx_texture]
texture: "图片.png" 也可以写成 255,255,255,255 这样会显示为颜色 【*】
textureHovered: "悬浮着显示的图片" 【*】
textureWidth: 设定图片宽度,之后的width如果小于本宽度,则仅绘制一部分 【*】
textureHeight: 设定图片高度,之后的width如果小于本高度,则仅绘制一部分 【*】
v: 【*】
u: 【*】
text: "xxx" 用于显示文字,文本换行可用\n【*】
color: "255,255,255,255" 文本默认颜色【*】
font: "xxx" 字体文件,需要使用ttf文件【*】
xx_文本: [或者xx_label]
texts: 文本换行可用\n【*】
- "我叫做"
- "方法.玩家名"
color: "255,255,255,255" 文本默认颜色【*】
center: true 是否居中绘制 [默认值false]【*】
shadow: true 是否绘制文字阴影[默认值true]【*】
length: 100 限制文本长度,过长的会自动换行【*】
xx_实体: [或者xx_entity]
entity: "owner" 【*】
可填值为 owner 代表自己, aim 代表鼠标指着的生物,firstaim 代表打开界面时鼠标指着的生物
或者直接使用UUID,若客户端内存在该UUID实体则会显示该实体
head: true/false 是否强制显示头颅【*】
followMouse: true/false 是否跟随鼠标【*】
xx_槽位: [或者xx_slot]
identifier: "槽位名称"【*】
若槽位名称为container_开头,则会读取当前界面本应显示的槽位
如打开了一个箱子,那么 container_0 就是箱子的第一个槽位
否则为读取玩家服务端槽位数据,同时你也需要在SlotConfig.yml内填写槽位配置
该槽位才能使用
drawBackground: true/false 鼠标指着是否显示背景白板【*】
xx_文本框: [或者xx_textbox]
length: 128 文本框可以写入的最大文本长度[默认值32]【*】
drawBackground: true 是否绘制背景框[默认值true]【*】
text: "界面打开时的默认文本" [默认值为空]【/】
focused: true/false 默认的状态是否是输入状态【/】
组件触发器
actions:
create: 组件初始化时触发
remove: 组件被删除时触发
preRender: 组件每帧绘制前触发
postRender: 组件每帧绘制后触发
click_left: 左键点击
click_right: 右键点击
click_middle: 中键点击
click: 任意键点击
release_left: 左键松开
release_right: 右键松开
release_middle: 中键松开
release: 任意键松开
enter: 鼠标进入组件范围
leave: 鼠标离开组件范围
wheel: 鼠标在组件范围内使用滚轮,配合[方法.取滚轮值]使用
textChange: textbox组件可用,文本被修改时触发
[注意这个有点bug,你使用了textbox.text='xxx'时又会触发,所以不要在textChange里写当前组件.text=其他文本]