GermEngine 4.5.3
4.5.3 补齐 GUI 颜色块组件的多边形线框绘制能力说明,新增 GUI 自定义组件能力,同步玩家背包 JEI 配置,完善客户端本地 source 资源分发说明,并扩展 MythicMobs 模型技能。
GUI 自定义组件
GUI yml 顶级 components 节点会作为公共组件库加载,某个 GUI 的 options.components 可以定义当前 GUI 私有组件。组件使用 props 定义参数,root 定义内部根部件;普通 GUI 中通过 type: component 引用组件,运行时会创建真实的 component 容器。
复用商品条目组件components:
商品条目:
props:
id: "unknown"
name: "商品"
price: "0"
root:
type: canvas
width: "180"
height: "64"
relativeParts:
名称:
type: label
texts:
- "&f${props.name}"
购买:
type: button
width: "40"
height: "24"
clickScript: |
var itemId = '${props.id}';
Log.chat('准备购买商品: ' + itemId);
商店界面:
商品列表画布:
type: canvas
width: "400"
height: "180"
layout:
type: FLOW
gapX: "10"
gapY: "8"
relativeParts:
商品_1:
type: component
component: 商品条目
props:
id: "diamond_sword"
name: "钻石剑"
price: "100"
商品_2:
type: component
component: 商品条目
props:
id: "heal_potion"
name: "治疗药水"
price: "80"颜色块组件支持多边形
color 组件的 shape 用来选择绘制形状:rectangle 为矩形色块,line 为线条。line 配合 points 时,会按点位顺序绘制多边形线框;points 坐标相对当前组件的 locationX/locationY。
绘制一个多边形线框colorPolygon:
type: color
locationX: "w*0.4"
locationY: "h*0.15"
shape: "line"
points:
- "0<->0"
- "80<->20"
- "60<->90"
- "10<->70"
color: 0xFFFFAA00玩家背包 JEI 显示配置
自定义玩家背包的 private.other 配置补齐 jeiEnable 和 jeiPadding 示例。jeiEnable 用来控制萌芽背包界面是否显示 JEI,默认关闭;jeiPadding 用来调整 JEI 区域边距,数值越大 JEI 可用区域越小。
在自定义玩家背包中开启 JEIprivate:
other:
jeiEnable: true
jeiPadding: 8伤害悬浮字总开关
3DDamageDisplay 新增 enable 总开关。关闭后默认伤害显示和 CustomDamageDisplayChannel 都不会继续显示,适合给玩家选项或性能预设统一控制伤害悬浮字。
通过配置或 DOS 控制伤害悬浮字ClientOptions:
3DDamageDisplay:
enable: true
# 运行时控制
updateClient<->damageSystem@true/false客户端本地 source 与省流量分发
客户端资源分发文档补齐本地 source 配置链路。固定、变化少且不敏感的 item、misc、animation、gui、entity、effect 等 source 可以先放入客户端 GermCache/src 调试,再通过 pack 或 folder 加密方式随正式客户端资源分发,减少普通玩家进服时服务端下发的 source 数据量。
把固定 source 前置到客户端资源.minecraft/GermCache/src/item/fixed/sword.yml
.minecraft/GermCache/src/animation/fixed/weapon.yml
.minecraft/GermCache/src/misc/client/display.yml
Settings:
sendSrcDebug: false
sendSrcDevList:
- "GermMC"
sendSrcBlackList:
- "item/fixed/"
- "animation/fixed/"
- "misc/client/"MythicMobs 模型技能扩展
MythicMobs 拓展新增指定槽位基岩物品动画技能,可以让怪物手持的远程武器、枪械、弓弩等模型直接播放 attack、reload 等物品动画;同时补齐骨骼隐藏、显示 与显隐设置技能,并修复骨骼替换技能只记录状态但没有稳定下发的问题。
让怪物主手物品播放攻击动画Skills:
- ItemAnimation{name=attack;slot=main;speed=1.2} @self ~onAttack
- BoneHide{bone=rightArm} @self ~onSpawn
- BoneShow{bone=rightArm} @self ~onDamaged修复与稳定性优化
优化伤害悬浮字渲染缓存与清理逻辑,修复 GUI 物品预览旋转速度不生效、GUI 自定义组件缓存生命周期、实体模型改名事件干扰和模型替换包延迟应用问题;同时补充 folder 加密超长资源路径提示、验证服务器静默重连、实体状态首次同步与原版容器子界面层级提示。