MutingModule.java
package dev.aura.bungeechat.module;
import dev.aura.bungeechat.BungeeChat;
import dev.aura.bungeechat.command.MuteCommand;
import dev.aura.bungeechat.command.TempMuteCommand;
import dev.aura.bungeechat.command.UnmuteCommand;
import dev.aura.bungeechat.listener.MutingListener;
import net.md_5.bungee.api.ProxyServer;
import net.md_5.bungee.api.plugin.PluginManager;
public class MutingModule extends Module {
private MuteCommand muteCommand;
private TempMuteCommand tempMuteCommand;
private UnmuteCommand unmuteCommand;
private MutingListener mutingListener;
private final String[] mutePlugins = {
"AdvancedBan", "BungeeBan", "BungeeSystem", "BungeeAdminTools", "Banmanager"
};
@Override
public String getName() {
return "Muting";
}
@Override
public boolean isEnabled() {
if (!super.isEnabled()) return false;
if (getModuleSection().getBoolean("disableWithOtherMutePlugins")) {
PluginManager pm = ProxyServer.getInstance().getPluginManager();
for (String mutePlugin : mutePlugins) {
if (pm.getPlugin(mutePlugin) != null) return false;
}
}
return true;
}
@Override
public void onEnable() {
muteCommand = new MuteCommand(this);
tempMuteCommand = new TempMuteCommand(this);
unmuteCommand = new UnmuteCommand(this);
mutingListener = new MutingListener(this);
ProxyServer.getInstance()
.getPluginManager()
.registerCommand(BungeeChat.getInstance(), muteCommand);
ProxyServer.getInstance()
.getPluginManager()
.registerCommand(BungeeChat.getInstance(), tempMuteCommand);
ProxyServer.getInstance()
.getPluginManager()
.registerCommand(BungeeChat.getInstance(), unmuteCommand);
ProxyServer.getInstance()
.getPluginManager()
.registerListener(BungeeChat.getInstance(), mutingListener);
}
@Override
public void onDisable() {
ProxyServer.getInstance().getPluginManager().unregisterCommand(muteCommand);
ProxyServer.getInstance().getPluginManager().unregisterCommand(tempMuteCommand);
ProxyServer.getInstance().getPluginManager().unregisterCommand(unmuteCommand);
ProxyServer.getInstance().getPluginManager().unregisterListener(mutingListener);
}
}