跳到主要内容

自己画血条

资料夹​

位置内容
images/<样式>/血条图片(样式的 bar.folder)
icons/*.png图标,文字里用 {icon:<文件名>}
icons.yml图标的显示高度
fonts/ + fonts.yml位图 / TTF 字体
resource_pack/、CloudHealthBar.zip生成出来的资源包(不要手动改,每次生成会覆盖)

改了图片后 /chb pack(或 /chb reload)。内容没变时开服不会重新生成。

血条图片​

一个血条由 3~6 张尺寸完全相同的 PNG 组成:

文件内容必须
background.png底框:外框、凹槽、装饰(宝石、云纹……)。整张图的大小就是血条的大小✅
fill_*.png满血时的血量条,只画会变短的那一段,其他地方透明✅ 至少一张
trail.png受伤残影(和血量条同一个范围),通常是浅色
frame.png盖在血量上面的东西:刻度、外框高光

插件会自动:

  1. 找出血量图里「有像素的那几列」,从左到右切成 steps 格(0 = 每个像素一格);
  2. 每一格存成一个字,客户端按血量显示对应的那一格;
  3. 在最前缘加一点亮光(edge-glow)。
画图建议
  • 用 2 倍像素画(例如显示高度 6 就画 12 像素高),细节更多又不会太糊;bar.height 填显示高度。
  • 血量图、残影、外框尽量用不透明的颜色。半透明只建议用在底框。
  • 宽度不限,但太宽的图在远处会闪烁;默认血条是 128 ~ 244 像素宽。

默认的三种血条图片(放大 5 倍):

普通精英
普通精英

图标​

把 PNG 放进 icons/,文件名就是图标名称(icons/boss.png → {icon:boss})。高度在 icons.yml:

default:
height: 8 # 显示高度(文字像素)
ascent: 7 # 往上偏移,不能大于 height
icons:
boss:
height: 9
ascent: 8

默认附带 boss(皇冠)、elite(宝石)、star(星光)、skull(骷髅)。

字体​

fonts.yml 里每一个字体都会变成 cloudhealthbar:<名字>:

# 位图字体:fonts/digits.png 按格子切开
digits:
type: bitmap
file: digits.png
height: 8
ascent: 7
space: 3 # 空格宽度
chars: # 每一行对应图片的一行格子,每行字数必须一样(空格子写 \0)
- "0123456789"
- "/,.%KMB-+:"
- "()x\0\0\0\0\0\0\0"

# TTF / OTF:把字体文件放进 fonts/
kaiti:
type: ttf
file: kaiti.ttf
size: 10 # 大小
oversample: 6 # 清晰度(越大越清楚,资源包越大)
shift: [0, 1] # [左右, 上下] 偏移
skip: "" # 这些字不用这个字体

使用:<font:cloudhealthbar:kaiti>{name}</font>。TTF 由客户端直接渲染,中文字体也可以用(注意字体授权与文件大小)。

资源包交给玩家​

方式设定
CraftEngine默认自动:加进 merge-external-folders,/chb reload 后自动 /ce reload all
ItemsAdderpack.copy-to: ["ItemsAdder/contents/cloudhealthbar/resourcepack"],after-build-commands: ["iazip"]
其他插件 / 自己的资源包合并 resource_pack/ 资料夹或 CloudHealthBar.zip
自带下载服务pack.self-host.enabled: true,玩家进服自动下载

资源包只用到自己的命名空间 cloudhealthbar,不修改任何原版文件与着色器,和其他资源包不会冲突。 药水效果图标直接引用原版贴图,不占空间。