- 欢迎来到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%了