TRCStudioDean
本帖最后由 TRCStudioDean 于 2023-2-13 23:05 编辑
前言

本插件已从2019/12/14开始停止更新,今后仅会更新新版本服务端支持,不会再更新新功能了。
感谢各位从2018/9/17起对TRCStudioChatSystem的支持,这个插件准备更换名字并进行一次大更新
这款插件刚发布的时候,我还是一个接触Java不到一个月的新人,是个跳过了Java基础的Bukkit玩家
源代码没有公布,但也处处散发着杂乱无章、不成熟的味道,因此我觉得是时候来一次大清洗了
未来新的“聊天系统”将会保留大部分目前的功能,并增加更多的功能
源代码的优化、瘦身、修复Bug、性能优化等
各位敬请期待吧!


这个插件有什么功能?


游戏内截图


插件命令
按TAB键可自动补全命令

命令 功能
/chat help 查看插件帮助
/chat reload 重载配置文件
/chat list 列出所有聊天组
/chat info [玩家] 查看自己或其他玩家的信息
/chat groupinfo [聊天组] 查看一个聊天组的信息
/chat mute [玩家] [s/m/h/d/y] [理由] 禁言某玩家,如果不输入时间,将永久禁言。[s是秒,m是分钟,h是小时,d是天,y是年]
/chat mutegroup [聊天组] [s/m/h/d/y] [理由] 禁言某个聊天组, 如果不输入时间,将永久禁言(同上)
/chat muteall [s/m/h/d/y] [理由] 开关全体禁言(用法同上)
/chat set [玩家] [聊天组] 将某个玩家拉到某个聊天组(必须关闭Config.yml文件内的Use-Permission-Group选项)
/chat title [信息] 以标题方式聊天(必须所在组支持)
/chat actionbar [信息] 以动作栏方式聊天(必须所在组支持)
/chat nametag [玩家] 开关自己或其他玩家的名字标签
/chat joinmessage [玩家] 开关自己或其他玩家的登入消息
/chat quitmessage [玩家] 开关自己或其他玩家的退出消息
/mute、/mutegroup、/muteall 上方三种禁言的简易使用方式
/tell、/msg、/m [玩家] [信息] 私聊某个玩家(必须所在组支持)


前缀功能
/prefix help查看帮助
/prefix set [前缀/序号] [玩家]设置自己或其他玩家的前缀
/prefix add [前缀] [玩家] 赋予自己或其他玩家新的前缀
/prefix delete [前缀/序号] [玩家] 删除自己或其他玩家的前缀
/prefix reset [玩家]重置自己或其他玩家到默认前缀
/prefix info [玩家]查看自己或其他玩家的前缀信息

后缀功能
/suffix help查看帮助
/suffix set [前缀/序号] [玩家]设置自己或其他玩家的后缀
/suffix add [前缀] [玩家]赋予自己或其他玩家新的后缀
/suffix delete [前缀/序号] [玩家] 删除自己或其他玩家的后缀
/suffix reset [玩家]重置自己或其他玩家到默认后缀
/suffix info [玩家]查看自己或其他玩家的后缀信息


PS: 如果你在使用/prefix set、add、delete的目标前缀包含空格或分段,可以使用“ ' ” (英文引号)来将整个前缀圈起来
例如: /prefix set '&a[VIP] &c[OP]' [玩家],将这个玩家的前缀设置成“&a[VIP] &c[OP]”若没有使用引号,系统仅能识别“'&a[VIP]”

匿名 功能
/nick help 查看帮助
/nick set [名称] [玩家] 为自己或其他玩家设置匿名名称
/nick reset [玩家] 重置自己或其他玩家的匿名
/nick info [玩家] 查看自己或其他玩家的匿名信息

其他命令
命令功能
/report [玩家] [理由]向管理员举报某位玩家
/list列出所有在线玩家

PlaceholderAPI 变量提供

更新日志

如何使用?
  • 下载插件
  • 丢进plugin文件夹
  • 启动服务器,最好有PlaceholderAPI插件
  • 打开配置文件
  • 创建一个新的组,和默认配置的组的格式一样,并且将组名添加进Group-List列表内
  • /chat reload重载配置
  • 如果你没有开启Config.yml的Use-Permission-Group,使用/chat set 玩家名 聊天组 来将玩家移动到某个聊天组
  • 但是如果有,请赋予玩家对应权限(OP玩家需要注意,Permission的Enable为true的同时,需要把Need-OP也设置为true,否则就算你有权限你也无法使用这个组)


下载地址


本插件所用所有代码均为原创,不存在借用/抄袭等行为



2021.12 数据,可能有更多内容前言
本插件已从2019/12/14开始停止更新,今后仅会更新新版本服务端支持,不会再更新新功能了。感谢各位从2018/9/17起对TRCStudioChatSystem的支持,这个插件准备更换名字并进行一次大更新这款插件刚发布的时候,我还是一个接触Java不到一个月的新人,是个跳过了Java基础的Bukkit玩家源代码没有公布,但也处处散发着杂乱无章、不成熟的味道,因此我觉得是时候来一次大清洗了未来新的“聊天系统”将会保留大部分目前的功能,并增加更多的功能源代码的优化、瘦身、修复Bug、性能优化等各位敬请期待吧!


这个插件有什么功能?
  • 修改聊天格式
  • 支持自定义聊天组
  • 优先级列表
  • 全员禁言
  • 聊天组禁言
  • 脏话屏蔽
  • 关键词替换
  • 支持并提供PlaceholderAPI变量
  • 操控聊天事件优先级(屏蔽其他插件的聊天格式修改)
  • 标题发言(Title)
  • 动作栏发言(ActionBar)
  • 允许/禁止某聊天组使用彩字聊天
  • 禁言某玩家
  • 玩家私聊玩家
  • 聊天前缀(Prefix)
  • 聊天后缀(Suffix)
  • 匿名(Nick)
  • 聊天冷却
  • 命令冷却
  • 头顶标签
  • MySQL储存
  • TAB格式修改(仅1.8+)
  • 登入信息修改(禁用、文字信息、标题信息、动作栏信息)
  • 退出信息修改(同上)
  • 提供API接口
  • 自动回复
  • 自动公告(未完成)
  • 支持BungeeCord(未完成)
  • 跨服聊天(未完成)
  • 屏蔽玩家的聊天(未完成)
  • 队伍系统(语音室之类的效果,未完成)


游戏内截图
命令使用



临时禁言玩家



标题聊天
动作栏聊天

聊天冷却



私聊
自动回复
前缀 & 后缀 与头顶标签功能
匿名功能

更多的请查看下面的介绍


插件命令按TAB键可自动补全命令
命令
功能
/chat help
查看插件帮助
/chat reload
重载配置文件
/chat list
列出所有聊天组
/chat info [玩家]
查看自己或其他玩家的信息
/chat groupinfo [聊天组]
查看一个聊天组的信息
/chat mute [玩家] [s/m/h/d/y] [理由]
禁言某玩家,如果不输入时间,将永久禁言。[s是秒,m是分钟,h是小时,d是天,y是年]
/chat mutegroup [聊天组] [s/m/h/d/y] [理由]
禁言某个聊天组, 如果不输入时间,将永久禁言(同上)
/chat muteall [s/m/h/d/y] [理由]
开关全体禁言(用法同上)
/chat set [玩家] [聊天组]
将某个玩家拉到某个聊天组(必须关闭Config.yml文件内的Use-Permission-Group选项)
/chat title [信息]
以标题方式聊天(必须所在组支持)
/chat actionbar [信息]
以动作栏方式聊天(必须所在组支持)
/chat nametag [玩家]
开关自己或其他玩家的名字标签
/chat joinmessage [玩家]
开关自己或其他玩家的登入消息
/chat quitmessage [玩家]
开关自己或其他玩家的退出消息
/mute、/mutegroup、/muteall
上方三种禁言的简易使用方式
/tell、/msg、/m [玩家] [信息]
私聊某个玩家(必须所在组支持)



前缀
功能
/prefix help
查看帮助
/prefix set [前缀/序号] [玩家]
设置自己或其他玩家的前缀
/prefix add [前缀] [玩家]
赋予自己或其他玩家新的前缀
/prefix delete [前缀/序号] [玩家]
删除自己或其他玩家的前缀
/prefix reset [玩家]
重置自己或其他玩家到默认前缀
/prefix info [玩家]
查看自己或其他玩家的前缀信息

后缀
功能
/suffix help
查看帮助
/suffix set [前缀/序号] [玩家]
设置自己或其他玩家的后缀
/suffix add [前缀] [玩家]
赋予自己或其他玩家新的后缀
/suffix delete [前缀/序号] [玩家]
删除自己或其他玩家的后缀
/suffix reset [玩家]
重置自己或其他玩家到默认后缀
/suffix info [玩家]
查看自己或其他玩家的后缀信息



PS: 如果你在使用/prefix set、add、delete的目标前缀包含空格或分段,可以使用“ ' ” (英文引号)来将整个前缀圈起来例如: /prefix set '&a[VIP] &c[OP]' [玩家],将这个玩家的前缀设置成“&a[VIP] &c[OP]”,若没有使用引号,系统仅能识别“'&a[VIP]”
匿名
功能
/nick help
查看帮助
/nick set [名称] [玩家]
为自己或其他玩家设置匿名名称
/nick reset [玩家]
重置自己或其他玩家的匿名
/nick info [玩家]
查看自己或其他玩家的匿名信息

其他命令
命令
功能
/report [玩家] [理由]
向管理员举报某位玩家
/list
列出所有在线玩家
默认配置文件Config.yml:#插件命令、提示前缀Prefix: '&8[&bTRCStudioChatSystem&8] '
#启用本插件的聊天功能Enabled-ChatFormat: true
#是否使聊天功能的优先级达到最高#如果启用, 其他插件的聊天格式修改将不起作用Highest-Priority: true
#强制使用,完全屏蔽其他插件对聊天功能的干涉#例如Essentials的禁言功能,启用后将使其失效#正常情况下不需要启用这个功能Mandatory-use: false
#插件语言Language: Chinese
#标题信息是否和聊天信息一起发送Send-the-title-with-the-message: true
#动作栏信息是否和聊天信息一起发送Send-the-actionbar-with-the-message: true
#启用PlaceholderAPI#你必须有装载此插件才能开启#开启后本插件的一部分变量将会注册到这个插件上, 供其他插件使用Use-PlaceholderAPI: true
#默认的Title发言信息#如果一个玩家不属于任意聊天组,以及拥有chat.title的权限#又或者是控制台#这里是编辑这类玩家的Title发言格式Default-Chat-Title:    Title: '{player_name}:'    SubTitle: '{message}'    FadeIn: 0    Stay: 5    FadeOut: 0
#默认私聊格式Default-Private-Chat:    Sender-Message: '&6To {target_name}&f: {message}'    Target-Message: '&6From {sender_name}&f: {message}'
#默认动作栏聊天格式Default-ActionBar-Format: '{player_name}: {message}'
#如果有人说脏话,是否在聊天框处说“xxx试图说脏话”Anti-Key-Words-Message: true
#全体禁言,可以使用/chats muteall来开关这个功能Mute-All: false
#默认组#玩家第一次进入服务器所在的聊天组Default-Group: default
#是否使用权限分组#开启后,玩家需要拥有权限组的所需权限才能使用那个组,而不是由Players.yml内的玩家个人Group决定Use-Permission-Group: false
#缓存数据更新速度(秒)#异步线程能降低系统负担Cached-Data-Update-Time: 5
#优先级与列表(Use-Permission-Group 为 false 时无效)#放在越上面的越优先采用#如果检测到一个组符合当前玩家条件,会直接采用这个组的聊天系统Group-List:- op- vip- default
#彩色字符Color-Character: '&'
#是否启用由本插件自带的/list命令Enable-List-Command: true
#是否在系统对配置文件进行自动修复的时候提示修复信息Configuration-File-Repair-Message: true
#TAB列表自动更新(仅1.8+服务端可用)Tab-Auto-Update:    #是否启用    Enabled: false    #更新的延迟(秒)    Delay: 2
#MySQL储存设置MySQL-Storage:    #是否启用    Enabled: false    #主机名    Hostname: localhost    #端口    Port: 3306    #用户名    Username: 'root'    #密码    Password: 'password'    #数据库名称    Database: 'chatsystem'    #附属连接信息, 正常情况下不要动这个选项, 保持留空    Additional-Information: ''    #当数据库连接丢失时,自动修复的次数, 填-1即为无数次    Automatic-Repair: -1    #每隔多长时间重新从数据库获取数据    Overload-Cache: 5    #储存模式设置    Storage-Mode-Settings:  #玩家数据  Player-Data:   #使用MySQL储存玩家数据   Database: true   #数据表名字   Table-Name: 'chatsystem_playerdata'  #禁言数据  Mute-Data:   Mute-All:    #使用MySQL储存全体禁言的数据    Database: false    Table-Name: 'chatsystem_mutealldata'   Mute-Group:    #使用MySQL储存聊天组禁言的数据    Database: false    Table-Name: 'chatsystem_mutegroupdata'   Mute-Player:    #使用MySQL储存玩家禁言的数据    Database: false    Table-Name: 'chatsystem_muteplayerdata'    #为何我不制作聊天组数据的储存功能?    #因为我懒(划掉)我觉得没有必要制作这个功能    #聊天组本身可编辑的功能就多,制作起来非常麻烦    #能够通过命令操控的有关聊天组的功能仅只有禁言功能    #因此,我觉得目前没有必要制作聊天组数据的储存功能    #上边的Mute-Data功能就足以储存唯一可以用命令编辑的聊天组配置 [聊天组禁言]    #所以不要再问我为什么不制作聊天组数据的MySQL储存功能了
#名字标签修改功能NameTag-Modify:    #启用    Enabled: true    #禁用的世界    Disabled-Worlds:    - worldname    #默认启用私人名字标签修改(第一次进入服务器)    #这将会导致所有玩家都拥有私人的名字标签组    Default-Enabled: false    #当玩家佩戴私人前缀后,启用名字标签修改功能    Enable-with-Prefix: true    #同上,当玩家佩戴私人后缀后。    Enable-with-Suffix: true    #优先加载玩家名字标签数据    Preferred-Loading-Players: true    #优先级    Priority:    - default    - vip    - op
#举报命令Report-Command:    #是否启用这个功能    Enabled: true    #接收玩家举报信息的聊天组    Administrator-Group:    - op    #接收玩家举报信息的管理员(可以是玩家的UUID)    Administrator-Player:    - 'TRCRedstoner'
#权限设置Permissions:    #允许佩戴在自己前缀列表以外的前缀    Free-Wear-Prefix: chat.prefix.freewear    #允许佩戴在自己后缀列表以外的后缀    Free-Wear-Suffix: chat.suffix.freewear    #绕过所有的脏话屏蔽    Anti-Key-Words-Bypass: chat.antikeywords.bypass    #绕过命令冷却    Commands-Delay-Bypass: chat.commands.delay.bypass    #绕过自动回复冷却    AutoReply-Delay-Bypass: chat.autoreply.delay.bypass    Chat:  #聊天无冷却  Delay-Bypass: chat.delay.bypass  #绕过禁言  Mute-Bypass: chat.mute.bypass  GroupMute-Bypass: chat.mutegroup.bypass  MuteAll-Bypass: chat.muteall.bypass    ActionBar:  #动作栏发言无冷却  Delay-Bypass: chat.actionbar.delay.bypass  #绕过禁言  Mute-Bypass: chat.actionbar.mute.bypass  GroupMute-Bypass: chat.actionbar.mutegroup.bypass  MuteAll-Bypass: chat.actionbar.muteall.bypass    Title:  #标题发言无冷却  Delay-Bypass: chat.title.delay.bypass  #绕过禁言  Mute-Bypass: chat.title.mute.bypass  GroupMute-Bypass: chat.title.mutegroup.bypass  MuteAll-Bypass: chat.title.muteall.bypass    PrivateChat:  #私聊无冷却  Delay-Bypass: chat.privatechat.delay.bypass  #绕过禁言  Mute-Bypass: chat.privatechat.mute.bypass  GroupMute-Bypass: chat.privatechat.mutegroup.bypass  MuteAll-Bypass: chat.privatechat.muteall.bypass    Commands:  #使用权限  Use: chat.use  #帮助  Help: chat.help  #私聊(如果有这个权限将无视聊天组限制)  Tell: chat.tell  #设置玩家聊天组  Set: chat.set  #禁言  Mute: chat.mute  #禁言聊天组  MuteGroup: chat.mutegroup  #全体禁言  MuteAll: chat.muteall  #重载  Reload: chat.reload  #列出聊天组  List-Group: chat.listgroup  #聊天组信息  GroupInfo: chat.groupinfo  #玩家信息  Info: chat.info  #查看其他玩家信息  Info-Other-Player: chat.info.otherplayer  #标题发言(如果有这个权限将无视聊天组限制)  Title: chat.title  #动作栏发言(如果有这个权限将无视聊天组限制)  ActionBar: chat.actionbar  #使用/report命令的权限  Report: chat.report  #使用/list命令的权限  List: chat.list  #使用/chat nametag命令的权限  NameTag:   #开关自己的名字标签   Self: chat.nametag.self   #开关他人的名字标签   Other-Player: chat.nametag.otherplayer  #使用/chat joinmessage命令的权限  JoinMessage:   #开关自己的名字标签   Self: chat.joinmessage.self   #开关他人的名字标签   Other-Player: chat.joinmessage.otherplayer  #使用/chat nametag命令的权限  QuitMessage:   #开关自己的名字标签   Self: chat.quitmessage.self   #开关他人的名字标签   Other-Player: chat.quitmessage.otherplayer  #前缀设置  Prefix:    #赋予他人前缀   Add: chat.prefix.add   #设置自己的前缀   Set: chat.prefix.set   #设置别人的前缀   Set-Other-Player: chat.prefix.set.otherplayer   #允许设置任何前缀(指的是不在列表内的前缀也可以佩戴)   Free-Setting-Prefix: chat.prefix.set.free   #删除他人前缀   Delete: chat.prefix.delete   #列出前缀列表   Info: chat.prefix.info   #列出他人的前缀列表   Info-Other-Player: chat.prefix.info.otherplayer   #重置到默认前缀   Reset: chat.prefix.reset   #重置别人到默认前缀   Reset-Other-Player: chat.prefix.reset.otherplayer  Suffix:    #赋予他人后缀   Add: chat.suffix.add   #设置自己的后缀   Set: chat.suffix.set   #设置别人的后缀   Set-Other-Player: chat.suffix.set.otherplayer   #允许设置任何后缀(指的是不在列表内的后缀也可以佩戴)   Free-Setting-Suffix: chat.suffix.set.free   #删除他人后缀   Delete: chat.suffix.delete   #列出后缀列表   Info: chat.suffix.info   #列出他人的后缀列表   Info-Other-Player: chat.suffix.info.otherplayer   #重置到默认后缀   Reset: chat.suffix.reset   #重置别人到默认后缀   Reset-Other-Player: chat.suffix.reset.otherplayer  Nick:   #查看自己的匿名数据   Info: chat.nick.info   #查看其他玩家的匿名数据   Info-Other-Player: chat.nick.info.otherplayer   #为自己设置匿名名称   Set: chat.nick.set   #为其他玩家设置匿名名称   Set-Other-Player: chat.nick.set.otherplayer   #重置自己的匿名   Reset: chat.nick.reset   #重置其他玩家的匿名   Reset-Other-Player: chat.nick.reset.otherplayer
#关于/nick的设置Nick-Settings:    #必须是Minecraft ID的格式    #如果设置成true,那么玩家将无法使用Minecraft默认的非法字符(例如加减乘除符号、空格、斜杠什么的)    Must-be-Minecraft-ID-format: true    #是否修改玩家的实体名字    #这么做有好处也有坏处    #好处在于Nick的同时会真正改变玩家的ID(效果差不多和你在启动器上修改你的ID一样)    #坏处是必须遵守Minecraft的ID格式,否则会使玩家无法进入服务器、客户端崩溃等    #例如你使用了超过16个字符的ID,这会导致你直接被踢出服务器或者客户端崩溃    Nick-Entity-Name: true    #最长长度    Maximum-Length: 16    #最短长度    Minimum-Length: 3    #默认允许使用的组,仅能给自己匿名    #不在这个组,但是有命令权限,也可以使用    Default-Available-Groups:    - vip    #禁止使用的关键词列表    Anti-Key-Words:  Enabled: true  #无视空格  Ignore-Blanks: true  #列表  List: [] #列出来的话帖子发不出去Groups.yml:#聊天组编辑Groups:    default:  #是否处于禁言状态  Mute: false  #前缀  Default-Prefix: '&7'  #后缀  Default-Suffix: ''  #聊天格式  ChatFormat: '{player_prefix}{player_displayname}{player_suffix}: {message}'  #是否允许彩字聊天  Allow-ChatColor: true  #聊天冷却  Chat-Delay: 2  #命令冷却  Commands-Delay: 2  #私聊设置  Private-Chat:   #是否允许私聊   Enabled: true   #发送对象信息   Target-Message: '&dFrom {sender_prefix}{sender_displayname}{sender_suffix}: &f{message}'   #发送者信息   Sender-Message: '&dTo {target_prefix}{target_displayname}{target_suffix}: &f{message}'   #冷却时间   PrivateChat-Delay: 1  #标题聊天  Title-Chat:    #是否允许使用/chat title 和/title 发送全部玩家都能看见的标题发言   Enabled: false   #上行   Title: '{player_prefix}{player_displayname}{player_suffix}:'   #下行   SubTitle: '&7{message}'   #淡入时间(秒)   FadeIn: 0   #停留时间   Stay: 5   #淡出时间   FadeOut: 0   #冷却时间   Title-Delay: 20  #动作栏信息聊天  ActionBar-Chat:   #是否允许使用/chat actionbar 和/actionbar 发送全部玩家都能看见的动作栏信息发言   Enabled: false   #发送内容设置   #支持多行信息   Messages:   - '{player_prefix}{player_displayname}{player_suffix}&7: {message}'   #发送速度   Sending-speed: 0.4   #冷却时间   ActionBar-Delay: 20  #加入游戏时的信息设置  Join-Settings:   #开启后,默认的登录信息将会被删除   Enabled: true   #登录时的聊天信息设置   #如果你不想要有登录信息, 可以删除掉它   Messages:    - '&6玩家 &f{player_prefix}{player_displayname}{player_suffix} &6加入了服务器。'   #标题信息   Title:    #是否开启    Enabled: false    #上行    Title: '{player_prefix}{player_displayname}{player_suffix}'    #下行    SubTitle: '&6加入了服务器。'    #淡入、停留、淡出    FadeIn: 0.4    Stay: 3    FadeOut: 0   #动作栏信息   ActionBar:    #是否开启    Enabled: false    #信息    Messages:    - '&6玩家 &f{player_prefix}{player_displayname}{player_suffix} &6加入了服务器。'    #发送速度    Sending-speed: 0.4  #加入游戏时的信息设置  Quit-Settings:   #同上设置   Enabled: true   Messages:    - '&6玩家 &f{player_prefix}{player_displayname}{player_suffix} &6退出了服务器。'  #名字标签(仅1.8+版本的服务端可用)  #用于设置玩家头顶标签、TAB列表的前后缀  NameTag-Modify:   #是否启用   Enabled: true   #是否为私人队伍   #如果为false,会创建聊天组同名队伍,表现为在相同聊天组的玩家,Tab中的名字会聚集在一块   #反之,会创建玩家的私人队伍,在相同聊天组的玩家Tab中玩家的名字不会聚集在一块,或是随机排列。   Private-Team: false   #前缀(可使用PlaceholderAPI变量)   Prefix: '{player_prefix}'   #后缀   Suffix: '{player_suffix}'  #自定义TAB显示内容(不推荐用在1.7服务器上)  #和Prefix-Tag选项不同的地方在于 Prefix-Tag不能自定义TAB显示的格式  Show-to-TAB:   #是否启用   Enabled: false   #格式   Format: '{player_prefix}{player_displayname}{player_suffix}'  #前缀列表,玩家若拥有/chat prefix的权限将可以自由切换以下前缀,包括他个人拥有的前缀  Prefix-List:  - '&7'  #后缀列表,同上  Suffix-List: []  #脏话关键词屏蔽  Anti-Key-Words:   Enabled: true   #是否无视空格   Ignore-Blanks: true   #执行命令   Run-commands:    Enabled: true    #触发计数器    Trigger-Counter:  #一次  1:  - 'mute {player} 3m &c言语不雅'  #二次  2:  - 'mute {player} 10m &c频繁骂人'  #三次  3:  - 'mute {player} 1d &c口出狂言'  - 'kick {player} &c请不要骂人。'  #四次  4:  - 'tempban {player} 10m 嘴巴太臭了'  #清除次数,重新计数  - '<clear>'   #可以自由编辑次数,例如:  #100:  #- 'mute {player} 100y &e&l小嘴抹了蜜,口吐芬芳'  #- 'ban {player} 1d &e&l你他娘的嘴真jb臭。'   #关键词列表   List: []  #关键词替换  Key-Words-Replace:   Enabled: false   #列表,直接在这里写上关键词   #用处有很多,比如你不希望脏话直接屏蔽整句话,可以在这里设置将脏话替换为其他内容   List:    nmsl: 'im sb'    cnm: 'i love you'  #所需权限  #如果没有启用权限分组Use-Permission-Group: true,那么这个选项将无效  Permission:   Enabled: false   #是否必须是OP才能用   #OP组将会默认允许命令title发言、聊天彩字以及绕过脏话屏蔽   Need-OP: false   Permission: chat.default    vip:  Mute: false  Default-Prefix: '&a[VIP] '  Default-Suffix: ''  ChatFormat: '{player_prefix}{player_displayname}{player_suffix}: &f{message}'  Allow-ChatColor: true  Chat-Delay: 0  Private-Chat:   Enabled: true   Target-Message: '&dFrom {sender_prefix}{sender_displayname}{sender_suffix}: &f{message}'   Sender-Message: '&dTo {target_prefix}{target_displayname}{target_suffix}: &f{message}'   PrivateChat-Delay: 0  Title-Chat:    Enabled: false   Title: '{player_prefix}{player_displayname}{player_suffix}:'   SubTitle: '&7{message}'   Title-Delay: 20  Anti-Key-Words:   Enabled: true   Ignore-Blanks: true   List: []  NameTag-Modify:   Enabled: true   Prefix: '{player_prefix}'   Suffix: '{player_suffix}'  Permission:   Enabled: true   Need-OP: false   Permission: chat.vip    op:  Mute: false  Default-Prefix: '&c[OP] '  Default-Suffix: ''  ChatFormat: '{player_prefix}{player_displayname}{player_suffix}: &f{message}'  Allow-ChatColor: true  Private-Chat:   Enabled: true   Target-Message: '&dFrom {sender_prefix}{sender_displayname}{sender_suffix}: &f{message}'   Sender-Message: '&dTo {target_prefix}{target_displayname}{target_suffix}: &f{message}'  Title-Chat:    Enabled: false   Title: '{player_prefix}{player_displayname}{player_suffix}:'   SubTitle: '&7{message}'  ActionBar-Chat:   Enabled: true   Messages:   - '&e&l| {player_prefix}{player_displayname}&f: &f&l{message} &e&l|'   - '&e&l\ {player_prefix}{player_displayname}&f: &f&l{message} &e&l/'   - '&e&l- {player_prefix}{player_displayname}&f: &f&l{message} &e&l-'   - '&e&l/ {player_prefix}{player_displayname}&f: &f&l{message} &e&l\'   - '&e&l| {player_prefix}{player_displayname}&f: &f&l{message} &e&l|'   - '&e&l\ {player_prefix}{player_displayname}&f: &f&l{message} &e&l/'   - '&e&l- {player_prefix}{player_displayname}&f: &f&l{message} &e&l-'   - '&e&l/ {player_prefix}{player_displayname}&f: &f&l{message} &e&l\'   - '&e&l| {player_prefix}{player_displayname}&f: &f&l{message} &e&l|'   - '&e&l\ {player_prefix}{player_displayname}&f: &f&l{message} &e&l/'   - '&e&l- {player_prefix}{player_displayname}&f: &f&l{message} &e&l-'   - '&e&l/ {player_prefix}{player_displayname}&f: &f&l{message} &e&l\'   - '&e&l| {player_prefix}{player_displayname}&f: &f&l{message} &e&l|'   - '&e&l\ {player_prefix}{player_displayname}&f: &f&l{message} &e&l/'   - '&e&l- {player_prefix}{player_displayname}&f: &f&l{message} &e&l-'   - '&e&l/ {player_prefix}{player_displayname}&f: &f&l{message} &e&l\'   - '&e&l| {player_prefix}{player_displayname}&f: &f&l{message} &e&l|'   - ''   Sending-speed: 0.4  NameTag-Modify:   Enabled: true   Prefix: '{player_prefix}'   Suffix: '{player_suffix}'  Permission:   Enabled: true   Need-OP: truePlayers.yml:Players:
AutoReply.yml:Prefix: '&8[&4&lAutoReply&8] '
#是否启用Enabled: true
#优先级Priority:- example- example2- example3
List:    #示例1,可按照示例的格式自由创建新的自动回复    example:  #权限设置,如果不需要请设置成false或删除这个选项  Permission: chat.autoreplay.example  #是否属于广播类自动回复,一个玩家发言,所有人都能看见  Broadcast: false  #是否汇报到控制台(玩家某某某触发了example的自动回复)  Report-to-console: true  #冷却时间,每一个玩家几秒内仅能触发一次此设置的自动回复  Delay: 1.0  #关键词(可以有多个)  Key-Words-Setting:   #绕过空格   Ignore-blank: true   List:   - '**的'  #是否在触发时撤销聊天信息  Withdraw-Chat-message: true  #仅限某个聊天组可用  Group-only:   #是否启用   Enabled: false   #聊天组列表   Groups:   - default  #自动回复的信息,支持PlaceholderAPI  Messages:  - '{prefix}&c请不要辱骂玩家!'    #示例2    example2:  Delay: 5  Key-Words-Setting:   Ignore-blank: true   List:   - '外挂'   - 'hack'   - 'hax'  Withdraw-Chat-message: true  #自动回复的信息  Messages:  - ''  - '&c请不要在聊天框上举报外挂玩家'  - '&7&m外挂玩家看到你这条信息都吓得关掉了'  - '&c请私聊管理员进行举报!'  - ''    example3:  Delay: 1  Key-Words-Setting:   Ignore-blank: true   List:   - 'ms'   - '卡顿'   - '延迟'  Messages:  - '{prefix}&a你当前的延迟是 &e%player_ping% &a。'Messages.yml:Chinese:    No-Permission: '{prefix}&c你没有这么做的权限!'    Anti-Key-Words-Message: '{prefix}&a玩家 &c{player} &a试图说脏话,但是被屏蔽了'    Prefix-Without-Permission: '{prefix}&c你没有使用前缀 &f{prefix-name} &c的权限, 已自动收回此前缀.'    Suffix-Without-Permission: '{prefix}&c你没有使用后缀 &f{suffix-name} &c的权限, 已自动收回此后缀.'    Unavailable-Command: '{prefix}&c控制台不能使用这个命令.'    Entity-Name-Change: '{prefix}&a你的实体名字已被修改, 重新进入服务器即可生效。'    No-Mute: '自由发言'    Second: '秒'    Minute: '分钟'    Hour: '小时'    Day: '天'    Year: '年'    Infinite: '无限时长'    Commands-Delay-Message: '{prefix}&c你执行命令的速度过快, 请稍等 &e{delay}&c 秒后再尝试.'    Configuration-File-Repair: '{prefix}&c无法在配置文件 &e{config} &c内找到选项 &e{path} &c, 已自动填充默认配置进行修复。'    On-Chat:  On-Mute: '{prefix}&c你被禁言了.'  On-MuteAll: '{prefix}&c目前正处于全体禁言.'  On-GroupMute: '{prefix}&c你的所在组禁止发言'  On-Delay: '{prefix}&c你的发言速度过快,请在 &e{delay} &c秒后再发言.'  On-Temporary-Mute: '{prefix}&c你被禁言了, 将在 &e{duration}&c 后解除禁言.'  On-TempGroupMute: '{prefix}&c你所在的聊天组被禁言了, 将在 &e{duration} &c后解除禁言.'  On-Temporary-MuteAll: '{prefix}&c当前处于全体禁言, &e{duration} &c后解除'  Has-Anti-Key-Words: '{prefix}&c这段话中包含敏感词: &e{key-word}'  No-Group: '{prefix}&c你不属于任何一个组,无法发言!'  Group-Update: '{prefix}&a你的聊天组已更新.'    AutoReply:  Console-message: '{prefix}&e玩家 &c{player} &e触发自动回复 &a{autoreply}, &e原文内容&f: /n{message}/n'    Command-Messages:  Private-Chat:   Help: '{prefix}&c使用方法 &3/msg [玩家] [信息] &c私聊某位玩家'   Player-Offline: '{prefix}&c玩家 &e{player} &c不在线.'   Not-Support: '{prefix}&c你所在的聊天组不支持使用私聊功能.'  Nick:   Unknown-Command: '{prefix}&c未知命令, 使用&3/nick help &c查看帮助'   Help:    - '&8????????????????????????????????????????'   - '&3/nick help &c查看帮助'   - '&3/nick set [名称] &7[玩家] &c为自己或其他玩家设置匿名名称'   - '&3/nick reset &7[玩家] &c重置自己或其他玩家的匿名'   - '&3/nick info &7[玩家] &c查看自己或其他玩家的匿名信息'   - '&8????????????????????????????????????????'   Player-Offline: '{prefix}&c玩家 &e{player} &c不在线.'   Info:    Help: '{prefix}&c正确用法: &3/nick info &7[玩家]'    No-Nick: '&d无匿名'    Self:    - '&8????????????????????????????????????????'    - ' &6玩家 &a{player} &6的匿名信息'    - ' &6当前匿名名称: &b{nick}'    - ' &6原来的名称: &b{name}'    - '&8????????????????????????????????????????'    - '&2&l你可以使用 &3/nick set [名称] &2&l来设置匿名.'    Other-Player:    - '&8????????????????????????????????????????'    - ' &6玩家 &a{player} &6的匿名信息'    - ' &6当前匿名名称: &b{nick}'    - ' &6原来的名称: &b{name}'    - '&8????????????????????????????????????????'    - '&2&l你可以使用 &3/nick set [名称] {player} &2&l来设置这个玩家的匿名.'   Set:    Help: '{prefix}&c正确用法: &3/nick set [名称] &7[玩家]'    Illegal-Character: '{prefix}&c你所输入的名称包含非法字符 &e“{char}” &c, 请重新输入.'    Length-is-not-allow: '{prefix}&c昵称的长度不被允许&7(最短{minimum}个字, 最长{maximum}个字) &c, 请重新输入.'    Entity-Name-Length-is-not-allow: '{prefix}&c当前已启用实体匿名修改功能, 昵称长度不可小于&e3&c和大于&e16 &c, 请重新输入.'    Has-Anti-Key-Words: '{prefix}&c你所输入的名称包含敏感词: &e{key-word} &c, 请重新输入.'    Succeed-Set: '{prefix}&a已修改你的昵称为 &f{nick} &a.'    Succeed-Set-Other-Player: '{prefix}&a已修改玩家 &e{player} &a的昵称为 &f{nick} &a.'   Reset:    Help: '{prefix}&c正确用法: &3/nick reset &7[玩家]'    Succeed-Reset: '{prefix}&a已重置你的匿名名称.'    Succeed-Reset-Other-Player: '{prefix}&a已重置玩家 &e{player}&a 的匿名名称.'  Prefix:   Unknown-Command: '{prefix}&c未知命令, 使用&3/prefix help &c查看帮助'   Help:    - '&8????????????????????????????????????????'   - '&3/prefix help &c查看帮助'   - '&3/prefix set [前缀/序号] &7[玩家] &c设置自己或其他玩家的前缀'   - '&3/prefix add [前缀] &7[玩家] &c赋予自己或其他玩家新的前缀'   - '&3/prefix delete [前缀/序号] &7[玩家] &c删除自己或其他玩家的前缀'   - '&3/prefix reset &7[玩家] &c重置自己或其他玩家到默认前缀'   - '&3/prefix info &7[玩家] &c查看自己或其他玩家的前缀信息'   - '&8????????????????????????????????????????'   Player-Offline: '{prefix}&c玩家 &e{player} &c不在线.'   Info:    Help: '{prefix}&c正确用法: &3/prefix info &7[玩家]'    No-Wear-A-Prefix: '&6无'    Not-Have-Prefix: '&6无前缀'    Self:    - '&2&l你一共有 &f&l{prefix_number} &2&l个前缀可以使用.'    - '&8????????????????????????????????????????'    - '&7格式: [序号: 前缀内容]'    - '&f{prefix_list}'    - '&8????????????????????????????????????????'    - '&2&l当前所佩戴的前缀: &f{now_prefix}'    - '&2&l你可以使用 &3/prefix set [前缀/序号] &2&l来设置你的前缀.'    Other-Player:    - '&2&l玩家 &6{player} &2&l一共有 &f&l{prefix_number} &2&l个前缀可以使用.'    - '&8????????????????????????????????????????'    - '&7格式: [序号: 前缀内容]'    - '&f{prefix_list}'    - '&8????????????????????????????????????????'    - '&2&l当前所佩戴的前缀: &f{now_prefix}'    - '&2&l你可以使用 &3/prefix set [前缀/序号] {player} &2&l来设置这个玩家的前缀.'    Prefix-List-Format: '&7&l(&f&l{number}&7&l): &f{chat_prefix}&f'   Add:    Help: '{prefix}&c正确用法: &3/prefix add [前缀] &7[玩家]'    Already-Owned: '{prefix}&c你已经拥有这个前缀了, 不能重复赋予.'    Player-Already-Owned: '{prefix}&c玩家 &e{player} &c已经拥有这个前缀了, 不能重复赋予.'    Succeed-Add: '{prefix}&a你成功地获得了前缀 &f{chat_prefix} &a.'    Succeed-Add-Other-Player: '{prefix}&a你成功地赋予了玩家 &e{player} &a前缀 &f{chat_prefix} &a.'   Delete:    Help: '{prefix}&c正确用法: &3/prefix delete [前缀/序号] &7[玩家]'    Not-Owned: '{prefix}&c这个前缀不是你的私人前缀. 使用&3/chat info &c来查看你的私人前缀列表'    Player-Not-Owned: '{prefix}&c这个前缀不是此玩家的私人前缀. 使用&3/chat info {player} &c来查看这个玩家的私人前缀列表'    Succeed-Delete: '{prefix}&c你成功地删除了你的前缀 &f{chat_prefix} &a.'    Succeed-Delete-Other-Player: '{prefix}&c你成功地删除了玩家 &e{player} &c的前缀 &f{chat_prefix} &a.'   Set:    Help: '{prefix}&c正确用法: &3/prefix set [前缀/序号] &7[玩家]'    Not-Owned: '{prefix}&c你未拥有这个前缀,无法佩戴. 使用&3/prefix info&c来查看你的前缀列表'    Player-Not-Owned: '{prefix}&c这个玩家未拥有此前缀,无法佩戴. 使用&3/prefix info {player} &c来查看这个玩家的前缀列表'    Succeed-Set: '{prefix}&a你佩戴了前缀 &f{chat_prefix} &a.'    Succeed-Set-Other-Player: '{prefix}&a你为玩家 &e{player} &a佩戴了前缀 &f{chat_prefix}&a.'   Reset:    Help: '{prefix}&c正确用法: &3/prefix reset &7[玩家]'    No-Prefix: '{prefix}&c你没有佩戴任何前缀.'    Player-No-Prefix: '{prefix}&c玩家 &e{player} &a没有佩戴任何的前缀.'    Succeed-Reset: '{prefix}&a已重置你的前缀.'    Succeed-Reset-Other-Player: '{prefix}&a已重置玩家 &e{player}&a 的前缀.'  Suffix:   Unknown-Command: '{prefix}&c未知命令, 使用&3/suffix help &c查看帮助'   Help:    - '&8????????????????????????????????????????'   - '&3/suffix help &c查看帮助'   - '&3/suffix set [后缀/序号] &7[玩家] &c设置自己或其他玩家的后缀'   - '&3/suffix add [后缀] &7[玩家] &c赋予自己或其他玩家新的后缀'   - '&3/suffix delete [后缀/序号] &7[玩家] &c删除自己或其他玩家的后缀'   - '&3/suffix reset &7[玩家] &c重置自己或其他玩家到默认后缀'   - '&3/suffix info &7[玩家] &c查看自己或其他玩家的后缀信息'   - '&8????????????????????????????????????????'   Player-Offline: '{prefix}&c玩家 &e{player} &c不在线.'   Info:    Help: '{prefix}&c正确用法: &3/suffix info &7[玩家]'    No-Wear-A-Suffix: '&6无'    Not-Have-Suffix: '&6无后缀'    Self:    - '&2&l你一共有 &f&l{suffix_number} &2&l个后缀可以使用.'    - '&8????????????????????????????????????????'    - '&7格式: [序号: 后缀内容]'    - '&f{suffix_list}'    - '&8????????????????????????????????????????'    - '&2&l当前所佩戴的后缀: &f{now_suffix}'    - '&2&l你可以使用 &3/suffix set [后缀/序号] &2&l来设置你的后缀.'    Other-Player:    - '&2&l玩家 &6{player} &2&l一共有 &f&l{suffix_number} &2&l个后缀可以使用.'    - '&8????????????????????????????????????????'    - '&7格式: [序号: 后缀内容]'    - '&f{suffix_list}'    - '&8????????????????????????????????????????'    - '&2&l当前所佩戴的后缀: &f{now_suffix}'    - '&2&l你可以使用 &3/suffix set [后缀/序号] {player} &2&l来设置这个玩家的后缀.'    Suffix-List-Format: '&7&l(&f&l{number}&7&l): &f{chat_suffix}&f'   Add:    Help: '{prefix}&c正确用法: &3/suffix add [后缀] &7[玩家]'    Already-Owned: '{prefix}&c你已经拥有这个后缀了, 不能重复赋予.'    Player-Already-Owned: '{prefix}&c玩家 &e{player} &c已经拥有这个后缀了, 不能重复赋予.'    Succeed-Add: '{prefix}&a你成功地获得了后缀 &f{chat_suffix} &a.'    Succeed-Add-Other-Player: '{prefix}&a你成功地赋予了玩家 &e{player} &a后缀 &f{chat_suffix} &a.'   Delete:    Help: '{prefix}&c正确用法: &3/suffix delete [后缀/序号] &7[玩家]'    Not-Owned: '{prefix}&c这个后缀不是你的私人后缀. 使用&3/chat info &c来查看你的私人后缀列表'    Player-Not-Owned: '{prefix}&c这个后缀不是此玩家的私人后缀. 使用&3/chat info {player} &c来查看这个玩家的私人后缀列表'    Succeed-Delete: '{prefix}&c你成功地删除了你的后缀 &f{chat_suffix} &a.'    Succeed-Delete-Other-Player: '{prefix}&c你成功地删除了玩家 &e{player} &c的后缀 &f{chat_suffix} &a.'   Set:    Help: '{prefix}&c正确用法: &3/suffix set [后缀/序号] &7[玩家]'    Not-Owned: '{prefix}&c你未拥有这个后缀,无法佩戴. 使用&3/suffix info&c来查看你的后缀列表'    Player-Not-Owned: '{prefix}&c这个玩家未拥有此后缀,无法佩戴. 使用&3/suffix info {player} &c来查看这个玩家的后缀列表'    Succeed-Set: '{prefix}&a你佩戴了后缀 &f{chat_suffix} &a.'    Succeed-Set-Other-Player: '{prefix}&a你为玩家 &e{player} &a佩戴了后缀 &f{chat_suffix}&a.'   Reset:    Help: '{prefix}&c正确用法: &3/suffix reset &7[玩家]'    No-Suffix: '{prefix}&c你没有佩戴任何后缀.'    Player-No-Suffix: '{prefix}&c玩家 &e{player} &a没有佩戴任何的后缀.'    Succeed-Reset: '{prefix}&a已重置你的后缀.'    Succeed-Reset-Other-Player: '{prefix}&a已重置玩家 &e{player}&a 的后缀.'  Main:   Unknown-Command: '{prefix}&c未知命令, 使用&3/chat help &c查看帮助'   Help-Command:    - '{prefix}&a使用帮助'   - '&8????????????????????????????????????????'   - '&3/chat help &c查看帮助'   - '&3/chat reload &c重载配置文件'   - '&3/chat groupinfo [聊天组] &c查看组的信息'   - '&3/chat info [玩家] &c查看玩家的个人数据'   - '&3/chat mute [玩家] [s/m/h/d/y] &7[理由] &c禁言一个玩家'   - '&3/chat mutegroup [组名] [s/m/h/d/y] &7[理由] &c禁言一个聊天组'   - '&3/chat muteall [s/m/h/d/y] &7[理由] &c开关全体禁言'   - '&3/chat title [想说的话] &c发送标题聊天信息&8(需要所在组支持)'   - '&3/chat actionbar [想说的话] &c发送动作栏聊天信息&8(需要所在组支持)'   - '&3/chat set [玩家] [聊天组] &c移动玩家到某个聊天组'   - '&3/chat nametag [玩家] &c开关自己或其他玩家的名字标签'   - '&3/chat joinmessage [玩家] &c开关自己或其他玩家的登入消息'   - '&3/chat quitmessage [玩家] &c开关自己或其他玩家的退出消息'   - '&8????????????????????????????????????????'   Reload: '{prefix}&a已重载配置文件'   List: '{prefix}&b聊天组列表: &e{list}'   Info:  Help: '{prefix}&a使用帮助: &3/chat info &6[玩家] &c查看玩家的信息'    true: '&a是'    false: '&c否'    No-Wear-A-Prefix: '&6无'    Not-Have-Private-Prefix: '&6无私人前缀'    No-Wear-A-Suffix: '&6无'    Not-Have-Private-Suffix: '&6无私人后缀'    Player-Offline: '{prefix}&c玩家 &e{player} &c不在线!'    Info:  - '&8????????????????????????????????????????'    - '&6 玩家 &a{player} &6的信息: '    - '&3 所在聊天组: &c{group}'    - '&3 是否禁言: &c{mute}'    - '&3 是否佩戴了前缀: &c{haswearaprefix}'    - '&3 佩戴的前缀: &f{now_prefix}'    - '&3 是否佩戴了后缀: &c{haswearasuffix}'    - '&3 佩戴的后缀: &f{now_suffix}'    - '&3 私人前缀列表: &7格式: [序号: 前缀内容]'    - '&f {prefix_list}'    - '&3 私人后缀列表: &7格式: [序号: 后缀内容]'    - '&f {suffix_list}'    - '&8????????????????????????????????????????'    Prefix-List-Format: '&7&l(&f&l{number}&7&l): &f{chat_prefix}&f'    Suffix-List-Format: '&7&l(&f&l{number}&7&l): &f{chat_suffix}&f'   GroupInfo:    Help: '{prefix}&a使用帮助: &3/chat groupinfo [组名] &c查看组的信息'    true: '&a是'    false: '&c否'    No-Wear-A-Prefix: '&6无'    Not-Have-Prefix: '&6无前缀'    No-Wear-A-Suffix: '&6无'    Not-Have-Suffix: '&6无后缀'    Group-Info:  - '&8????????????????????????????????????????'    - '&6 聊天组 &a{group} &6的信息: '    - '&3 是否禁言: &f{mute}'    - '&3 使用彩字: &f{allow-chatcolor}'    - '&3 使用标题聊天: &f{title-chat}'    - '&3 使用动作栏聊天: &f{actionbar-chat}'    - '&3 允许私聊: &f{private-chat}'    - '&3 是否需要权限: &e{haspermission}'    - '&3 是否为op组: &e{needop}'    - '&3 所需权限: &c{permission}'    - '&3 聊天前缀: &f{player_prefix}'    - '&3 聊天后缀: &f{player_suffix}'    - '&3 聊天格式: &f{chatformat}'    - '&3 前缀列表: &7格式: [序号: 前缀内容]'    - '&f {prefix_list}'    - '&3 后缀列表: &7格式: [序号: 后缀内容]'    - '&f {suffix_list}'    - '&8????????????????????????????????????????'    Group-Non-Existent: '{prefix}&c聊天组&a {group} &c不存在!/n&3/chat list &c列出所有聊天组'    Prefix-List-Format: '&7&l(&f&l{number}&7&l): &f{chat_prefix}&f'    Suffix-List-Format: '&7&l(&f&l{number}&7&l): &f{chat_suffix}&f'   Set:    Help: '{prefix}&a使用帮助: &3/chat set [玩家] [聊天组] &c移动玩家到某个聊天组'    Player-Offline: '{prefix}&c玩家 {player} &c不在线!'    Group-Non-Existent: '{prefix}&c聊天组&a {group} &c不存在!/n&3/chat list &c列出所有聊天组'    Success: '{prefix}&a成功将玩家 &c{player} &a移动到聊天组 &b{group} &a!'   NameTag:    Help: '{prefix}&a使用帮助: &3/chat nametag [玩家] &c开关自己或其他玩家的名字标签'    Player-Offline: '{prefix}&c玩家 {player} &c不在线!'    Enabled: '{prefix}&a已启用你的名字标签&a.'    Disabled: '{prefix}&c已关闭你的名字标签&c.'    Enabled-Other-Player: '{prefix}&a已启用玩家 &e{player} &a的名字标签&a.'    Disabled-Other-Player: '{prefix}&c已关闭玩家 &e{player} &c的名字标签&a.'   JoinMessage:    Help: '{prefix}&a使用帮助: &3/chat joinmessage [玩家] &c开关自己或其他玩家的登入消息'    Player-Offline: '{prefix}&c玩家 {player} &c不在线!'    Enabled: '{prefix}&a已启用你的登入消息&a.'    Disabled: '{prefix}&c已关闭你的登入消息&c.'    Enabled-Other-Player: '{prefix}&a已启用玩家 &e{player} &a的登入消息&a.'    Disabled-Other-Player: '{prefix}&c已关闭玩家 &e{player} &c的登入消息&a.'   QuitMessage:    Help: '{prefix}&a使用帮助: &3/chat quitmessage [玩家] &c开关自己或其他玩家的退出消息'    Player-Offline: '{prefix}&c玩家 {player} &c不在线!'    Enabled: '{prefix}&a已启用你的退出消息&a.'    Disabled: '{prefix}&c已关闭你的退出消息&c.'    Enabled-Other-Player: '{prefix}&a已启用玩家 &e{player} &a的退出消息&a.'    Disabled-Other-Player: '{prefix}&c已关闭玩家 &e{player} &c的退出消息&a.'   Mute:    Help: '{prefix}&a使用帮助: &3/mute [玩家] [s/m/h/d/y] &7[理由] &c禁言一个玩家'    Player-Offline: '{prefix}&c玩家 {player} &c不在线!'    No-Reason: '无理由'    Target-Messages:    - '&8????????????????????????????????????????'    - '&6   你被管理员 &c{admin} &6禁言了.'    - '&6   禁言理由: &3{reason}'    - '&6   禁言时长: &a{duration}'    - '&8????????????????????????????????????????'    Mute: '{prefix}&c管理员 &e{admin} &c禁言了 &e{player}'    Reason-Mute: '{prefix}&c管理员 &e{admin} &c禁言了 &e{player}&c, 理由 &a{reason} &c.'    Temporary-Mute: '{prefix}&c玩家 &e{player} &c被管理员 &3{admin} &c禁言 &e{duration}&c.'    Reason-Temporary-Mute: '{prefix}&c玩家 &e{player} &c被管理员 &3{admin} &c禁言 &e{duration}&c, 理由 &a{reason} &c.'    Relieve: '{prefix}&c管理员 &e{admin} &c解除了 &e{player} &c的禁言.'   MuteGroup:    Help: '{prefix}&a使用帮助: &3/mutegroup [组名] [s/m/h/d/y] &7[理由] &c禁言某个聊天组'    Group-Non-Existent: '{prefix}&c聊天组&a {group} &c不存在!/n&3- &a/chat list &7列出所有聊天组'    No-Reason: '无理由'    Target-Messages:    - '&8????????????????????????????????????????'    - '&6   你所在聊天组 &b{group} &6被管理员 &c{admin} &6禁言了.'    - '&6   禁言理由: &3{reason}'    - '&6   禁言时长: &a{duration}'    - '&8????????????????????????????????????????'    Mute: '{prefix}&c管理员 &3{admin} &c禁言了 &e{group} &c聊天组'    Reason-Mute: '{prefix}&c管理员 &3{admin} &c禁言了 &e{group} &c聊天组, 理由 &a{reason} &c.'    Temporary-Mute: '{prefix}&c聊天组 &e{group} &c被管理员 &3{admin} &c禁言 &e{duration}'    Reason-Temporary-Mute: '{prefix}&c聊天组 &e{group} &c被管理员 &3{admin} &c禁言 &e{duration}&c, 理由 &a{reason} &c.'    Relieve: '{prefix}&c管理员 &3{admin} &c解除了 &e{group} &c聊天组的禁言'   MuteAll:    Help: '{prefix}&a使用帮助: &3/muteall [s/m/h/d/y] &7[理由] &c开关全体禁言'    Mute: '{prefix}&c管理员 &e{admin} &c开启全体禁言'    No-Reason: '无理由'    Target-Messages:    - '&8????????????????????????????????????????'    - '&6   管理员 &c{admin} &6开启了全体禁言.'    - '&6   禁言理由: &3{reason}'    - '&6   禁言时长: &a{duration}'    - '&8????????????????????????????????????????'    Reason-Mute: '{prefix}&c管理员 &e{admin} &c开启全体禁言, 理由 &a{reason} &c.'    Temporary-Mute: '{prefix}&c管理员 &3{admin} &c开启 &e{duration} &c的全体禁言'    Reason-Temporary-Mute: '{prefix}&c管理员 &3{admin} &c开启 &e{duration} &c的全体禁言, 理由 &a{reason} &c.'    Relieve: '{prefix}&c管理员 &e{admin} &c关闭全体禁言'   Title:  Help: '{prefix}&a使用帮助: &3/title [想说的话] &c发送标题聊天信息'    No-Support: '{prefix}&c你的所在组不支持这个功能'   ActionBar:  Help: '{prefix}&a使用帮助: &3/actionbar [想说的话] &c发送动作栏聊天信息'    No-Support: '{prefix}&c你的所在组不支持这个功能'  Report:   Help: '{prefix}&c未知命令, 使用&3/report [玩家] [信息] &c举报某位玩家'   Not-Enabled: '{prefix}&e举报功能未启用。'   Player-Offline: '{prefix}&c玩家 &e{player} &c不在线!'   This-Players-are-Administrator: '{prefix}&c你不可以举报管理员 &a{player} &c.'   Sender-Messages:   - '{prefix}&a成功举报玩家 &c{player} &a理由 &e{reason} &a.'   Administrator-Messages:   - '&8????????????????????????????????????????'   - '&6   来自玩家 &c{player} &6的举报信息:'   - '&6   举报玩家: &b{target}'   - '&6   举报理由: &a{reason}'   - '&8????????????????????????????????????????'  List:   No-Player-is-Online: '&6没有任何玩家在线'   Messages:    - '&8????????????????????????????????????????'   - '&f {list}'   - '&8????????????????????????????????????????'   - '&6 当前一共有 &a{numbers} &6个玩家在线 '   List-Format: '&7&l(&f&l{number}&7&l): &f{player_prefix}{player_name}{player_suffix} &7[&a{player_group}&7]&f'PlaceholderAPI 变量提供%chatsystem_prefix% 显示自己的前缀名字%chatsystem_suffix% 显示自己的后缀名字
%chatsystem_nickname% 显示自己的匿名名称

%chatsystem_prefix_size% 显示自己的前缀数量%chatsystem_suffix_size% 显示自己的后缀数量
%chatsystem_group% 显示自己的聊天组名字

%chatsystem_mutedate% 显示自己的禁言时长
%chatsystem_chat_delay% 显示自己当前发言冷却
%chatsystem_title_delay% 显示自己当前标题发言冷却
%chatsystem_actionbar_delay% 显示自己当前动作栏发言冷却
%chatsystem_privatechat_delay% 显示自己当前私聊冷却
供开发者食用的API
import studio.trc.bukkit.trcstudiochatsystem.Events.CustomEvents; 本插件携带的监听器事件
  • PlayerTitleChatEvent 玩家标题聊天事件
  • PlayerActionBarChatEvent 玩家动作栏聊天事件
  • PlayerPrivateChatEvent 玩家私聊事件
使用示例:


代码:

  1. @EventHandler
  2. public void example(PlayerTitleChatEvent e) {
  3.     Player p = e.getPlayer();
  4.     String message = e.getMessage();
  5.     Bukkit.broadcastMessage("玩家" + p.getName() + "使用标题聊天说了" + message);
  6. }




import studio.trc.bukkit.trcstudiochatsystem.API.ChatGroup;获取实例: ChatGroup.getGroup(String 聊天组名字);
  • public void mute() //开启或取消禁言聊天组
  • public void mute(long time) //临时开启或取消禁言聊天组
  • public void mute(boolean state) //禁言聊天组
  • public void mute(long time, boolean state) //临时禁言聊天组
  • public String getPermission() //获取聊天组所需权限
  • public String getDefaultPrefix() //获取聊天组默认前缀
  • public String getDefaultSuffix() //获取聊天组默认后缀
  • public String getName() //获取聊天组的名字
  • public String getTabFormat() //获取聊天组TAB列表格式
  • public String getNameTagModifyPrefix() //获取聊天组名字标签的前缀
  • public String getNameTagModifySuffix() //获取聊天组名字标签的后缀
  • public List<String> getPrefixList() //获取聊天组前缀列表
  • public List<String> getSuffixList() //获取聊天组后缀列表
  • public List<String> getAntiKeyWordsList() //获取脏话屏蔽的关键词列表
  • public List<String> getActionBarChatMessages() //获取动作栏聊天的信息格式列表
  • public Set<String> keyWordsReplaceList() //获取关键词替换的列表
  • public Set<ChatPlayer> getOnlinePlayersFromThisGroup() //获取在线玩家中属于这个聊天组的ChatPlayer实例
  • public String getChatFormat() //获取聊天组聊天格式
  • public String getKeyWordsReplaceObject(String keyword) //获取关键词替换后的内容
  • public double getChatDelay() //获取聊天组聊天冷却
  • public double getActionBarChatDelay() //获取聊天组动作栏聊天冷却
  • public double getCommandDelay() //获取聊天组命令冷却
  • public double getPrivateChatDelay() //获取聊天组私聊冷却
  • public double getTitleChatDelay() //获取聊天组标题聊天冷却
  • public double getActionBarChatSendingSpeed() //获取动作栏聊天信息发送速度
  • public int getPrefixNumber() //获取聊天组前缀数量
  • public boolean isMute() //聊天组是否处于禁言状态
  • public boolean antiKeyWords() //是否启用脏话屏蔽功能
  • public boolean antiKeyWordsIgnoreBlanks() //脏话屏蔽功能检测过程中是否忽略空格
  • public boolean keyWordsReplace() //是否启用关键词替换
  • public boolean hasChatDelay() //聊天组是否拥有聊天冷却
  • public boolean hasActionBarChatDelay() //聊天组是否动作栏聊天冷却
  • public boolean hasCommandsDelay() //聊天组是否拥有命令冷却
  • public boolean hasPrivateChatDelay() //聊天组是否拥有私聊冷却
  • public boolean hasTitleChatDelay() //聊天组是否拥有标题聊天冷却
  • public boolean allowChatColor() //聊天组是否允许彩字聊天
  • public boolean allowPrivateChat() //聊天组是否允许私聊
  • public boolean allowTitleChat() //聊天组是否允许标题聊天
  • public boolean allowActionBarChat() //聊天组是否允许动作栏聊天
  • public boolean hasPrefix() //聊天组是否拥有前缀
  • public boolean hasWearAPrefix() //聊天组是否拥有默认前缀
  • public boolean nameTagModify() //聊天组是否启用名字标签
  • public boolean privateTeamOnNameTag() //聊天组是否允许玩家拥有私人名字标签组
  • public boolean showToTab() //聊天组是否显示到TAB列表
  • public boolean hasPermission(ChatPlayer cp) //玩家是否拥有使用这个聊天组的权限
  • public boolean hasPermission(Player p) //同上
  • public boolean antiKeyWordsRunCommands() //脏话屏蔽是否启用执行命令功能
  • public boolean isDefaultGroup() //是否为默认聊天组
  • public void setChatFormat(String format) //设置聊天组的聊天格式
  • public void setDefaultPrefix(String prefix) //设置聊天组默认前缀
  • public void setPrefixList(List<String> list) //设置聊天组前缀列表
  • public void addPrefix(String prefix) //赋予聊天组新的前缀
  • public void deletePrefix(String prefix) //删除聊天组的前缀
  • public void setDefaultSuffix(String prefix) //设置聊天组默认后缀
  • public void setSuffixList(List<String> list) //设置聊天组的后缀列表
  • public void addSuffix(String prefix) //赋予聊天组新的后缀
  • public void deleteSuffix(String prefix) //删除聊天组的后缀
  • public void setChatDelay(int second) //设置聊天组的命令冷却
  • public void setCommandsDelay(int second) //设置聊天组命令冷却
  • public void setPrivateChatDelay(int second) //设置聊天组私聊冷却
  • public void setTitleDelay(int second) //设置聊天组标题聊天冷却
  • public void setActionBarDelay(int second) //设置聊天组动作栏聊天冷却
静态方法:
  • public static ChatGroup getGroup(String groupname) //获取聊天组的实例
  • public static List<String> getNameTagModifyPriority() //获取聊天组在名字标签上的优先级列表
  • public static List<ChatGroup> getGroupList() //获取聊天组实例的列表
  • public static List<String> getGroupNameList() //获取聊天组名字的列表
  • public static int getTotalLoadedGroupData() //获取数据库已加载的聊天组总数

import studio.trc.bukkit.trcstudiochatsystem.API.ChatPlayer;获取实例: ChatPlayer.getPlayer(Player player) 或 ChatPlayer.getPlayer(String playername)
  • public void mute() //开启或取消禁言
  • public void mute(long time) //临时开启或取消禁言
  • public void mute(boolean state) //自动开关禁言
  • public void mute(long time, boolean state) //自动开关临时禁言
  • public void register() //在数据库内注册这个玩家的基础数据
  • public void sendTitle(String title, String subtitle, int fadein, int stay, int fadeout) //发送标题信息
  • public void sendActionBar(String text) //发送动作栏信息
  • public void setNameTagModify(boolean state) //开关玩家的名字标签
  • public void setJoinMessage(boolean state) //开关玩家的登入消息
  • public void setQuitMessage(boolean state) //开关玩家的退出消息
  • public void setGroup(ChatGroup group) //设置玩家所在聊天组
  • public void setGroup(String groupname) //设置玩家所在聊天组
  • public void setNameFromConfiguration(String name) //设置玩家在配置文件内的名字
  • public void switchNameTagModify() //自动开关玩家的名字标签功能
  • public void setNick(String nickname) //设置玩家的匿名名称
  • public void resetNick() //重置玩家的匿名名称
  • public void setPrefix(String suffix) //设置玩家的前缀
  • public void setPrefixList(List<String> list) //设置玩家的前缀列表
  • public void addPrefix(String suffix) //赋予玩家新的前缀
  • public void deletePrefix(String suffix) //删除玩家的前缀
  • public void resetPrefix() //重置玩家佩戴的前缀
  • public void setSuffix(String suffix) //设置玩家的后缀
  • public void setSuffixList(List<String> list) //设置玩家的后缀列表
  • public void addSuffix(String suffix) //赋予玩家新的后缀
  • public void deleteSuffix(String suffix) //删除玩家的后缀
  • public void resetSuffix() //重置玩家的后缀
  • public String getPrefix() //获取玩家的前缀
  • public String getSuffix() //获取玩家的后缀
  • public String getName() //获取玩家的真实名字
  • public String getNameFromConfiguration() //从配置中获取玩家的名字
  • public String getNickName() //获取玩家的名字
  • public List<String> getPrefixList() //获取玩家的前缀列表
  • public List<String> getSuffixList() //获取玩家的后缀列表
  • public boolean isChatDelay() //玩家是否处于聊天冷却
  • public boolean isCommandsDelay() //玩家是否处于命令冷却
  • public boolean isPrivateChatDelay() //玩家是否处于私聊冷却
  • public boolean isTitleDelay() //玩家是否处于标题聊天冷却
  • public boolean isActionbarDelay() //玩家是否处于动作栏聊天冷却
  • public boolean isMute() //玩家是否处于禁言
  • public boolean hasPrefix() //玩家是否拥有前缀
  • public boolean hasSuffix() //玩家是否拥有后缀
  • public boolean hasNick() //玩家是否拥有匿名
  • public boolean hasWearAPrefix() //玩家是否佩戴了前缀
  • public boolean hasWearASuffix() //玩家是否佩戴了后缀
  • public boolean nameTagModify() //玩家是否启用了名字标签
  • public boolean enableJoinMessage() //玩家是否开启登入消息
  • public boolean enableQuitMessage() //玩家是否开启退出消息
  • public boolean reportingReceiver() //玩家是否为举报接收人
  • public int getPrefixNumber() //获取玩家的前缀数量
  • public int getSuffixNumber() //获取玩家的后缀数量
  • public Player toPlayer() //转换成Player
  • public ChatGroup getFromGroup() //获取玩家所在聊天组
  • public String getGroup() //获取玩家配置文件中所在聊天组
静态方法:
  • public static ChatPlayer getPlayer(Player player) //获取玩家实例
  • public static ChatPlayer getPlayer(String playername) //同上
  • public static int totalLoadedPlayerData() //获取已加载的玩家数据总量

import studio.trc.bukkit.trcstudiochatsystem.API.ChatSystem;
  • public static void mute() //开关全体禁言
  • public static void mute(long time) //开关全体临时禁言
  • public static void mute(boolean state) //开关全体禁言
  • public static void mute(long time, boolean state) //开关全体临时禁言
  • public static String getLanguage() //获取插件所使用的语言
  • public static String getDefaultGroup() //获取默认聊天组名字
  • public static String getPrefix() //获取命令前缀
  • public static Connection getSQLConnection() //获取数据库连接
  • public static boolean TabAutoUpdate() //Tab是否自动更新
  • public static boolean isMuteAll() //是否处于全体禁言
  • public static boolean isMandatoryUse() //是否处于强制使用的模式
  • public static boolean highestPriority() //处理玩家的聊天是否优先于其他插件
  • public static boolean sendTheTitleWithTheMessage() //标题信息是否和聊天信息一起发送
  • public static boolean sendTheActionBarWithTheMessage() //动作栏信息是否和聊天信息一起发送
  • public static boolean enableListCommand() //是否启用由本插件自带的/list命令
  • public static boolean usePlaceholderAPI() //是否使用PlaceholderAPI
  • public static boolean usePermissionGroup() //是否启用权限分组
  • public static boolean enabledReport() //是否启用举报功能
  • public static boolean useMySQLStorage() //是否使用MySQL储存
  • public static boolean playerDataStoredInMySQL() //是否将玩家数据储存到MySQL
  • public static boolean mutePlayerDataStoredInMySQL() //是否将玩家禁言数据储存到MySQL
  • public static boolean muteGroupDataStoredInMySQL() //是否将聊天组禁言数据储存到MySQL
  • public static boolean muteAllDataStoredInMySQL() //是否将全体禁言数据储存到MySQL
  • public static void updateTab(Player p) //更新玩家的TAB信息
  • public static void selfDestruction() //自毁插件
  • public static void savePlayers() //保存玩家信息
  • public static void saveGroups() //保存聊天组信息
  • public static void stopThreads() //终止所有异步匿名线程
  • public static void reloadFile() //重载配置文件



更新日志2.0.0:
  • 修复了Title的“拥有chat.title权限,发言格式却是config.yml内默认发言格式”的bug
  • 添加了/chat mute [玩家]的功能,禁言或解除某个玩家的禁言
  • 添加了自动检测PlaceholderAPI的功能,会在启动的时候检测并且在没有此插件的情况下关闭Use-PlaceholderAPI的选项
  • 添加了Messages.yml,可以自行编辑提示语
  • 添加了Group.yml,将聊天组编辑从config.yml里移动到了此配置文件内(1.0转2.0需要注意的大问题!)
  • 添加了config.yml内的“Use-Permission-Group:”,功能即为“权限分组或独立分组”,设置为true后将以玩家拥有的权限来区分他的所在权限组,如果设置为false,将以Players.yml内的玩家个人数据来区分所在聊天组(多数1.0使用者最期待的新功能!)
  • 添加了Players.yml,可以编辑玩家所在组、禁言等功能(待添加)
  • 添加了/chat set [玩家] [聊天组]的功能,对照上边,可以直接移动玩家到某个聊天组
  • 重新制作了/chat title的功能,使/chat title [想说的话] 不再需要使用“_”来代替空格,直接使用空格即可。chat.title权限节点的功能转变为“如果所在组不支持Title,那么拥有这个权限后,可以绕过这个所在组的不支持的限制,以所在组的Title格式发送Title信息。”
3.0.0: (这个版本修复了一大堆的Bug以及添加了很多新的功能,我只能凭记忆来说说更新了什么东西)
  • 默认允许使用/chat info查询自己的信息
  • 添加了私聊功能,插件可编辑私聊的格式
  • 更改了Messages.yml内的东西,如果你是2.0更新上来的,建议删除Messages.yml文件等他重新生成
  • 修复了脏话屏蔽可以使用大小写绕过的Bug
  • 修改了config.yml文件为Config.yml(你没看错,就是改了个首字母大写,但是你也得这么做,否则会出错)
  • 修复了玩家聊天内容能使用PlaceholderAPI变量的Bug
  • 修复了关闭强制使用情况下Title无法关闭PlaceholderAPI使用的Bug
  • 修复了关闭强制使用情况下打%会直接刷出报错的Bug
  • 修复了玩家聊天内容有被屏蔽的关键词,系统依旧会寻找下一个合适的组的Bug
  • 剩下的修复内容我记得不是很清楚了,但修复的东西不止上面这么一点,多数都是代码上一两个字母打错什么的= =
  • 添加了私聊功能 每一个聊天组都可以编辑独特的私聊格式
  • 添加了便捷命令功能,/chat mute可以简化成/mute,/chat mutegroup可以简化成/mutegroup,/chat muteall可以简化成/muteall
  • 添加了聊天组前缀功能,每一个聊天组都可以编辑独特的前缀并且在Chat-Format选项内使用,变量{player_prefix}
  • 添加了聊天延迟功能,可以编辑每一个聊天组聊天的冷却时间,防止刷屏,改为0为无
  • 添加了标题聊天的延迟功能,同上
  • 添加了关键词替换功能,这个功能纯属娱乐,能替换掉某个关键词,例如: nmsl: 'i love you' 把nmsl替换成i love you
  • 添加了私聊延迟功能,同上
  • 添加了命令强制使用功能,对应Config.yml内的Mandatory-use,使这个插件所有的命令优先于其他插件的同名命令,比如说你服务器装了ESS以及这个插件,那么ESS的/mute命令可能会和这个插件的/mute命令形成冲突
  • 添加了Config.yml内的权限设置,可以设置以上所有命令的权限与三种聊天方式(正常聊天,标题聊天,私聊)的权限(例如无冷却、无视禁言发言之类的)
  • 优化了代码格式,使算法更加简洁与聊天延迟降低
  • 优化了玩家数据储存的方式
  • 现在配置文件内一些开关选项(如Enable: false/true)处于false情况下可以直接省略不写(旧版本下会直接报错),比如说Permission:的Enable: false 可以直接将整个Permission:删掉,让配置文件更加整洁
  • 当玩家拥有使用/title的权限,而组不支持的时候,他才会跳转默认权限组(旧版本的操作: 你有了权限,不管这个组是否允许标题聊天,都直接给你跳转默认设置的格式)
  • 修改了Message.yml内大量的语句格式、排版
3.1.0
  • 添加了前缀功能,命令/prefix,具体请查看命令帮助
  • 添加了命令冷却功能,可以限制执行命令的时间间隔, 配置选项Commands-Delay
  • 为/chat info与/chat groupinfo 更新了更多可显示的变量内容
  • 添加了诸多API接口,包名com.trcmc.trcstudiochatsystem.bukkit.API.[类]
  • 添加了TAB显示功能,配置选项Show-to-TAB,可自定义一个玩家在TAB里显示的标签名字(和ESS一样)
  • 修改了大量配置文件选项的语法错误(建议删除Messages.yml等待重新生成)
  • 添加了聊天组前缀列表、玩家私人前缀列表,默认情况下玩家可自由切换私人前缀和聊天组拥有的前缀
  • 修复了控制台使用/chat groupinfo无法寻找到聊天组的Bug
  • 修复了连扣好几个“&”就会导致聊天格式不运作的Bug
  • 修复了大量微不足道的Bug
  • 修改了玩家数据储存方式,玩家只有在修改自己个人数据的时候才会在Players.yml里创建个人数据,而不是加入游戏即创建
3.2.0
  • 修复/title命令无法使用的bug
  • 修复在一瞬间内发言多次会导致故障的bug(主要是外挂端的自动发言功能,一瞬间扣两句话出来)
  • 删除了插件内部多余的无用代码
  • 新增自动回复功能,配置文件AutoReply.yml
  • 将所有配置文件内的“Enable”改为“Enabled”(注意!)
  • 删除了Messages.yml内的Unicode语言(如果还需要可以私聊我)
3.3.0(这个版本改动过大,更新时请注意)
  • 新增Nick匿名功能,可修改玩家的ID数据
  • 新增PlaceholderAPI变量提供(%chatsystem_?%),详情查看贴内
  • 新增ActionBar动作栏消息发言
  • 新增禁言理由提示
  • 新增配置文件自动修复功能,当配置文件损坏,系统将会保留损坏文件并恢复到默认配置文件
  • 新增多线程事件检测,实时更新玩家缓存数据
  • 新增Title的淡入、停留、淡出功能
  • 新增登入、退出时的消息设置
  • 新增脏话屏蔽执行命令功能,可设置在脏话屏蔽的同时执行命令(例如mute、kick)
  • 从这个版本开始, Mute命令的时间符号可自定义,例如Messages.yml内的Second是“秒”,即可以使用/mute 玩家名 10秒 来禁言这个玩家十秒(默认情况下大小写S也是可用的,其他时间单位符号都一样)
  • 修复自动回复重复发送Bug
  • 修复配置文件实时更新Bug(占用硬盘读写)
  • 修复了很多细微的Bug
3.3.1
  • 修复1.13+使用报错Bug
  • 修复“未加载PlaceholderAPI插件的情况下, 直接使用/chat reload后会导致所有功能失效”的Bug
  • 修改了源码上的一部分错别字
3.3.2
  • 修复PlaceholderAPI %chatsystem_prefix%无法显示未佩戴前缀玩家的聊天组前缀的Bug
3.3.3
  • 修复1.13.2版本下发生异常错误的Bug
  • 修复1.14无法使用Title的Bug
3.3.4
  • 新增TAB命令补充功能, 使用本插件的命令的时候按TAB可自动补充命令
  • 新增自定义彩字符号功能, Config.yml内对应选项Color-Character:, 可自定义本插件的彩字符号, 默认&
  • 删除了插件上一些残留的调试信息
  • 修改了Messages.yml和Config.yml内的一些选项名称
  • 修复了一些细微的Bug
3.5.4(这个版本更新内容超多,部分功能需要你自己看配置文件内的注释才能清楚)
  • 修复 & 优化了大量的功能和代码,删除了超多的无用代码
  • 新增后缀功能,命令/suffix
  • 新增头顶标签功能
  • 新增MySQL支持
  • 新增配置文件自动修复功能
  • 新增登入 & 退出消息开关
  • 新增优先级控制选项(Config.yml内)
  • 新增举报功能,命令/report
  • 新增命令/list 代替原版/list命令,可列出在线玩家,并显示其所在聊天组
  • 修改了API接口的路径,并增加了大量的新方法
3.5.5:
  • 修复了无法使用命令/chat groupinfo的Bug
  • 修复了在启用权限分组的情况下,无法匹配到玩家拥有的权限的聊天组时抛出错误的Bug
  • 从这个版本开始,Config.yml内Default-Group所填默认组将不再进行权限检查
3.5.6:
  • 新增三个自定义事件供开发者食用
  • 新增线程自动修复功能(线程故障主要是因为MySQL服务器连接超时而导致,这项功能将自动修复它)
  • 修复Title冷却限制无效的Bug
  • 修复无法发送ActionBar信息的Bug
  • 修复命令/chat groupinfo使用报错Bug
  • 修复禁言时被禁言玩家的时间显示错误Bug
  • 从这个版本开始,使用/nick set若对象名字是玩家的原名,将自动reset(所以为什么你们取消Nick一直都用的/nick set 原ID,浪费服务器资源)
  • 从这个版本开始,佩戴的前后缀对象是聊天组默认前缀,将自动reset(同上= =)
  • 从这个版本开始,若名字标签的前后缀与任意聊天组的默认前后缀一致(同时聊天组启用了名字标签功能),将自动归类到此聊天组
  • 优化异步线程与其他优化不足并占用服务器处理、内存的地方
3.5.7:
  • 优化 & 增强MySQL连接安全
  • 修复了几个有关彩色字符的Bug
3.5.8:
  • 修复了一个死循环的Bug:无法获取Players.yml内的所在聊天组信息
  • 修复了Show-to-TAB无法使用PlaceholderAPI的Bug
  • 修复在控制台上使用/msg私聊时按tab刷报错的Bug
3.5.9:
  • 修复1.7.x加载NMS错误的Bug
  • 新增TAB自动更新的功能,对应配置文件Config.yml内Tab-Auto-Update
  • 禁用了1.7服务器上的名字标签功能
  • 命令 /list 从这个版本开始支持使用PlaceholderAPI的变量了
  • 修复1.7无法使用Show-to-Tab功能的Bug(但依旧不推荐在1.7服务器上使用,因为1.7和1.8+的Tab机制不同,难免出故障)
3.5.9-Repaired:
  • 修复MySQL分裂储存无法开启的故障
  • 修复MySQL数据表读取故障
  • 修复MySQL空指针而导致的SQL语句错误
  • 修复MySQL下因读取数据库聊天组而引发的死循环
  • 以上为连锁反应(W!D!N!M!D!)
  • 修复YAML无法临时禁言的错误
  • 删除了所有替换null防止因储存方式切换重置导致的空指针
3.6.0-FinalVersion:
  • 更新至1.15服务端的支持,并宣布插件已停止更新
  • 修复1.7-1.12无法加载NameTag的Bug



如何使用?
  • 下载插件
  • 丢进plugin文件夹
  • 启动服务器,最好有PlaceholderAPI插件
  • 打开配置文件
  • 创建一个新的组,和默认配置的组的格式一样,并且将组名添加进Group-List列表内
  • /chat reload重载配置
  • 如果你没有开启Config.yml的Use-Permission-Group,使用/chat set 玩家名 聊天组 来将玩家移动到某个聊天组
  • 但是如果有,请赋予玩家对应权限(OP玩家需要注意,Permission的Enable为true的同时,需要把Need-OP也设置为true,否则就算你有权限你也无法使用这个组)


下载地址
3.6.0-FinalVersion版本
本插件所用所有代码均为原创,不存在借用/抄袭等行为



TRCStudioDean
为什么这mcbbs老是抽风,配置文件全乱了

193645
支持楼主!正好需要,良心

TRCStudioDean
193645 发表于 2018-9-17 14:11
支持楼主!正好需要,良心

谢谢支持

Mikoto、、
实现了不用扣扣群组的聊天方式.支持嘤嘤嘤

狗贼sama
良心插件~支持

TRCStudioDean
以后每周末都会尽可能空出时间,将这个插件剩下未完成的功能做完。

God_SF
标题字就很有灵性

1046557754
支持awa,希望TRC越来越好

Yuyu0912
可以直接給某位玩家權限嗎?

TRCStudioDean
Yuyu0912 发表于 2018-9-22 14:37
可以直接給某位玩家權限嗎?

不行,目前只能给予玩家权限

98976431
这个插件不能支持mv的多世界变量咩QAQ!!!

qq2392736206
这样就可以让服务器素质提高咯!

TRCStudioDean
98976431 发表于 2018-10-13 11:23
这个插件不能支持mv的多世界变量咩QAQ!!!

那是你没配置好PAPI吧。。。。或者说你变量写错了
我服务器的就没问题

98976431
迪安小弱渣 发表于 2018-10-13 12:54
那是你没配置好PAPI吧。。。。或者说你变量写错了
我服务器的就没问题

哎嘿嘿嘿忘了下载papi的mv变量...

98976431
emm楼主哇...这个权限组的聊天怎么切换哎..他为啥只提示所在组:default

3307137433
这么好的插件我带走了哈

TRCStudioDean
98976431 发表于 2018-10-14 09:17
emm楼主哇...这个权限组的聊天怎么切换哎..他为啥只提示所在组:default

赋予玩家对应组的权限,切要打开Permission:
下的Enable: true
不过我不推荐这么做,因为今天准备更新这个插件了,更新内容有一项是“可以直接通过命令移动玩家到某个聊天组”

TRCStudioDean
Yuyu0912 发表于 2018-9-22 14:37
可以直接給某位玩家權限嗎?

插件已更新,并且完成了你想要的这个功能。

TRCStudioDean
插件已更新至2.0版本,请各位及时更新下载。

ak-4-7
两个滑稽鸣翠柳,一行嘤嘤上青天

lumingjie98
迪安小弱渣 发表于 2018-10-14 11:20
赋予玩家对应组的权限,切要打开Permission:
下的Enable: true
不过我不推荐这么做,因为今天准备更新这 ...

我想玩家被移动到那个新的聊天组之后,玩家还是可以在原来的聊天组聊天吗,还是说只能在新的那个聊天组进行聊天吗

TRCStudioDean
lumingjie98 发表于 2018-12-2 23:31
我想玩家被移动到那个新的聊天组之后,玩家还是可以在原来的聊天组聊天吗,还是说只能在新的那个聊天组进 ...

如果你将“Use-Permission”打开后,玩家将之后采取权限来分组,如果关掉,那么玩家被移动到新组,他就只会按照新组的格式聊天

1353359550
本帖最后由 1353359550 于 2018-12-10 08:31 编辑

楼主,插件的提示信息的换行符有问题,所有的\n都不会换行,不管是Linux还是Windows。服务端是PaperSpigot-1.12.1-b1204

TRCStudioDean
本帖最后由 迪安小弱渣 于 2019-1-25 22:20 编辑

3.0.0版本已开始制作,目前已更新3.0.0-SNAPSHOT-1,请及时更新(已在1月22号晚上做出决定,不更新SNAPSHOT-2,而是做完3.0.0后直接发布,防止测试版出现会导致难以挽回的Bug)


3.0.0正式版 预计26-27号发布 —— 2019/1/25 22:20

Ab123456cr
不错的插件,希望能坚持更新。支持!

TRCStudioDean
TRCStudioChatSystem 3.0.0 正式版已更新,记得及时下载

TRCStudioDean
Ab123456cr 发表于 2019-1-25 23:10
不错的插件,希望能坚持更新。支持!

3.0.0 正式版本已更新,记得及时下载

TRCStudioDean
1353359550 发表于 2018-12-10 08:23
楼主,插件的提示信息的换行符有问题,所有的\n都不会换行,不管是Linux还是Windows。服务端是PaperSpigot- ...

3.0.0 正式版本已更新,记得及时下载

TRCStudioDean
lumingjie98 发表于 2018-12-2 23:31
我想玩家被移动到那个新的聊天组之后,玩家还是可以在原来的聊天组聊天吗,还是说只能在新的那个聊天组进 ...

3.0.0 正式版本已更新,记得及时下载

Misoryan
建议在检测脏话的时候屏蔽一些标点符号
可以考虑一下使用正则表达式

2247302066
Vza来支持嗷

TRCStudioDean
刚刚修了一个Bug(强制使用情况下,Allow-ChatColor无法允许玩家使用彩字),请重新下载3.0.0.

帕帕武
如果mcbbs上的配置文件不乱吗就行了...实在是看不懂\噼里啪啦的这些乱码...不过原创插件表示支持

z1871649580
我觉得OK  规格一下玩家的方式

Desolation
哇 超级好的插件

TRCStudioDean
本帖最后由 迪安小弱渣 于 2019-2-6 23:07 编辑

已更新3.0.1,修复了一个小Bug,详情看日志,更新的时候直接覆盖掉jar文件就可以了,配置文件没有改动。

正在制作4.0.0,使插件兼容BungeeCord与添加其他新的功能,预计一周内完成。

可拉倒吧
这个插件简直就是城管啊,整个服务器都绿色健康了起来

TRCStudioDean
可拉倒吧 发表于 2019-2-7 00:50
这个插件简直就是城管啊,整个服务器都绿色健康了起来

谢谢支持

TRCStudioDean
3.0.2版本已更新,和3.0.1一样只是修了小Bug,更新的话直接替换原文件即可,配置文件无改动

TRCStudioDean
3.0.3版本已更新,修复了个Bug,直接替换原文件即可

TRCStudioDean
已更新至3.1.0-SNAPSHOT-1版本,配置文件稍有改动,更新的时候注意一下。
另外,有个朋友私下问我说关于脏话屏蔽要如何让他只屏蔽掉关键词而不是整句话一起屏蔽,我的回答是 你可以删除Anti-Key-Words内的对应关键词,并使用Words-Replace,将关键词替换成其他的文字。

小鱼人LFM
很好的插件,等待支持bungeecord

q13873083397
使用CMI的话,关闭了CMI默认的聊天格式,此插件的聊天格式不起作用,脏话屏蔽这些都正常运行,希望作者能处理一下。

TRCStudioDean
q13873083397 发表于 2019-3-4 15:13
使用CMI的话,关闭了CMI默认的聊天格式,此插件的聊天格式不起作用,脏话屏蔽这些都正常运行,希望作者能处 ...

请将Config.yml内的Mandatory-use: false改为true

Sxy2035
66666666666666666

kuangshijs
感谢分享,正需要这样的插件

MC丶小说
        MCBBS有你更精彩~

TRCStudioDean
更新至3.3.3版本,修复了两个Bug

RiceC
感谢分享!

下一页 最后一页