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:
Download Link: https://www.dropbox.com/s/n4he8d1x0fu9zck/MuteChat.jar?dl=0
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:
