Wiki赞助.jpg
  • 欢迎来到Minecraft插件百科!请在注册后加入百科编辑
  • 对百科编辑一脸懵逼?帮助:快速入门带您快速熟悉百科编辑!
  • 插件百科企鹅群:223812289

YinwuChat

From Minecraft插件百科
Jump to: navigation, search
插件资料
Icon-info.png
插件名称 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命令重新加载插件配置 [email protected]人没有冷却时间 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}&[email protected]了你'
   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%了