- 版权类型
- 原创
- 插件中文名称
- 文罗聊天
- 插件英文名称
- VeloChatX
- 原帖地址
- #
- 支持的核心(代理端)
- Velocity
- 语言支持
- 多语言
- 前置组件
- [可选]LuckPerms for Velocity - https://luckperms.net/
- 适配版本(Java)
- 1.21
- 1.20
- 1.19
- 1.18
- 1.17
- 1.16
- 1.15
- 1.14
- 1.13
- 1.12
VeloChatX 一款多功能的独立Velocity跨服聊天插件
【由AI生成,侵删】
前言
由于paper新发布的Velocity代理端越来越多人再用,传统实现Bungeecore的跨服聊天过度到Velocity需要额外的插件如(snap)等支持才能传递消息。互联网上也找不到比较好的插件,同时合作的几个服务器服主有一些相关方面的需求,于是心血来潮写的这个插件。算是我开发的稍微中小型的插件了。
这次更新添加了定时广播轮播功能,以及分区聊天,分区广播,腐竹们可以根据需要把子服分区管理,不同分区可以隔离聊天。
插件功能/特点
介绍视频
运行截图
Velocity端:
权限
玩家指令/管理指令
请注意
玩家的 prefix 以及suffix 占位符是接入LuckPerms-Velocity 的称号,未来会添加更多支持的称号插件
1.3.X 版本与2.0.0 版本的配置文件具有较大的改动,请已经使用的腐竹注意一下更新的消息
按照更新消息里面进行操作以升级到2.0.0版本。
不进行更新配置文件有可能会出现未知的问题,以及最新的功能可能暂时无法使用
[MD]
## 如何从Stable 1.3.X 升级到 2.0.0 版本
## ```Config.yml```文件
>
> **必须需要更改的内容:**
> * 将***老版本***的 ***server-display*** 属性复制到新版本配置文件的
> **server-display** 下(需要完整复制所有内容)
> * 根据**您的需求**在 ```channel``` 字段下添加服务器的 **ID**
> 以实现区服聊天
>
> **可能需要更改的内容:**
> * ``server-broadcast``相关的两个字段已经移动至 ``broadcast.yml``文件当中
> 如果之前未对此属性进行更改则无须改动
>
> * 原 **server-display.display** 的 ``proxy`` 的转义已经替换到 **server-display** 属性之下,
> 不做更改也可以
## ``message.yml``
>
> **必须要更改的内容:**
> 请完全删除 **message.yml** 这个文件,插件会自动生成新的文件给您
> 若老版本不删除,有可能会出现新的文件
[/MD]
插件配置/消息文件(最新版)
config.yml:
message.yml
Broadcast.yml
统计数据
写在最后
插件制作不易,Velocity给的API没有Bukkit给的全,基本上绝大部分全都是我自己完成的API。
如果需要请爱发电发电后获取,发电后可以获取插件持续更新,以及问题跟踪解答。
如有关MC服务器开服的插件或者开服有关的问题,欢迎到我的爱发电主页发电,可以定制插件/解答一些服务器的问题。
联系我们
点击链接加入群聊【水木的插件叉烧交流】
若链接失效请搜索群号: 912110987
赞助链接: 爱发电

【由AI生成,侵删】

由于paper新发布的Velocity代理端越来越多人再用,传统实现Bungeecore的跨服聊天过度到Velocity需要额外的插件如(snap)等支持才能传递消息。互联网上也找不到比较好的插件,同时合作的几个服务器服主有一些相关方面的需求,于是心血来潮写的这个插件。算是我开发的稍微中小型的插件了。
这次更新添加了定时广播轮播功能,以及分区聊天,分区广播,腐竹们可以根据需要把子服分区管理,不同分区可以隔离聊天。

- 完全自定义聊天格式 & 完全自定义消息输出
- mention标题提及/玩家跨服私聊
- 玩家跨服聊天屏蔽
- 国际化支持,根据玩家的所属地切换对其输出的语言。
- 支持玩家屏蔽其他玩家跨服发言 & 支持跨服屏蔽违禁词语
- 玩家 加入/ 离开 子服务器消息广播 & 玩家 加入 / 离开 代理服务器消息广播
- 支持用户自定义 TabList 玩家列表的自定义显示
- 自动更新和下载插件新版本
- 支持定时广播
- 支持分区聊天
- 数据库存储玩家数据


Velocity端:

代码:
普通玩家: velochatx.player
管理员(reload命令): velochatx.admin

代码:
插件主指令: VeloChatX VCX ChatX
子指令:
/velochatx help - 显示Velochatx的所有帮助
/velochatx on/off 关闭当前对跨服聊天支持
/velochatx ignore - 在在线时间段忽略某人的消息
/velochatx reject - 在在线时间段拒收某人消息,对其显示拒收消息
vcmsg 跨服私聊
mention 跨服提及消息
管理员指令
/velochatx reload [/config/message] 重载所有config,message
/velochatx show-channel-info 显示所有频道和频道服务器的在线的人数

玩家的 prefix 以及suffix 占位符是接入LuckPerms-Velocity 的称号,未来会添加更多支持的称号插件
1.3.X 版本与2.0.0 版本的配置文件具有较大的改动,请已经使用的腐竹注意一下更新的消息
按照更新消息里面进行操作以升级到2.0.0版本。
不进行更新配置文件有可能会出现未知的问题,以及最新的功能可能暂时无法使用
[MD]
## 如何从Stable 1.3.X 升级到 2.0.0 版本
## ```Config.yml```文件
>
> **必须需要更改的内容:**
> * 将***老版本***的 ***server-display*** 属性复制到新版本配置文件的
> **server-display** 下(需要完整复制所有内容)
> * 根据**您的需求**在 ```channel``` 字段下添加服务器的 **ID**
> 以实现区服聊天
>
> **可能需要更改的内容:**
> * ``server-broadcast``相关的两个字段已经移动至 ``broadcast.yml``文件当中
> 如果之前未对此属性进行更改则无须改动
>
> * 原 **server-display.display** 的 ``proxy`` 的转义已经替换到 **server-display** 属性之下,
> 不做更改也可以
## ``message.yml``
>
> **必须要更改的内容:**
> 请完全删除 **message.yml** 这个文件,插件会自动生成新的文件给您
> 若老版本不删除,有可能会出现新的文件
[/MD]

config.yml:
YAML:
# VelochatX 2.0.0
# build java version: JE 17
# author: waterwood
# Available language zh,en
# 此文件的版本,通常不需要改变,检测更新需要用到
config-version: 2.0.0
# 自动更新 / 自动下载
check-update:
enable: true
auto-download: true
# 配置聊天输出的格式{xxx}代表替换的变量
# 在message里,这些规则也适用
# channel: 返回玩家所在的服务器频道
# Group: 返回玩家的组别
# Prefix/Suffix: 返回玩家的前/后缀
# Server: 返回玩家所在的服务器,服务器的显示名字可以在下面的server-display来转换后再输出;
# player: 返回玩家的名字
# Message: 玩家的消息文本
# NOTE : SERVER && MESSAGE && PlayName 这三个字段是必须的,如果少了就好用默认的输出format:[{Server}]{PlayerName}: {Message}
# 支持mc的颜色格式包括 §和& 颜色代码,会覆盖原有的颜色
chat-format: "{channel}{Group}{Server}{Prefix}{Player}{Suffix} §8:§r {Message}"
# 插件消息文件的语音版本,通常依据于您的Java JVM的版本自动设置
locale: zh
# global/locale 这个选项设置在显示给玩家信息(提及,私聊等)是否根据玩家客户端还是服务器的语言显示?
# global: 依据服务器的语言显示给玩家(可以更改设置自定义的消息)
# locale: 依据玩家的客户端的语言显示玩家各种消息(无法自定义消息,只能显示内置的默认的插件消息)
player-locale: global
# 是否在终端输出所有玩家的文本
# 如果觉得服务器内存不够,可以把这个功能关闭尤其是服务器玩家在线人数特别多的时候
log-text:
enable: true
# 是否要转换输出到终端的文本颜色(实现和游戏中一样的效果,日志中不会显示颜色代码,不影响游戏中输出的颜色)
convert: true
# 转换输出的服务器的显示名称
# display的键对应的必须是Velocity中的服务器名字 -> Velocity.toml -> [servers]
# proxy表示代理服务器,如Velocity;
# 如果出现 unknown 或 未知字样则表示下方缺少对应的服务器
# e.g. [Lobby]steven: hello -> [大厅服]steven: hello
server-display:
enable: true
proxy: "[§5代理服§r]"
display:
lobby: "[§d大厅服§r]"
server1: "[§3小游戏服§r]"
server2: "[§2生存服§r]"
# @自 1.4.0 版本加入
# 为每个服务器分组
# 一组频道可以有多个子服务器,一个服务器可以在多个频道内
# 当某个服务器在多个频道同时出现的时候 {channel} 默认替换成 首次 出现的服务器
# global 为 false 的时候则仅仅频道内的服务器消息互通
# global 被设置 true 则所有服务器的消息(不论是否在频道内)都会互通
# 若某个服务器不在频道内,则默认接入global,即全服互通,{channel} 占位符则会被替换成空字符串
channels:
global: false
channel-list:
login:
display: "[§6登录频道§r]"
welcome:
enable: true
message: "欢迎加入登录频道"
servers:
- lobby
games:
display: "[§6小游戏频道§r]"
welcome:
enable: true
message: "欢迎加入小游戏频道"
servers:
- server1
survive:
display: "[§6生存频道§r]"
welcome:
enable: true
message: "欢迎加入生存频道"
servers:
- server2
# 可以按照以上的格式往下添加多个频道(请注意格式要保持一致)
# 是否在提醒的时候给玩家大屏幕显示标题
mention-show-title:
enable: true
# 显示Title的时间,秒为单位,支持整数,非整数自动四舍五入。分别是淡入,停留,淡出的持续时间。
time:
fade-in: 1
stay: 2
fade-out: 1
# 为原本的玩家Tab替换,每个玩家前面加上显示当前的服务器
# interval 请注意该选项在玩家多的时候尽量设置较大的数值,玩家越多占用的资源会更大
tab-list:
enable: true
interval: 1000 #刷新间隔,毫秒为单位 输入0则表示不刷新
format: "{server}{prefix}{player}{Suffix}" #显示的每行的每个玩家的tab的格式 可以参考chat的format的占位符以及服务器的占位符
header: "欢迎加入{proxy} 当前服务器: {server}"
footer: "在线人数 §8{online}§r / §8{total_online}§r | Ping: §8{ping}"
# 违禁词语,以","分隔
ban-words:
enable: true
log-to-console: true
words: "*,*"
# 是否启用玩家的跨服屏蔽功能(未来更新功能,当前版本默认启用)
# max-list 表示最多存储多少个玩家(对于超大型服务器这个值越小越好)
# 以 UUID 形式存储在数据库当中,一个玩家约 16B
ban-list:
enable: true
max-player: 20
message.yml
YAML:
# 以下是游戏中展示给玩家的消息配置
# 所有的键都不能删除或更改,所有的值可以自定义更改
# 部分文本支持VeloChatX占位符
mention-to-message: "§2你提及了玩家 {Server}{Group}{Prefix}{Player}{Suffix}"
mention-receive-message: "{Server}{Group}{Prefix}{Player}{Suffix} §6提及了你!"
no-self-action-message: "§c你无法对自己执行这个操作§r"
fail-find-player-message: "§6在所有服务器上找不到玩家:%s ,其是否§c隐身§r或者§c下线?§r"
mention-title-show-main: "§c请注意 §6你被提及了!"
mention-title-show-sub: "{Group}{Prefix}{Player}{Suffix} §e提及了你!"
msg-to-message: "[§c私聊§r] §2你§r §7->§r {Server}{Group}{Prefix}{Player}{Suffix} §8:§r {Message}"
msg-receive-message: "[§c私聊§r] {Server}{Group}{Prefix}{Player}{Suffix} §7->§r §2你 §8:§r {Message}"
msg-reject-message: "§6你向§r {Group}{Prefix}{Player}{Suffix} §c发送的消息被他拒收了!§r"
has-ignore-message: "§6玩家§r {Group}{Prefix}{Player}{Suffix} §c的消息已经被忽视了!§r"
has-reject-message: "§6玩家§r {Group}{Prefix}{Player}{Suffix} §c的消息已经被拒收了!§r"
normal-chat-message: "§a您现在对玩家§r {Group}{Prefix}{Player}{Suffix} §a的聊天已经恢复正常。§r"
no-in-list-message: "§6玩家§r {Group}{Prefix}{Player}{Suffix} §c不在被拒收/忽视的列表当中!§r"
enable-vc-chat-message: "已连接至跨服聊天系统。"
disable-vc-chat-message: "已断开跨服聊天系统的连接。您接下来无法看到其他服务器的消息了。"
unknown-command-message: "未知的命令。"
only-in-game-message: "此命令只能在游戏中使用。"
only-in-console-message: "此命令只能在控制台使用。"
no-permission: "您无权使用该命令!"
ban-words-message: "您当前的发言存在违禁/敏感词汇,已屏蔽您对其他服的广播。"
reject-list-show-message: "来自以下玩家的消息被§6忽略§r并且被§6拒收§r"
ignore-list-show-message: "来自以下玩家的消息被§c忽略§r"
empty-list-show-message: "§6你的拒收和忽略列表不存在任何玩家。§r"
Broadcast.yml
YAML:
# 【自2.0.0更新启用】
# 是否启用全服广播功能
# 大部分的文本支持占位符
enable: true
# 此文件的版本,通常不需要改变,检测更新需要用到
config-version: 2.0.0
# 广播顺序是否打乱
random: true
# 每次广播的间隔(秒)
# 如果是大型服务器,请将此间隔适当延长,避免占用过多的服务器资源。
interval: 60
# 全局定时广播,对所有服务器都生效
# 【请注意】
# 1. 当全局广播被启用的时候 message-list 也就是 广播内容 会合并(全局广播的在最上面)
# 2. 区服广播的 广播前缀(prefix) 的优先级最高(覆盖掉全局广播)
global:
enable: true
# 显示广播的前缀
prefix: "§7[§b服务器娘§7]§r §8:§r"
# 广播欢迎消息(会覆盖区服广播的配置如果global被启用)
message-list:
- "欢迎进入§a{proxy}§r,快来和大家一起冒险吧!"
- "本服§r每日§a活跃§r玩家有机会获得丰厚奖励!"
- "§c注意:§r请遵守服务器规则,共同创建和谐的游戏环境。"
- "§f我们有专属的§9自定义插件§r,带来不一样的游戏体验!"
- "§d服务器§r内有丰富的§a游戏模式§r,快来体验吧!"
- "§7不要忘了加入我们的§bQQ群§r,获取最新动态和活动信息!"
- "§f欢迎所有新玩家加入§r,任何问题请向管理员求助!"
- "§e快邀请你的朋友们一起来§g玩耍§r吧,更多精彩等着你!"
- "§8服务器正在进行§c维护§r,感谢您的耐心等待!"
- "§a欢迎大家来到§7{server}§r,祝您游戏愉快!"
- "§5全服§r§c活动§r即将开始,记得准时参加哦!"
- "§d感谢您的支持与参与,我们会继续为大家提供更好的服务!"
# 区服局部定时广播
# 【请注意】
# 1. 若 global 全局广播 enable = false 则只会单独广播区服的
# 2. channel-list 以及 server-list 所包括的所有服务器和频道中的服务器均会广播
# 3. 若一个或多个channel或者server在多个 区服广播 当中
# i. prefix 仅会继承最后一个广播的 prefix
# ii. 不同区服广播中所含相同的消息会合并重复消息不会增加出现概率
# 4. 若出现相同的 区服广播 名称,则仅会读取首次读取的 区服广播
locale:
enable: true
broadcast-list:
# server-list 对应 (插件 config 以及velocity -> Velocity.toml server中对应的服务器id)
# channel-list 对应 config.yml 中的 channel-list
# 子服的广播会选择合并掉全局广播(全局广播必须被应用也就是 enable = true才会生效)
example:
enable: true
prefix: "[§a服务器娘§r] §8:§r"
message-list:
- "服务器正在§a搭建§r中,更多精彩内容即将呈现。"
- "§6欢迎§r加入服务器官方群"
- "欢迎加入服务器大家庭"
- "§d服务器§r内有丰富的§a游戏模式§r,快来体验吧!"
channel-list:
- lobby
server-list:
-
example2:
enable: false
prefix: "[§a服务器娘§r] §8:§r"
message-list:
- "服务器正在§a搭建§r中,更多精彩内容即将呈现。"
- "§6欢迎§r加入服务器官方群"
- "欢迎加入服务器大家庭"
- "§b新手村§r已开启,来吧!新玩家,开始您的冒险吧!"
channel-list:
- lobby
- games
- survive
server-list:
-
# 玩家加入代理服(群组服)的时候广播消息
welcome-broadcast:
enable: true
# 是否仅在首次加入代理服的时候进行广播
only-first-join: false
message: "欢迎加入§5群组§r!"
# Since v1.3.3 转移自 config.yml
# 是否需要在玩家离开/加入 子服务器的时候,在原服务器发送离开消息,在被加入的服务器发送加入消息
# log-to-console 是否在终端输出玩家的消息
# send-to-all-subServer 是否对所有子服进行广播消息(会覆盖下方的broadcast-in-channel)
# broadcast-in-channel 是否对服务器所属的频道进行广播
join-leave-broadcast:
enable: true
log-to-console: true
send-to-all-subServer: false
broadcast-in-channel: true
join-prefix: "§a(+)§r"
leave-prefix: "§c(-)§r"
player-join-message: "{Group}{Prefix}{Player}{Suffix} 加入了 {Server}"
player-leave-message: "{Group}{Prefix}{Player}{Suffix} 离开了 {Server}"
# 是否需要在玩家离开/加入 群组服务器的时候,在原服务器发送离开消息,在被加入的服务器发送加入消息
join-leave-proxy-broadcast:
enable: true
log-to-console: true
send-to-all-subServer: true
join-prefix: "§a[+]§r"
leave-prefix: "§c[-]§r"
player-join-message: "{Group}{Prefix}{Player}{Suffix} 现在加入了 {Proxy}"
player-leave-message: "{Group}{Prefix}{Player}{Suffix} 现在离开了 {Proxy}"


插件制作不易,Velocity给的API没有Bukkit给的全,基本上绝大部分全都是我自己完成的API。
如果需要请爱发电发电后获取,发电后可以获取插件持续更新,以及问题跟踪解答。
如有关MC服务器开服的插件或者开服有关的问题,欢迎到我的爱发电主页发电,可以定制插件/解答一些服务器的问题。

点击链接加入群聊【水木的插件叉烧交流】
若链接失效请搜索群号: 912110987
赞助链接: 爱发电