Hot Summer Deals are Here!
Celebrate with up to 99% off on 17,600 resources
02
Days
06
Hours
05
Mins
41
Secs

Simple Mute Chat

Status
This thread has been locked.

KaraziaTrue

Feedback score
0
Posts
4
Reactions
2
Resources
0
Hello, I made a simple plugin that mutes the server chat and allows players with mutechat.bypass to talk while the whole server chat is muted. I just started learning Java so it might not be the best code. I just wanted to know and check if there's anything wrong with my code or things I should change. I'll also add a download link if anyone wants to test it or use it.
Code:
Code:
package me.KaraziaTrue.MuteChat;

import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.AsyncPlayerChatEvent;
import org.bukkit.plugin.PluginManager;
import org.bukkit.plugin.java.JavaPlugin;

public class Main extends JavaPlugin implements Listener {
  
    private boolean isChatMuted = false;
  
    public void onEnable() {
        loadConfig();
      
        PluginManager pm = Bukkit.getServer().getPluginManager();
        pm.registerEvents(this, this);
    }
  
    public void onDisable() {
        saveConfig();
    }
  
    public void loadConfig() {
        getConfig().addDefault("Broadcast-chatMuted", "&eChat has been muted by %player%");
        getConfig().addDefault("Broadcast-unmuteChat", "&eChat has been unmuted by %player%");
        getConfig().options().copyDefaults(true);
        saveConfig();
    }
  
    @Override
    public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
        if (!(sender instanceof Player)) {
            sender.sendMessage("You are not a Player!");
            return true;
        }
      
        Player p = (Player) sender;
      
        if (cmd.getName().equalsIgnoreCase("mutechat")) {
            if (p.hasPermission("mutechat.use")) {
                if (!isChatMuted) {
                    isChatMuted = true;
                    String muteChat = getConfig().getString("Broadcast-chatMuted");
                    String muteMessage = muteChat.replaceAll("%player%", p.getName());
                    Bukkit.broadcastMessage(ChatColortColor.translateAlternateColorCodes('&', muteMessage));
                    return true;
                }
                isChatMuted = false;
                String unmuteChat = getConfig().getString("Broadcast-unmuteChat");
                String unmuteMessage = unmuteChat.replaceAll("%player%", p.getName());
                Bukkit.broadcastMessage(ChatColor.translateAlternateColorCodes('&', unmuteMessage));
                return true;
            }
            p.sendMessage(ChatColor.RED + "Error! You do not have permission to use this command!");
            return true;
        }
        return false;
    }
  
    @EventHandler
    public void onPlayerChat(AsyncPlayerChatEvent event) {
        if (isChatMuted) {
            if (!event.getPlayer().hasPermission("mutechat.bypass")) {
                event.setCancelled(true);
                event.getPlayer().sendMesssage(ChatColor.RED + "Chat is currently muted!");
                return;
            }
        }
        return;
    }
}

Download Link: https://www.dropbox.com/s/n4he8d1x0fu9zck/MuteChat.jar?dl=0
 
Last edited:
PebbleHost
High performance, consistent uptime and fast support. Minecraft hosting that just works.

Ireland

kek
Supreme
Feedback score
1
Posts
956
Reactions
423
Resources
0
Nice :)
 
Status
This thread has been locked.
Top