跳到主要内容

✏️ 文本格式

MiniMessage

在配置插件中的物品名称、提示框中所显示的描述信息、GUI 等内容时,请使用 MiniMessage 格式。https://docs.advntr.dev/minimessage/format.html

任何有意义的标签都可以在其生效的位置被转义。在纯文本中,标签起始字符(<)可以通过前置反斜杠(\)进行转义。在带引号的字符串中,起始引号字符('")也可以被转义。在这两种情况下,转义符本身也可以被转义以输出字面上的反斜杠。为简单起见,未加引号的标签参数不能使用转义字符。在不支持转义的上下文中,转义字符会作为普通字符原样输出。在支持转义的上下文中,如需输出反斜杠,应通过双反斜杠(\\)来实现。

注意事项

危险

译者注:不要把 <>[] 以及 _ 写进去了请整个替换

例如: %image_mm_<命名空间>:<路径>% 如果你的图片在配置文件中定义的是 default:icons 那么只需要写 %image_mm_default:icons% 即可

以下是几个例子:

  • %image_mm_<default>:<icons>% ❌️(应该去掉<>
  • %image_mm_default:icons% ✔️
  • %image_mm_default:icons:[行]:[列]% ❌️(如果你不需要行和列,请删除这两个参数)
  • %image_mm_default:icons:[0]:[1]% ❌️(应该去掉[]
  • %imagemmdefault:icons:1:0% ❌️ (不能去掉必要的 _
  • %image_mm_default:icons:1:0% ✔️
  • id: <test_namespace>:<test/my_path> ❌️(应该去掉<>
  • id: test_namespace:test/my_path ✔️
  • <shift:_666_> ❌️(应该去掉_
  • shift:666 ❌️(不是哥们你怎么连最外面的也去掉了)
  • <viewerarg:player.name> ❌️(不能去掉必要的 _
  • <shift:666> ✔️

附加标签

以下是插件提供的其他可用标签。

提示

[_参数_] 表示该参数是可选的。

信息

你可以用 '" 将参数包裹起来,例如 <papi:'exp_multiplier':'1'>

你也可以使用嵌套标签,例如 <expr:'0.##':'<papi:exp_multiplier:1> * 10'>

信息

你可能会注意到,一些标签以 "viewer_" 开头。这是因为在某些场景下,一段文本可能由多个上下文实体共同构建。例如以下示例配置:

message: -|
嗨,<viewer_arg:player.name>。
你有没有注意到 <arg:player.name> 与一个自定义方块进行了交互?

玩家A与自定义方块交互并触发消息广播时,玩家B接收到的消息将显示为:
"嗨,B。你有没有注意到 A 与一个自定义方块进行了交互?"

<shift:_像素值_>

shift 允许你直接使用插件的偏移字符。

item-name: "<!i><shift:-100><#FF8C00>黄玉钓竿"

<papi:_占位符_:[_默认值_]>

<viewer_papi:_占位符_:[_默认值_]>

<rel_papi:_占位符_:[_默认值_]>

papi 允许你使用由 PlaceholderAPI 提供的占位符。

提示

rel_papi 指的是关系型占位符。

item-name: "<!i><#FF8C00><papi:player_name>的黄玉钓竿"

你还可以通过指定默认值,让这些标签在更多场景下安全使用而不会报错,例如:

functions:
- type: drop_exp
count:
type: uniform
min: "<papi:exp_multiplier:1> * 3"
max: "<papi:exp_multiplier:1> * 5"

<image:_命名空间_:_路径_:[_行_]:[_列_]>

image 允许你使用插件中已注册的图片。

item-name: "<!i><white><image:default:icons><#FF8C00>黄玉钓竿"

item-name: "<!i><white><image:default:icons:0:1><#FF8C00>黄玉钓竿"

<i18n:_标识符_>

查找适用于当前服务端语言的翻译。

internal:cooking_info:
template: "internal:icon/2d"
arguments:
model_data: 1006
texture: cooking_info
name: "<!i><#FF8C00><i18n:internal.cooking_info>"
lore:
- "<!i><gray><i18n:internal.cooking_info.0>"
- "<!i><gray><i18n:internal.cooking_info.1>"

<expr:_格式_:_表达式_>

进行一些数学运算

item-name: "<!i><#FF8C00><expr:0.##:'70 / 8'>"
item-name: "<!i><#FF8C00><expr:0.##:'<papi:player_x> / 8'>"

<arg:_索引_>

仅用于 translations 目录下的文件,表示索引参数。

<arg:_标识符_>

<viewer_arg:_标识符_>

这是一个命名参数。其值可以来自两个可能的来源:

  1. 上下文特定的参数 – 这些是在当前上下文中明确传递的参数。
internal.cooking_info.0: "时间:<arg:cooking_time>刻"
internal.cooking_info.1: "经验:<arg:cooking_experience>"
  1. 通用参数
<arg:random>  # 生成一个 0 到 1 之间的随机数
<arg:last_random> # 获取上一个随机数
  1. 上下文主体 – 如果上下文主体(例如,一个玩家)提供了参数。查看此页面了解更多:
提示

在某些情况下,多个上下文主体可能同时存在。通过访问不同上下文主体的参数,您可以精确控制函数的范围和行为。

# 在方块的位置生成粒子
- type: particle
x: '<arg:block.x> + 0.5'
y: '<arg:block.y> + 0.5'
z: '<arg:block.z> + 0.5'
...
# 在玩家的位置生成粒子
- type: particle
x: '<arg:player.x>'
y: '<arg:player.y>'
z: '<arg:player.z>'
...
# 广播消息
- type: message
target: 'all'
message:
- "你好,<viewer.arg:player.name>!这条消息来自 <arg:player.name>。"
- "<arg:player.name> 刚刚与 <arg:block.owner> 方块进行了交互!"

<global:_标识符_:[参数...]>

在配置中定义的全局变量。

item-name: "<global:rare_tag> 稀有三叉戟"