**MessagesOnHead** 是一个 **Paper (1.19.4+)** 插件,当玩家向聊天发送消息时,会在玩家头顶上方显示消息一段时间。
该插件的功能基于 [文本显示](https://minecraft.wiki/w/Display#Text_Displays) 实体。
**[重要]** 在 Minecraft 版本 **1.20.2 到 1.21.5** 中,该插件**可能无法正常工作**。 你可能会注意到消息之间存在不寻常的间隙。 由于这些 Minecraft 版本中存在特定于版本的更改,因此无法修复此问题。
如果您有任何问题/错误,可以在 [这里](https://github.com/MrQuackDuck/MessagesOnHead/issues) 提出。
### 👀 预览
### 🌠 主要功能
- **每行限制**: 您可以通过 `symbolsPerLine` 字段配置每行中的符号限制。
- **最大符号限制**: 您可以通过 `symbolsLimit` 字段配置每个消息的最大符号数量 (_如果达到限制,将追加 '...'_)。
- **计时器**: 您可以启用/禁用消息结束时的计时器,显示剩余时间。
- **时间缩放**: 您可以使较长的消息存在更长的时间。
- **颜色和样式**: 您可以选择文本的颜色,背景色,文本是否带阴影以及计时器的颜色。
- **旋转**: 您可以通过 `pivotAxis` 字段配置文本显示如何旋转。
- **可见性**: 您可以通过 `visibleToSender` 字段隐藏发送者自己的消息,并使用 `messagesonhead.show` 权限选择哪些玩家的消息将全局显示。
- **可调整的间隙**: 您可以通过 `gapBetweenMessages` 和 `gapAboveHead` 字段配置消息之间的间隙和玩家头顶上的间隙。
- **PlaceholderAPI 支持**: 您可以配置一个占位符来对您的文本显示进行着色。
### 🔞 权限
- `messagesonhead.show` _(默认 **true**)_ — 是否在玩家头顶上方显示消息。
- `messagesonhead.admin` _(默认 **操作员**)_ — 允许使用 `/moh` 命令。
### 💻 命令
- `/moh info` — 显示命令信息。
- `/moh reload` — 重新加载配置文件,并清除所有与插件相关的实体。
- `/moh say <玩家> ` — 代表玩家发送消息。
别名:`/messagesonhead`。
### 📄 默认配置
```yml
symbolsPerLine: 30
# 如果达到限制,将添加三个点。 -1 表示没有限制
symbolsLimit: -1
# 消息存在时的初始秒数
timeToExist: 2
# 消息是否对发送者可见
visibleToSender: true
# 较长的消息是否会存在更长时间
scalingEnabled: true
# 每个符号的比例系数(以秒为单位)。 例如,一个包含 50 个符号的消息
# 如果系数设置为 0.1,则会额外存在 5 秒(因为 0.1 * 50 = 5)
scalingCoefficient: 0.05
# 消息之间的距离 / 玩家头顶上的距离
gapBetweenMessages: 0.3
gapAboveHead: 0.4
textColor: "#FFFFFF"
timerEnabled: true
# 计时器显示的最小消息长度阈值
minSymbolsForTimer: 0
timerFormat: " (%.1f)"
timerColor: "#F4CA16"
backgroundEnabled: true
backgroundColor: "#000000"
# 范围:[0, 100]
backgroundTransparencyPercentage: 100
# 文本是否带阴影
isShadowed: true
# 文本显示可以旋转的方式:
# VERTICAL - 可以在垂直轴上旋转
# HORIZONTAL - 可以在水平轴上旋转
# CENTER - 可以在中心点上旋转
# FIXED - 不旋转
pivotAxis: "VERTICAL"
# 如果您使用一个插件来定制每个玩家的聊天颜色(例如,EZColors、ChatColor 等),则可以启用此功能
placeholderApiIntegration: false
# 将放置在每个文本行前面的占位符名称
colorPlaceholder: "%ezcolors_color%"
# 如果 `placeholderApiIntegration` 为 true,则文本行的格式
lineFormat: "&[defaultColor]&[colorPlaceholder][message]"
messages:
"prefix": "F4CA16[MessagesOnHead]"
"info-title": " D9E6ED命令列表:"
"info-toggle-command-description": " &f/moh toggle - D9E6ED允许您切换头顶消息的可见性。"
"info-reload-command-description": " &f/moh reload - D9E6ED重新加载配置文件并清除所有与插件相关的实体。"
"info-say-command-description": " &f/moh say - D9E6ED代表玩家发送消息。"
"reloaded": " D9E6ED已重新加载!"
"visibility-toggled-on": " D9E6ED您现在将&a&n看到&D9E6ED其他玩家头顶的消息。"
"visibility-toggled-off": " D9E6ED您将&c&n不再&D9E6ED看到其他玩家头顶的消息。"
"only-players": " &c只有玩家可以使用此命令!"
"player-not-found": " &c未找到玩家。"
"command-not-found": " &c未找到命令。"
"error-during-reload": " &c重新加载时出现错误!请检查控制台以获取详细信息。"
```
### 🚀 安装指南
**[重要]** 开始之前,请确保插件的版本与您的服务器版本**兼容**。
1. 从 Releases 选项卡下载插件的最新版本。
1. 将下载的 `.jar` 文件放入服务器的 `/plugins` 文件夹中。
2. 重新启动服务器或输入 `/reload` 命令。