
A lightweight, zero-fuss chat plugin for Velocity. Horde provides global and local chat with clean, configurable templates, permission-based prefixes, and minimal moving parts.
一款轻量、零折腾的 Velocity 聊天插件。Horde 提供全局与本地聊天、简洁可配的模板、基于权限的前缀,并尽量减少复杂度。
A lightweight, zero-fuss chat plugin for Velocity. Horde provides global and local chat with clean, configurable templates, permission-based prefixes, and minimal moving parts.
/broadcast 或 /local 在个人默认全局/本地之间切换。/broadcast or /local without arguments.prefix.yml 在聊天模板中注入前缀。prefix.yml in your chat templates.survival -> Survival)。survival -> Survival).plugins/ 目录。plugins/horde/ 生成配置文件。config.yml、localization.yml 与 prefix.yml。/horde reload 重载或重启代理。plugins/ folder.plugins/horde/.config.yml, localization.yml, and prefix.yml to taste./horde reload or restart the proxy.除特别说明外,配置文件位于 plugins/horde/。
Files live under plugins/horde/ unless otherwise noted.
config.ymldefault-global-chat(布尔,默认 true):true 时玩家默认全局聊天;为 false 时默认本地聊天。/broadcast 或 /local 覆盖自己的默认模式。default-global-chat (boolean, default true):/broadcast or /local with no message.log-messages(布尔,默认 false):同时将聊天输出到代理控制台日志。log-messages (boolean, default false): also log chat to the proxy console.enable-legacy-chat-formatting(布尔,默认 true):true 时允许使用 & 颜色码(如 &aHello),按 Legacy (§) 解析。false 时原始消息按 MiniMessage 解析。enable-legacy-chat-formatting (boolean, default true):& codes (e.g., &aHello). Parsed as Legacy (§) via Adventure.enable-legacy-localization-formatting(布尔,默认 false):localization.yml 与 prefix.yml 中的本地化字符串与模板。true 时按 Legacy (§) 解析;否则为 MiniMessage。enable-legacy-localization-formatting (boolean, default false):localization.yml and prefix.yml.forward-sender-uuid(布尔,默认 false):enforce-secure-profiles=false(风险自负)。forward-sender-uuid (boolean, default false):enforce-secure-profiles=false on backends to fully function (use at your risk).localization.yml{key} 表示,并在运行时替换。{server}:来自 SERVER_NAME_MAPPINGS 的美化服务器名称。{player}:发送者用户名。prefix.yml 中定义的任意键(见下)也可在此使用。{key} and replaced at runtime.{server}: pretty server name from SERVER_NAME_MAPPINGS.{player}: the sender’s username.prefix.yml (see below) can appear here.GLOBAL_CHAT_TEMPLATE:全局消息的模板前缀。LOCAL_CHAT_TEMPLATE:本地消息的模板前缀。GLOBAL_CHAT_TEMPLATE: template prefix for global messages.LOCAL_CHAT_TEMPLATE: template prefix for local messages.GLOBAL_CHAT_TEMPLATE: "[{server}]{player}:" # 模板后会追加消息内容
LOCAL_CHAT_TEMPLATE: "{player}:" # 模板后会追加消息内容
GLOBAL_CHAT_TEMPLATE: "[{server}]{player}:" # message appended after template
LOCAL_CHAT_TEMPLATE: "{player}:" # message appended after template
SERVER_NAME_MAPPINGS:
lobby: "<aqua>Lobby</aqua>"
survival: "<green>Survival</green>"
SERVER_NAME_MAPPINGS:
lobby: "<aqua>Lobby</aqua>"
survival: "<green>Survival</green>"
prefix.ymlany_permission_prefix_set:
- permission: "horde.prefix.moderator"
prefix: "<red>[MOD]</red>"
- permission: "horde.prefix.member"
prefix: "<gray>[MEMBER]</gray>"
- permission: "horde.prefix.default"
prefix: "<white>[PLAYER]</white>"
any_permission_prefix_set:
- permission: "horde.prefix.moderator"
prefix: "<red>[MOD]</red>"
- permission: "horde.prefix.member"
prefix: "<gray>[MEMBER]</gray>"
- permission: "horde.prefix.default"
prefix: "<white>[PLAYER]</white>"
localization.yml 模板中使用 {any_permission_prefix_set} 插入解析出的前缀(无匹配则为空)。{any_permission_prefix_set} in your localization.yml templates to insert the resulting prefix (or empty if none matched).data/preferences.yml:按 UUID 存储玩家默认聊天模式(全局/本地),由插件自动管理。data/preferences.yml: per-player defaults (global vs local) stored by UUID. Automatically managed./horde help — 显示帮助。/horde reload — 重载配置。权限:horde.command.reload。horde.command.reload./broadcast [message…](别名:/b、/bc)horde.command.broadcasthorde.command.broadcast./local [message…](别名:/l、/lc)horde.command.localhorde.command.local.horde.command.broadcast,消息将代理范围广播。horde.command.local,消息只会发送到当前服务器的玩家。horde.command.broadcast, your messages broadcast proxy-wide.horde.command.local, your messages deliver only to your current server.horde.command.reload:使用 /horde reload。/horde reload.horde.command.broadcast:使用 /broadcast 或在默认全局模式下进行全局聊天。/broadcast or chat globally when set to global.horde.command.local:使用 /local 或在默认本地模式下进行本地聊天。/local or chat locally when set to local.horde.prefix.moderator、horde.prefix.member、horde.prefix.default 等(名称与权限值由你决定)。horde.prefix.moderator, horde.prefix.member, horde.prefix.default, etc. (you choose names/values).enable-legacy-localization-formatting: true 可切换为 Legacy (§)。enable-legacy-localization-formatting: true to switch to Legacy (§).enable-legacy-chat-formatting: true 允许使用 & 颜色码;否则按 MiniMessage 解析。enable-legacy-chat-formatting: true lets players use & codes; otherwise raw content is MiniMessage.需要 JDK 21 与 Maven。
Requires JDK 21 and Maven.
# 在项目根目录执行 / From the project root
mvn -V -B clean package
target/。plugins/ 目录并启动服务器。target/.plugins/ on your Velocity proxy and start the server.PlayerChatEvent 与指令 API。PlayerChatEvent and command APIs from Velocity 3.x.forward-sender-uuid。forward-sender-uuid with care.MIT 许可证 —— 见 LICENSE。
MIT License — see LICENSE.
需要帮助或有建议?欢迎提交 Issue 或 PR。祝你聊天愉快!
Need help or have suggestions? Open an issue or PR. Enjoy the chat!