快乐小方
本帖最后由 快乐小方 于 2020-3-8 07:10 编辑

插件介绍

(其实已经30k下载了,作者还没换这个图)
这是一个带有GUI的高效聊天管理插件,它支持清理全局/个人的聊天记录、禁止全局/个人发言。
本插件带有 API ,详情请阅读“API 支持”章节

插件使用教程

安装插件
  • 下载插件并放置在插件目录
  • 开启服务器
  • 修改 config.yml 以及 lang.yml 文件
  • 重载插件

使用 /clearchat reload 即可重载插件

升级插件
如果你在使用低版本必须使用下面的方法升级到 3.0 版本
  • 删除旧的 ClearChat.jar 与 ClearChat 目录
  • 下载新版本 ClearChat ,放入插件目录
  • 开启服务器
  • 修改 config.yml 以及 lang.yml 文件
  • 重载插件

使用 /clearchat reload 即可重载插件

修改语言文件
  • lang.yml 汉化版


修改配置文件
  • 汉化版配置文件

  • 部分说明
    login -> clearOnLogin :加入服务器是否清除聊天栏



命令与权限

插件的主命令为 /clearchat,但也可以使用以下指令:
  • /cc

命令与权限列表
指令权限节点
clearchat
clearchat reloadclearchat.reload
clearchat mutechatclearchat.commands.mutechat
clearchat mutechat (global)clearchat.commands.mutechat.global
clearchat mutechat (personal) [player]clearchat.commands.mutechat.personal
clearchat globalclearchat.commands.global
clearchat global -sclearchat.commands.global.silent
clearchat global -aclearchat.commands.global.anonymous
clearchat personal [-m]clearchat.commands.personal
clearchat gui
  • () - 必填参数
  • [] - 可选参数
  • -s - 不发出提示消息
  • -a - 匿名
  • -m - 不发出提示消息


其它权限节点
权限节点描述
clearchat.mutechat.bypass如果玩家已将开启静音模式或全局开静音模式,则具有此权限节点的玩家仍然可以聊天
clearchat.custom在配置文件中可以自定义权限节点
clearchat.global.bypass如果具有此权限节点,删除全局聊天记录时将不受影响



相关截图





下载插件

ClearChat.jar (149.45 KB, 下载次数: 5)
支持作者请前往SpigotMC下载
https://www.spigotmc.org/resources/clearchat-3-2-custom-gui-placeholderapi-support-road-to-50k.3031/


更新日志



API 支持

本插件提供 API ,相关内容正在翻译,详情请前往GitHub查看:
  • 导入插件
    首先,你需要把 ClearChat 3.0 导入进你的插件:
    • 下载 ClearChat 插件
    • 打开 IDE 导入
      Eclipse:右键你的项目 > 点击 Properties >点击 Java Build Path 选项卡 > 点击 Add External Jars... > 找到下载的文件点击 Open
    • 创建一个实例
      在你的主类顶部添加
      1. public CCAPI ccApi = null;
      复制代码
      在 onEnable( ) 中添加
      1.    if(Bukkit.getPluginManager().getPlugin("ClearChat").isEnabled()){
      2.            api = ClearChat.getApi(plugin);
      3.    }else{
      4.            Bukkit.getPluginManager().disablePlugin(plugin);
      5.    }
      复制代码
      开始使用 API 吧!
  • 使用 API
    你可以使用 API 达到 ClearChat 插件能做到的一切,例如:清除聊天记录、开关静音模式
  • 示例项目
    1.    @EventHandler
    2.    public void onChat(AsyncPlayerChatEvent e){
    3.            // 这只是一个示例,建议你自己写一个事件
    4.            if(e.getMessage().contains("BAD WORD")) {
    5.                    api.clearChatGlobal(100, "一个玩家触发了敏感词!");
    6.            }
    7.    }
    复制代码
    完整代码:
    1. package me.Phil14052.Codetest;

    2. import me.phil14052.ClearChat3_0.ClearChat;
    3. import me.phil14052.ClearChat3_0.API.CCAPI;

    4. import org.bukkit.Bukkit;
    5. import org.bukkit.event.EventHandler;
    6. import org.bukkit.event.Listener;
    7. import org.bukkit.event.player.AsyncPlayerChatEvent;
    8. import org.bukkit.plugin.java.JavaPlugin;

    9. public class Codetest extends JavaPlugin implements Listener{
    10.         //The plugin instance
    11.         private static Codetest plugin;
    12.         //The api instance:
    13.         private CCAPI api = null;
    14.         
    15.         @Override
    16.         public void onEnable(){
    17.                 plugin = this;
    18.                 Bukkit.getPluginManager().registerEvents(this, this);
    19.                 //检查 ClearChat插件是否启用:
    20.                 if(Bukkit.getPluginManager().getPlugin("ClearChat").isEnabled()){
    21.                         api = ClearChat.getApi(plugin);
    22.                 }else{
    23.                         Bukkit.getPluginManager().disablePlugin(plugin);
    24.                 }
    25.         }

    26.         @Override
    27.         public void onDisable(){
    28.                 plugin = null;
    29.         }
    30.         
    31.         @EventHandler
    32.         public void onChat(AsyncPlayerChatEvent e){
    33.                 // 这只是一个示例,建议你自己写一个事件
    34.                 if(e.getMessage().contains("BAD WORD")) {
    35.                     // 使用 100 个空行删除所有人的聊天栏,并输出“一个玩家触发了敏感词!”        
    36.                     api.clearChatGlobal(100, "一个玩家触发了敏感词!");
    37.                 }
    38.         }
    39.         
    40.         // 获取 Instance
    41.         public static Codetest getInstance(){
    42.                 return plugin;
    43.         }
    44.         
    45.         
    46.         
    47. }
    复制代码


更多信息作者正在撰写~

  • API Method
    Method描述
    clearChatGlobal()删除全局聊天记录
    clearChatGlobal(boolean inGamePlayersOnly)删除全局聊天记录
    clearChatGlobal(int lines)删除全局聊天记录
    clearChatGlobal(boolean inGamePlayersOnly, int lines)删除全局聊天记录
    clearChatGlobal(boolean inGamePlayersOnly, String message)删除全局聊天记录
    clearChatGlobal(String message)删除全局聊天记录
    clearChatGlobal(int lines, String message)删除全局聊天记录
    clearChatGlobal(boolean inGamePlayersOnly, int lines, String message)删除全局聊天记录
    clearChatPersonal(Player p)删除玩家 p 的聊天记录
    clearChatPersonal(Player p, String message)删除玩家 p 的聊天记录
    clearChatPersonal(Player p, int Lines)删除玩家 p 的聊天记录
    clearChatPersonal(Player p, int Lines, String message)删除玩家 p 的聊天记录
    toggleGlobalMute()切换全局聊天是否开启静音模式
    muteGlobalMute()打开全局静音模式
    unMuteGlobalMute()取消全局静音模式
    isGlobalChatMuted()如果已打开全局静音模式,则返回 true
    togglePlayerChat(Player p)切换玩家是否开启静音模式
    disablePlayerChat(Player p)打开玩家 p 的静音模式
    enablePlayerChat(Player p)关闭玩家 p 的静音模式
    isPlayerChatDisabled(Player p)如果玩家 p 处于静音模式,则返回 true
    getAutoClearInterval()返回自动清除聊天栏时间间隔
    setAutoClearInterval(int interval)设置自动清除聊天栏时间间隔
    toggleAutoClear()切换是否自动清除聊天栏
    isAutoClearEnabled()如果启用自动清除聊天栏,则返回 true
    setAutoClearEnabled(boolean value)设置是否启用清除聊天栏
  • 自定义事件
    ChatToggleEvent 静音模式时调用
    Cancellable:True
    Method描述
    getChatToggleType()返回 enum 类型的数据“ ChatToggleType ”
    getPlayers()返回受到影响的玩家(可返回 null )
    getFirstPlayer()返回第一个受到影响的玩家


    GlobalChatClearEvent 删除全局聊天记录时调用
    Cancellable:True
    Method描述
    getPlayers()返回受到影响的玩家(可返回 null )
    getLines()返回删除的行数
    setLines(int lines)设置删除的行数
    isWithMessage()如果清除聊天栏时带有提示,则返回 true

    PersonalChatClearEvent 删除全局聊天记录时调用
    Cancellable:True
    Method描述
    getPlayers()返回受到影响的玩家
    getLines()返回删除的行数
    setLines(int lines)设置删除的行数
    isWithMessage()如果清除聊天栏时带有提示,则返回 true




相关链接



823932650
是不支持1.7.10 Thermos端么,我这用不了

快乐小方
823932650 发表于 2020-3-10 21:47
是不支持1.7.10 Thermos端么,我这用不了

Spigot或者bukkit端才可以用
其他端不一定能用

823932650
快乐小方 发表于 2020-3-10 22:29
Spigot或者bukkit端才可以用
其他端不一定能用

好吧,谢了,支持一下

3062778678
不错不错 辛苦了

V_LING
超级棒的插件

老火星了
我觉得这个貌似没有什么实际作用
(禁言除外)
别打我

Kkforkd
这插件不错不错

YisaKu
这个创意不错呀!值得学习