跳到主要内容

行类型

看板由一行一行组成。每一行除了可以是文字,还可以是旋转的物品、头颅或生物。 插件看这一行的开头来决定类型:

开头类型看起来像默认高度
(没有特殊开头)文字行一行文字0.3
#ICON:物品行浮在空中、会旋转的掉落物0.6
#HEAD:头颅行一颗大头颅(盔甲架戴在头上)0.75
#SMALLHEAD:小头颅行一颗小头颅(小盔甲架戴在头上)0.6
#ENTITY:生物行一只不会动、不会发出声音的生物等于该生物的身高

行类型实机截图

  • 开头不分大小写:#icon:、#Icon: 都可以。冒号后面有没有空格都可以。
  • 所有行都只存在于封包(只有玩家的画面看得到),不会生成真的实体,也不会被捡起、打死或推走。
  • 用指令加一行时直接把整段打在后面,例如 /clh line add 看板名 1 #ICON: DIAMOND(指令说明见 行指令)。
写在 YAML 里一定要加引号

# 在 YAML 里是注解。- #ICON: DIAMOND 会被当成注解整行忽略,必须写成 - '#ICON: DIAMOND'。 其他引号规则见 颜色与格式。

文字行​

没有特殊开头的内容都是文字行。

lines:
- '<gold><bold>星落小镇</bold></gold>'
- '&7欢迎你,&f%player_name%'
- '&e[x][x][x] &7进度条'
  • 颜色、渐变、字体的写法见 颜色与格式。
  • 可以放 变量({player}、PlaceholderAPI 的 %...%)与 动画。
  • 1.19.4 以上默认用 TextDisplay 显示,可以设定 背景与阴影;更旧的版本或 text-display-lines: false 时用隐形盔甲架的名字显示。
  • 一行就是一行,不会自动换行;想要多行就加多行。
  • config.yml 的 custom-replacements 只对文字行生效(见 颜色与格式)。
  • 内容留空 '' 就是一行空行,可以拿来当间隔。TextDisplay 有背景时,空行可能留下一小条背景,把这一行的 background-opacity 设成 0 即可(见 背景与阴影)。

物品行 #ICON:​

显示一个浮在空中、自己旋转的掉落物(就像地上的掉落物一样会上下浮动、转圈)。

完整格式​

#ICON: <物品>[:<数据值>] [!ENCHANTED] [(头颅值)] [{NBT}]
部分必填说明例子
<物品>是物品名称,就是 Bukkit 的 Material 名称。不分大小写,_、-、空格可以省略DIAMOND_SWORD、diamondsword
:<数据值>否数据值(耐久 / 子类型)。1.12 以下用来选颜色、种类;1.13 以上只代表损坏程度WOOL:14、DIAMOND_SWORD:100
!ENCHANTED否加上附魔光泽(必须大写)GOLDEN_APPLE !ENCHANTED
(头颅值)否只对头颅物品有效,决定头颅的外观,见下方 头颅外观PLAYER_HEAD (Notch)
{NBT}否额外的物品 NBT,例如自定义模型PAPER {CustomModelData:1001}

插件依序做这些事:先找出 ( ) 里的头颅值,再找出 { } 里的 NBT,再找 !ENCHANTED,剩下的第一个词才是物品名称。 所以各部分的顺序其实不重要,但物品名称一定要写在最前面。

例子

lines:
- '#ICON: DIAMOND_SWORD !ENCHANTED' # 发光的钻石剑
- '#ICON: PLAYER_HEAD ({player})' # 每个玩家看到自己的头
- '#ICON: PAPER {CustomModelData:1001}' # 资源包里的自定义模型
- '#ICON: WOOL:14' # 1.12 以下的红色羊毛
用手上的物品

在游戏里用 /clh line add、/clh line insert、/clh line set、/clh page add 时,文字里的 <HAND> 会换成你主手物品的写法(含附魔光泽、头颅外观、CustomModelData)。 例如手拿一把附魔剑输入 /clh line add 看板名 1 #ICON: <HAND>。手上没东西时会变成 STONE。

注意事项​

  • 物品名称打错时会显示石头(STONE),控制台不一定有提示。先用 Tab 补全确认名称。
  • 方块、物品名称在不同 Minecraft 版本会改名(例如 1.13 前后),插件内置了新旧名称对照,PLAYER_HEAD 在 1.12 也认得。 但 1.12 以下颜色、种类靠数据值区分,RED_WOOL 只会变成白色羊毛,请写 WOOL:14。
  • NBT 一律用 1.20.4 以前的旧写法(例如 {CustomModelData:1001})。1.20.5 以上服务器会自动转成新的物品组件。
  • NBT 里可以用 PlaceholderAPI 变量。
  • facing(朝向)对物品行没有明显效果,因为掉落物本身会旋转。

1.12 以下常用数据值​

物品写法说明
羊毛 / 染色玻璃 / 陶瓦 / 地毯WOOL:0 ~ WOOL:150 白、1 橙、2 品红、3 淡蓝、4 黄、5 黄绿、6 粉红、7 灰、8 淡灰、9 青、10 紫、11 蓝、12 棕、13 绿、14 红、15 黑(STAINED_GLASS、STAINED_CLAY、CARPET 相同)
头颅SKULL_ITEM:0 ~ SKULL_ITEM:50 骷髅、1 凋灵骷髅、2 僵尸、3 玩家、4 苦力怕、5 末影龙
木板WOOD:0 ~ WOOD:50 橡木、1 云杉、2 白桦、3 丛林、4 金合欢、5 深色橡木
染料INK_SACK:0 ~ INK_SACK:150 墨囊、1 红、2 绿、3 可可豆、4 青金石、15 骨粉

写了 (头颅值) 的头颅会自动设成玩家头颅(数据值 3),所以 1.12 写 PLAYER_HEAD (Notch) 或 SKULL_ITEM (Notch) 都可以。

让一个隐形盔甲架戴上物品,显示成一颗大头颅(与玩家头一样大)。格式与 物品行 完全相同:

#HEAD: <物品>[:<数据值>] [!ENCHANTED] [(头颅值)] [{NBT}]
lines:
- '#HEAD: PLAYER_HEAD (Notch)'
- '#HEAD: PLAYER_HEAD (HEADDATABASE_1234)'
- '#HEAD: GLASS' # 方块也可以,会显示成一颗玻璃方块
  • 头颅不会旋转,可以用 facing(朝向,角度)让它面向某个方向:/clh line setfacing <看板> <页> <行> <角度>,或在文件里写 facing: 90.0。
  • 一般放头颅或方块。其他物品戴在头上的样子由 Minecraft 决定,不一定好看。

小头颅行 #SMALLHEAD:​

与 头颅行 相同,只是用小盔甲架,头颅大约是一半大小,适合当图示。

lines:
- '#SMALLHEAD: PLAYER_HEAD ({player})'
- '&f%player_name% 的资料'

头颅外观怎么写​

( ) 里的内容只在物品名称含有 HEAD 或 SKULL 时有效(PLAYER_HEAD、SKULL_ITEM…)。插件依照内容判断类型:

写法判断方式例子说明
玩家名称16 个字以内(Notch)显示这名玩家的皮肤。玩家在线就用他目前的皮肤;不在线时插件会自己向 Mojang 查询(离线模式服务器也能用)
{player}内置变量({player})每个人看到自己的头
PlaceholderAPI 变量%...%(%player_name%)先替换变量,再按上面两条规则判断
材质值(Base64)超过 16 个字(eyJ0ZXh0dXJlcyI6...)头颅网站的 Value,任何服务器都能显示,不需要连 Mojang
HeadDatabaseHEADDATABASE_ 开头(HEADDATABASE_1234)需要安装 HeadDatabase 插件,1234 是它的头颅编号
  • 材质值去头颅网站(例如 minecraft-heads.com)复制 Value 那一长串,整串放进括号里。
  • 查询玩家皮肤的逾时是 config.yml 的 player-skin-connection-timeout(秒),出现 Failed to fetch UUID for player 时可以调高。
  • 没装 HeadDatabase 却写 HEADDATABASE_...,内容会被当成材质值,头颅会显示不正确。

生物行 #ENTITY:​

显示一只生物。

#ENTITY: <生物类型>
lines:
- '#ENTITY: ALLAY'
- '&b悦灵'
  • 生物类型就是 Bukkit 的 EntityType 名称,不分大小写,_ 可以省略(allay、ZOMBIE_VILLAGER、zombievillager)。
  • 名称打错会显示成猪(PIG)。用 Tab 补全可以看到这个版本能用的所有生物。
  • 生物是封包生物:没有 AI、不会掉落、没有重力、不会发出声音,也不能骑乘、不能设定成坐下或宝宝。
  • 这一行的高度自动等于生物的身高,生物会站在自己这一行的空间里。
  • 点生物本身也算点到看板(会触发 点击动作)。
  • 生物会面向看板的 facing 方向(可以用 /clh line setfacing 单独调整)。
  • 生物类型可以用 PlaceholderAPI 变量,在显示给玩家时替换。

不能使用的类型​

下列类型不是生物或无法正常显示,插件不接受(会变成猪):

类别类型
显示实体 / 标记BLOCK_DISPLAY、ITEM_DISPLAY、TEXT_DISPLAY、INTERACTION、MARKER、AREA_EFFECT_CLOUD
掉落物 / 经验ITEM、EXPERIENCE_ORB、FALLING_BLOCK
投射物FIREBALL、SMALL_FIREBALL、DRAGON_FIREBALL、WITHER_SKULL、FIREWORK_ROCKET、FISHING_BOBBER、EVOKER_FANGS
悬挂物ITEM_FRAME、GLOW_ITEM_FRAME、PAINTING、LEASH_KNOT
矿车MINECART、CHEST_MINECART、FURNACE_MINECART、HOPPER_MINECART、TNT_MINECART、SPAWNER_MINECART、COMMAND_BLOCK_MINECART
船所有船与运输船(OAK_BOAT、OAK_CHEST_BOAT… 包括樱花、红树、苍白橡木等)
其他PLAYER、MANNEQUIN、TNT、LIGHTNING_BOLT、UNKNOWN

想要显示玩家模样,用 头颅行;想要显示方块或物品的大模型,用 Display 实体。

行高与排列​

行是怎么往下排的​

看板的位置(location)就是第一行的位置,之后每一行往下排:

看板位置 ──── 第 1 行
↓ 往下移「第 1 行的高度」
第 2 行
↓ 往下移「第 2 行的高度」
第 3 行

也就是说,一行的高度 = 这一行到下一行的距离。最后一行的高度只影响看板的总高度(点击范围、置中)。

把看板的 down-origin 设成 true,看板位置会变成最下面,整个看板往上长。适合放在地上,不想看板钻进地底时使用(/clh hologram downorigin <看板> true)。

默认高度​

新增一行时,高度依类型决定,可以在 config.yml 的 defaults.height 修改:

类型设定默认
文字defaults.height.text0.3
物品defaults.height.icon0.6
大头颅defaults.height.head0.75
小头颅defaults.height.smallhead0.6
生物不能设定该生物的身高
  • 修改默认值只影响之后新增的行。已经存在的行,高度都已经写在看板文件里。
  • 用 /clh line set 把一行换成别的类型(例如文字换成物品)时,高度会重设成新类型的默认值;同类型之间修改内容则保留原本的高度。

调整单行​

属性作用指令范围
height这一行到下一行的距离/clh line height <看板> <页> <行> <高度>0~2.5
offsetX往东(正)/ 西(负)偏移/clh line offsetX <看板> <页> <行> <偏移>指令 -2.5~2.5
offsetZ往南(正)/ 北(负)偏移/clh line offsetZ <看板> <页> <行> <偏移>指令 -2.5~2.5
facing朝向角度(影响头颅与生物)/clh line setfacing <看板> <页> <行> <角度>-180~180,也可以写 SOUTH(0)、WEST(90)、NORTH(180)、EAST(-90)
pages:
- lines:
- content: '#SMALLHEAD: PLAYER_HEAD ({player})'
height: 0.5
- content: '&f%player_name%'
height: 0.25 # 行距缩小
- content: '&7往右边偏一点'
offsetX: 0.5
  • offsetX / offsetZ 沿着世界的方向(东西 / 南北)移动,不会跟着看板朝向转。指令限制在 ±2.5 格,直接改文件则没有限制。
  • 没有上下偏移(offsetY)的设定,想调整上下位置请调上一行的 height。
  • height 设成 0 可以让下一行与这一行重叠,例如把小头颅放在文字旁边(再配合 offsetX)。
  • 背景想接成一整块的行距技巧,见 背景与阴影。