变量是一种使用方便的占位符,用于引用特定情况下的对应数值,该对应数值可以存储Minecraft运行时特定情况下的游戏信息。使用变量需要了解该变量所引用的特定情况下的对应数值的含义,再通过占位符引用变量就可以查看变量的值。
变量 可以写在任何组件的可配置位置即可生效,例如
locationX: "%int_player_max_health%"
locationY: "%int_player_health%"
locationZ: "%player_level%"
# 在变量 中 thisGui 会被替换为刷新该变量的界面名字 thisPart 会被替换为刷新该变量的组件名字
# 在变量 中 parentPart 会被替换为刷新该变量的父组件的名字
# 在变量 中 preChild 会被替换为刷新该变量的界面的上一层子界面的名字 nextChild 会被替换为刷新该变量的界面的下一层子界面的名字
# 在变量中 firstChild 会被替换为刷新该变量的界面的第一层子界面的名字 lastChild 会被替换为刷新该变量的界面的最后一层子界面的名字
#
# 如果要更新滚动框中的组件(slider,scrollableParts)时组件索引名要设置为 滚动框组件索引名$滚动框内组件的索引名
# 如果要更新画布中的组件(relativeParts)时组件索引名要设置为 画布组件索引名$画布内组件的索引名
#
# 把变量变形成 %player_health:GermMC% 将以GermMC这个ID的身份获取变量值
# 可以使用 %player_health~0% 这种格式指定变量的默认值 例如 %money_balance~0% %mail_title~测试邮件%
#
# 其中还有一些特殊变量 x 为鼠标当前的x坐标 y 为鼠标当前的y坐标 w为当前屏幕的宽度 h为当前屏幕的高度(注意他们不用%包裹)
# %complex_abc_#zxc#%
//例如%zxc%=123 则可以获得 %abc_123% 变量的值
# %界面名_组件索引名_属性名%
//例如:获取logo界面中的background部件的width属性为 %logo_background_width%
# %界面名_opened% = true
//当对应界面被打开时 会有变量 %界面名_opened% = true 存入变量库中 关闭该界面后该变量删除
# %germ_slot_has_item:identity%
//如果槽位ID为 identity 的槽位里有物品会返回true 否则返回false
# %germ_slot_get_amount:identity%
//获取槽位ID为 identity 的槽位里的物品数量
# %germ_slot_get_tipX:identity%
//返回槽位ID为 identity 的槽位里的物品描述 (X∈自然数,X>=0,X<=100)
# %germ_slot_get_nbt_key1.key2:identity%
//返回槽位ID为 identity 的槽位里的NBT (key1.key2仅为NBT节点示例)
# %thisGui_label组件名_size%
//代表label组件的行数
# %t_w_textures/misc/logo.png%
//将会获得这个图片的真实宽度
# %t_h_textures/misc/logo.png%
//将会获得这个图片的真实高度
# %qrcode_url%
//可以给一个图片的path设置这样的变量,例如 %qrcode_https://wiki.germmc.com% 这样玩家扫二维码会打开这个网页,可以用来给玩家加群之类的操作
# %int_变量名%
//获取 %变量名% 这个变量取整后的结果
//例如:%int_player_max_health% 或 %int_99.999% 将会返回一个不带小数点的值
# %calculate_计算式%
//返回计算式的结果
//例如:%calculate_100+100% 将会返回200 更复杂的计算式也是可以的
//当在该类变量里面的计算式内需要填写多个变量时 就需要将计算式中原来的%变量名%中的 %替换为#
//例如:%calculate_#player_health#+#player_level#%
# 还可以使用 %calint_99.99+99.99%
//返回计算式的整数结果
//这样计算出来的值会转化为整数
# %omitd_2_#player_health#/#player_max_health#%
//可以取得省略两位小数后的计算结果 2改成3就是三位
# %time_秒数%
//将会将秒数转为一个时长格式,类似 X天X时X秒 可以配合dos 做倒计时之类的
# %time_now%
//可以获得 System.currentTimeMillis() 即获取当前系统时间
# %time_later_100%
//可获得 当前时间向后100秒
# %time_before_100%
//可获得 当前时间向前100秒
# %date_格式_秒数%
//可以自定义一个转换格式(格式为SimpleDateFormat格式,不知道可以百度一下)
# %countdown_UTC毫秒%
//用于开发做倒计时时 例如 %countdown_(#time_now#+30000)% 将出现30秒的倒计时
//例如 %countdown_(System.currentTimeMillis() + 30000)% 将出现30秒的倒计时
# %countdown_2024/01/11-00:21:17%
//可以做一个从指定日期开始的倒计时 ,输出的格式是 0时0分0秒 这样的格式
# %countdown2_#time_later_60#%
//countdown2 输出的的格式是 0.0s,12.91s,1512.01s这样的 (注意:先将time_later变量用putdos创建出来一个固定的数字)
# %fontWidth_萌芽引擎%
//获取萌芽世界渲染需要的宽度
# %fontWidth_变量名%
//获取 %变量名% 这个变量渲染需要的宽度
# %colorless_变量名%
//过滤出去除颜色后的字符串
//例如:%colorless_&e萌芽引擎% 将会返回一个不带颜色的字符 萌芽引擎
# %filter_number_&e萌芽引擎888每年%
//过滤出 888 这几个数字
# %filter_chinese_&e萌芽引擎888每年%
//过滤出 萌芽引擎每年 这几个汉字
# %filter_cn+_强化+10%
//取出10,忽略颜色,取出最后一个加号后面的数字
# %fill_split_§101_#int_player_health#%
//若%int_player_health%的值为20 那么该变量的结果为 §101_2§101_0
# %player_name%
//获取玩家自己的名字
# %player_health%
//获取玩家自己的血量
# %player_max_health%
//获取玩家自己的最大血量
# %player_level%
//获取玩家自己的原版等级
# %player_pitch%
//获取玩家自己的俯仰角(绕X轴旋转度数)
# %player_yaw%
//获取玩家自己的偏航角(绕Y轴旋转度数)
# %player_posX%
//获取玩家自己的X坐标
# %player_posY%
//获取玩家自己的Y坐标
# %player_posZ%
//获取玩家自己的Z坐标
# %player_food_level%
//获取玩家自己的原版饥饿度
# %player_air%
//获取玩家自己的原版氧气值
# %player_inWater%
//获取玩家自己是否在水中
# %player_armor%
//获取玩家自己的原版盔甲值
# %player_jumpBar%
//获取玩家自己的骑乘跳跃值
# %player_experience%
//获取玩家自己的原版经验条的百分比[0-1]
# %player_experience2%
//获取玩家自己的原版经验条的百分比[0-100]
# %player_survival%
//获取玩家自己是否在生存模式
# %player_isRiding%
//获取玩家自己是否在骑乘
# %player_mount_type%
//获取玩家自己的骑乘实体的类型
# %player_mount_health%
//获取玩家自己的骑乘实体的血量
# %player_mount_max_health%
//获取玩家自己的骑乘实体的最大血量
# %player_directionX%
//获取玩家自己视线朝向的坐标X
# %player_directionY%
//获取玩家自己视线朝向的坐标Y
# %player_directionZ%
//获取玩家自己视线朝向的坐标Z
# %player_bounding_width%
//获取玩家自己碰撞箱的宽度
# %player_bounding_height%
//获取玩家自己碰撞箱的高度
# %player_uuid%
//获取玩家自己的UUID
# %player_simpleUuid%
//获取玩家自己的简化UUID(即原有UUID去除_)
# %player_fishing%
//玩家是否在钓鱼
Tips:以下变量将为鼠标指针指着实体的信息,触发距离较近
# %cursorEntity_exist%
//获取十字准星是否指向了一个实体
# %cursorEntity_name%
//获取十字准星指向的实体的名字
# %cursorEntity_health%
//获取十字准星指向的实体的血量
# %cursorEntity_max_health%
//获取十字准星指向的实体的最大血量
# %cursorEntity_level%
//获取十字准星指向的实体的原版等级
# %cursorEntity_pitch%
//获取十字准星指向的实体的俯仰角(绕X轴旋转度数)
# %cursorEntity_yaw%
//获取十字准星指向的实体的偏航角(绕Y轴旋转度数)
# %cursorEntity_posX%
//获取十字准星指向的实体的X坐标
# %cursorEntity_posY%
//获取十字准星指向的实体的Y坐标
# %cursorEntity_posZ%
//获取十字准星指向的实体的Z坐标
# %cursorEntity_food_level%
//获取十字准星指向的实体的原版饥饿度
# %cursorEntity_air%
//获取十字准星指向的实体的原版氧气值
# %cursorEntity_inWater%
//获取十字准星指向的实体是否在水中
# %cursorEntity_armor%
//获取十字准星指向的实体的原版盔甲值
# %cursorEntity_jumpBar%
//获取十字准星指向的实体的骑乘跳跃值
# %cursorEntity_experience%
//获取十字准星指向的实体的原版经验条的百分比[0-1]
# %cursorEntity_experience2%
//获取十字准星指向的实体的原版经验条的百分比[0-100]
# %cursorEntity_survival%
//获取十字准星指向的实体是否在生存模式
# %cursorEntity_isRiding%
//获取十字准星指向的实体是否在骑乘
# %cursorEntity_mount_type%
//获取十字准星指向的实体的骑乘实体的类型
# %cursorEntity_mount_health%
//获取十字准星指向的实体的骑乘实体的血量
# %cursorEntity_mount_max_health%
//获取十字准星指向的实体的骑乘实体的最大血量
# %cursorEntity_directionX%
//获取十字准星指向的实体的视线朝向的坐标X
# %cursorEntity_directionY%
//获取十字准星指向的实体的视线朝向的坐标Y
# %cursorEntity_directionZ%
//获取十字准星指向的实体的视线朝向的坐标Z
# %cursorEntity_bounding_width%
//获取十字准星指向的实体的碰撞箱的宽度
# %cursorEntity_bounding_height%
//获取十字准星指向的实体的碰撞箱的高度
# %cursorEntity_uuid%
//获取十字准星指向的实体的UUID
# %cursorEntity_simpleUuid%
//获取十字准星指向的实体的简化UUID(即原有UUID去除_)
Tips:以下变量将为鼠标指针指着实体的信息,触发距离较远,可以在客户端playerPointToEntityEventTriggerRange参数中调节距离
# %rayEntity_exist%
//获取玩家视线是否指向了一个实体
# %rayEntity_name%
//获取玩家视线指向的实体的名字
# %rayEntity_health%
//获取玩家视线指向的实体的血量
# %rayEntity_max_health%
//获取玩家视线指向的实体的最大血量
# %rayEntity_level%
//获取玩家视线指向的实体的原版等级
# %rayEntity_pitch%
//获取玩家视线指向的实体的俯仰角(绕X轴旋转度数)
# %rayEntity_yaw%
//获取玩家视线指向的实体的偏航角(绕Y轴旋转度数)
# %rayEntity_posX%
//获取玩家视线指向的实体的X坐标
# %rayEntity_posY%
//获取玩家视线指向的实体的Y坐标
# %rayEntity_posZ%
//获取玩家视线指向的实体的Z坐标
# %rayEntity_food_level%
//获取玩家视线指向的实体的原版饥饿度
# %rayEntity_air%
//获取玩家视线指向的实体的原版氧气值
# %rayEntity_inWater%
//获取玩家视线指向的实体是否在水中
# %rayEntity_armor%
//获取玩家视线指向的实体的原版盔甲值
# %rayEntity_jumpBar%
//获取玩家视线指向的实体的骑乘跳跃值
# %rayEntity_experience%
//获取玩家视线指向的实体的原版经验条的百分比[0-1]
# %rayEntity_experience2%
//获取玩家视线指向的实体的原版经验条的百分比[0-100]
# %rayEntity_survival%
//获取玩家视线指向的实体是否在生存模式
# %rayEntity_isRiding%
//获取玩家视线指向的实体是否在骑乘
# %rayEntity_mount_type%
//获取玩家视线指向的实体的骑乘实体的类型
# %rayEntity_mount_health%
//获取玩家视线指向的实体的骑乘实体的血量
# %rayEntity_mount_max_health%
//获取玩家视线指向的实体的骑乘实体的最大血量
# %rayEntity_directionX%
//获取玩家视线指向的实体的视线朝向的坐标X
# %rayEntity_directionY%
//获取玩家视线指向的实体的视线朝向的坐标Y
# %rayEntity_directionZ%
//获取玩家视线指向的实体的视线朝向的坐标Z
# %rayEntity_bounding_width%
//获取玩家视线指向的实体的碰撞箱的宽度
# %rayEntity_bounding_height%
//获取玩家视线指向的实体的碰撞箱的高度
# %rayEntity_uuid%
//获取玩家视线指向的实体的UUID
# %rayEntity_simpleUuid%
//获取玩家视线指向的实体的简化UUID(即原有UUID去除_)
Tips:仅在GUI特效内的界面可用
# %bindEntity_name%
//获取GUI特效绑定的实体的名字
# %bindEntity_health%
//获取GUI特效绑定的实体的血量
# %bindEntity_max_health%
//获取GUI特效绑定的实体的最大血量
# %bindEntity_level%
//获取GUI特效绑定的实体的原版等级
# %bindEntity_pitch%
//获取GUI特效绑定的实体的俯仰角(绕X轴旋转度数)
# %bindEntity_yaw%
//获取GUI特效绑定的实体的偏航角(绕Y轴旋转度数)
# %bindEntity_posX%
//获取GUI特效绑定的实体的X坐标
# %bindEntity_posY%
//获取GUI特效绑定的实体的Y坐标
# %bindEntity_posZ%
//获取GUI特效绑定的实体的Z坐标
# %bindEntity_food_level%
//获取GUI特效绑定的实体的原版饥饿度
# %bindEntity_air%
//获取GUI特效绑定的实体的原版氧气值
# %bindEntity_inWater%
//获取GUI特效绑定的实体是否在水中
# %bindEntity_armor%
//获取GUI特效绑定的实体的原版盔甲值
# %bindEntity_jumpBar%
//获取GUI特效绑定的实体的骑乘跳跃值
# %bindEntity_experience%
//获取GUI特效绑定的实体的原版经验条的百分比[0-1]
# %bindEntity_experience2%
//获取GUI特效绑定的实体的原版经验条的百分比[0-100]
# %bindEntity_survival%
//获取GUI特效绑定的实体是否在生存模式
# %bindEntity_isRiding%
//获取GUI特效绑定的实体是否在骑乘
# %bindEntity_mount_type%
//获取GUI特效绑定的实体的骑乘实体的类型
# %bindEntity_mount_health%
//获取GUI特效绑定的实体的骑乘实体的血量
# %bindEntity_mount_max_health%
//获取GUI特效绑定的实体的骑乘实体的最大血量
# %bindEntity_directionX%
//获取GUI特效绑定的实体的视线朝向的坐标X
# %bindEntity_directionY%
//获取GUI特效绑定的实体的视线朝向的坐标Y
# %bindEntity_directionZ%
//获取GUI特效绑定的实体的视线朝向的坐标Z
# %bindEntity_bounding_width%
//获取GUI特效绑定的实体的碰撞箱的宽度
# %bindEntity_bounding_height%
//获取GUI特效绑定的实体的碰撞箱的高度
# %bindEntity_uuid%
//获取GUI特效绑定的实体的UUID
# %bindEntity_simpleUuid%
//获取GUI特效绑定的实体的简化UUID(即原有UUID去除_)
# %entity_meta_key:uuid%
//可以获得实体的插件注册元数据值 例如%complex_entity_meta_pet1:#bindEntity_uuid#%