- 欢迎来到Minecraft插件百科!
- 对百科编辑一脸懵逼?帮助:快速入门带您快速熟悉百科编辑!
- 因近日遭受攻击,百科现已限制编辑,有意编辑请加入插件百科企鹅群:223812289
YinwuChat
| 外文名 | YinwuChat |
| 最新版本 | v2.0.0 |
| 源地址 | https://www.mcbbs.net/thread-836393-1-1.html |
综述
介绍
YinwuChat原是为YinwuRealm制作的插件,作为服务器管理员及插件开发者,后将它开源并发表于mcbbs。 YinwuChat同时是Bungeecord插件和Spigot插件,你需要在你的Bungee服务端和这个Bungee接入的所有的Spigot服务端都安装这个插件。 YinwuChat开发的初衷即是为了使玩家在网页中也能和服务器中的玩家聊天,一开始本来是想依赖bukkitAPI开发的,但是由于服务器是BungeeCord群组服,在bukkitAPI中获取其他服务器的聊天内容不便,发送聊天内容更不便,所以转为BungeeCord插件,最后又改为BungeeCord、bukkit合作插件。
插件功能
跨服聊天同步 跨服私聊(/msg <玩家名> 消息) 跨服@(聊天内容中输入想@的玩家的名字,或名字的前面一部分,不区分大小写) 跨服物品展示(聊天内容中输入[i]即可将手中的物品发送到聊天栏,输入[i:x]可以展示背包中x对应的物品栏的物品,物品栏为0-8,然后从背包左上角从左至右从上至下为9-35,装备栏为36-39,副手为40,一条消息中可以展示多个物品) WebSocket,开启WebSocket后配合YinwuChat-Web(Web客户端)可以实现web、游戏内聊天同步 关键词屏蔽 定时广播消息,支持悬浮提示、点击命令,支持分服务器发送。 使用酷Q和酷Q HTTP API来实现Q群聊天同步 聊天样式代码权限控制 自定义聊天指令:可以自定义设置将玩家发送的聊天内容中一些内容替换为其他内容
安装
1.前往https://github.com/lintx/Minecraft-Plugin-YinwuChat/releases下载最新版本的jar 2.将jar复制到各服的plugins文件夹内 3.重启各服务器 4.修改配置文件 5.执行yinwuchat reload命令重新加载配置 PS:web服务器相关问题或反向代理相关问题请自行查找解决方案
权限
Bungeecord端权限
yinwuchat.reload玩家可以在游戏中使用/yinwuchat reload命令重新加载插件配置 yinwuchat.cooldown.bypass@人没有冷却时间 yinwuchat.atall允许@所有人 yinwuchat.vanish允许进入聊天隐身模式 yinwuchat.badword允许编辑聊天系统关键词列表 yinwuchat.monitor允许玩家使用/yinwuchat monitor命令,并允许玩家监听其他玩家的私聊消息
Bukkit端权限
yinwuchat.reload玩家可以在游戏中使用/yinwuchat-bukkit reload命令重新加载bukkit端yinwuchat的配置,默认权限:仅OP可以使用 yinwuchat.style.x是否允许玩家使用对应的样式代码,x为具体样式代码,具体为0-9,a-f,klmnor共22个样式代码,默认设置时0-9,a-f,r为允许,其他为不允许
命令
Bungeecord端命令
控制台命令
yinwuchat reload [config|ws]:重新加载插件,或仅重新加载配置(在ws配置有变动时自动重启ws),或只重启ws
游戏内命令
/yinwuchat:插件帮助(其他未识别的命令也都将显示帮助) /yinwuchat reload [config|ws]:重新加载配置文件,执行这个命令需要你具有yinwuchat.reload权限 /yinwuchat bind <token>:绑定token,token是插件下发给web客户端的,玩家从web客户端获取token后到游戏内使用命令将玩家和token进行绑定 /yinwuchat list:列出玩家已绑定的token /yinwuchat unbind <token>:解绑token,当你需要解绑某个token时使用(如在公共场合绑定了token,或者不想用这个token了等),token为使用list命令时查询到的token,可以只输入前面部分文字 /msg <玩家名> <消息>:向玩家发送私聊消息 /yinwuchat vanish:切换聊天系统隐身模式(无法被@,无法被私聊,web端无法看见在线,需要有yinwuchat.vanish权限) /yinwuchat ignore <玩家名>:忽略/取消忽略玩家消息 /yinwuchat noat:禁止/允许自己被@(@全体除外) /yinwuchat muteat:切换自己被@时有没有声音 /yinwuchat monitor:切换是否监听其他玩家的私聊消息
Bukkit端命令
yinwuchat-bukkit reload: 重新加载配置,需要权限`yinwuchat.reload
配置
YinwuChat的配置文件主要分3块:Bungee端配置文件、Bungee端公告任务、Bukkit端配置文件。
Bungee端配置文件(config.yml):
openwsserver: false #是否开启WebSocket
wsport: 8888 #WebSocket监听端口
wsCooldown: 1000 #WebSocket发送消息时间间隔(毫秒)
webBATserver: lobby #安装了BungeeAdminTools插件时,在WebSocket发送消息,使用哪个服务器作为禁言/ban的服务器
format: #WebSocket发送过来的消息格式化内容,由list构成,每段内容都分message、hover、click 3项设置
- message: '&7[Web]' #直接显示在聊天栏的文字,{displayName}将被替换为玩家名(包括hover和click字段)
hover: 点击打开YinwuChat网页版 #鼠标移动到这段消息上时显示的悬浮内容
#点击这段消息时的动作,自动识别是否链接,如果是链接则打开链接
#否则如果是以!开头就执行命令,否则就将内容填充到聊天框
#比如让看到消息的人点击就直接给发消息的人发送tpa请求,就可以写成!/tpa {displayName}(不写斜杠会按发送消息处理)
click: https://xxxxxx.xxxx.xxx
- message: '&e{displayName}'
hover: 点击私聊
click: /msg {displayName}
- message: ' &6>>> '
- message: '&r{message}'
qqFormat: #QQ群群员发送的消息,游戏内展示的样式
- message: '&b[QQ群]'
hover: 点击加入QQ群xxxxx
click: https://xxxxxx.xxxx.xxx #这里可以替换为你QQ群的申请链接
- message: '&e{displayName}'
hover: 点击私聊
click: /msg {displayName}
- message: ' &6>>> '
- message: '&r{message}'
toFormat: #私聊时,对方收到的消息的格式
- message: '&7[Web]'
hover: 点击打开YinwuChat网页
click: https://chat.yinwurealm.org
- message: '&e{displayName}'
hover: 点击私聊
click: /msg {displayName}
- message: ' &6-> &7我'
- message: ' &6>>> '
- message: '&r{message}'
fromFormat: #私聊时,自己收到的消息的格式
- message: '&7我 &6-> '
- message: '&e{displayName}'
hover: 点击私聊
click: /msg {displayName}
- message: ' &6>>> '
- message: '&r{message}'
monitorFormat: #其他玩家私聊时,有权限的玩家看到的监听消息的样式
- message: '&7{formPlayer} &6-> '
- message: '&e{toPlayer}'
- message: ' &6>>> '
- message: '&r{message}'
atcooldown: 10 #@玩家时的冷却时间(秒)
atAllKey: all #@全体玩家的关键词
linkRegex: ((https?|ftp|file)://[-A-Za-z0-9+&@#/%?=~_|!:,.;]+[-A-Za-z0-9+&@#/%=~_|]) #链接识别正则表达式
linkText: '&7[&f&l链接&r&7]&r' #聊天内容中的链接将被替换为这个文本 #链接识别正则表达式
qqImageText: '&7[图片]&r' #QQ群中群员发送的图片将被替换为这个文本
qqRecordText: '&7[语音]&r' #QQ群中群员发送的语音将被替换为这个文本
qqAtText: '&7[@{qq}]&r' #QQ群中群员发送的@信息将被替换为这个文本,{qq}将被替换为被@的人的QQ号
atyouselfTip: '&c你不能@你自己'
atyouTip: '&e{player}&b@了你'
cooldownTip: '&c每次使用@功能之间需要等待10秒'
ignoreTip: '&c对方忽略了你,并向你仍了一个烤土豆'
banatTip: '&c对方不想被@,只想安安静静的做一个美男子'
toPlayerNoOnlineTip: '&c对方不在线,无法发送私聊'
msgyouselfTip: '&c你不能私聊你自己'
youismuteTip: '&c你正在禁言中,不能说话'
youisbanTip: '&c你被ban了,不能说话'
shieldedTip: '&c发送的信息中有被屏蔽的词语,无法发送,继续发送将被踢出服务器' #发送的聊天消息中含有屏蔽的关键词时会收到的提醒
shieldeds: #聊天内容屏蔽关键词,list格式
- keyword
shieldedMode: 1 #聊天屏蔽模式,目前1为将聊天内容替换为shieldedReplace的内容,其他为直接拦截
shieldedReplace: 富强、民主、文明、和谐、自由、平等、公正、法治、爱国、敬业、诚信、友善
shieldedKickTime: 60 #多少秒内总共发送屏蔽关键词`shieldedKickCount`次就会被踢出服务器(包括web端)
shieldedKickCount: 3 #`shieldedKickTime`秒内发送屏蔽关键词多少次会被踢出服务器
shieldedKickTip: 你因为发送屏蔽词语,被踢出服务器 #发送屏蔽次达到次数后被踢出服务器时的提示语
coolQGroup: 0 #监听的QQ群的群号,酷Q接收到消息时,如果是QQ群,且群号和这里一致,就会转发到游戏中
coolQAccessToken: #和酷Q HTTP API插件通信时使用的accesstoken,为空时不验证,强烈建议设置为一个复杂的字符串
configVersion: 1 #配置文件的版本,请勿修改
coolQQQToGame: true #qq群有新消息时是否发送到游戏中
coolQGameToQQ: true #游戏中有新消息时是否发送到QQ群中
qqDenyStyle: 0-9a-fklmnor #转发QQ群消息时禁用的样式代码
webDenyStyle: klmno #从web页面发送消息时禁用的样式代码
Bungee端公告任务(tasks.yml):
tasks:
- enable: true #是否开启这个任务
interval: 30 #任务间隔时间
list: #格式和Bungee的配置文件中的消息格式一致
- message: '&e[帮助]'
hover: 服务器帮助文档
click:
- message: '&r 在聊天中输入'
- message: '&b[i]'
hover: 在聊天文本中包含这三个字符即可
click:
- message: '&r可以展示你手中的物品,输入'
- message: '&b[i:x]'
hover: |-
&b:&r冒号不区分中英文
&bx&r为背包格子编号
物品栏为0-8,然后从背包左上角
从左至右从上至下为9-35
装备栏为36-39,副手为40
click:
- message: '&r可以展示背包中x位置对应的物品,一条消息中可以展示多个物品'
server: all #任务对应的服务器,不区分大小写,只有对应的服务器的玩家才会收到消息,为"all"时所有服务器都会广播,为"web"时只有web端才会收到通知
Bukkit端配置文件(config.yml):
format: #格式和Bungee的配置文件中的消息格式一致,但是这里的内容支持PlaceholderAPI变量
- message: '&b[%player_server%]'
hover: 所在服务器:%player_server%
click: /server %player_server%
- message: '&e{displayName}'
hover: 点击私聊
click: /msg {displayName}
- message: ' &6>>> '
- message: '&r{message}'
toFormat:
- message: '&b[%player_server%]'
hover: 所在服务器:%player_server%
click: /server %player_server%
- message: '&e{displayName}'
hover: 点击私聊
click: /msg {displayName}
- message: ' &6-> &7我'
- message: '&r{message}'
fromFormat:
- message: '&7我 &6-> '
- message: '&e{displayName}'
hover: 点击私聊
click: /msg {displayName}
- message: '&r{message}'
eventDelayTime: 50 #接收消息处理延时,单位为毫秒,用于处理部分需要使用聊天栏信息来交互的插件的运行(比如箱子商店等),延时时间就是等待其他插件处理的时间
messageHandles: #自定义消息内容替换,比如下面默认的设置,发送消息时,消息中含有[p]的,[p]会被替换为位置
- placeholder: \[p\] #消息中的哪些内容会被替换,写法是正则表达式,所以本来是替换[p]的,由于是正则表达式,两个方括号都需要加反斜杠转义
format: #替换成的消息样式,格式和前面的format格式一致,支持papi变量
- message: '&7[位置]'
hover: |-
所在服务器:ServerName
所在世界:%player_world%
坐标:X:%player_x% Y:%player_y% Z:%player_z%
click:
configVersion: 1 #配置文件的版本,请勿修改
- 注意:1.14版本的papi不支持%player_server%了