/* * PwnChat -- A Bukkit/Spigot plugin for multi-channel cross-server (via bungeecord) chat. * Copyright (c) 2013 Pwn9.com. Sage905 <ptoal@takeflight.ca> * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 3 * of the License, or (at your option) any later version. */ package com.pwn9.pwnchat.commands.subcommands; import com.pwn9.pwnchat.*; import com.pwn9.pwnchat.commands.SubCommand; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; import java.util.List; /** * List Channels * User: ptoal * Date: 13-07-19 * Time: 6:22 PM * To change this template use File | Settings | File Templates. */ public class silence extends SubCommand { public silence(PwnChat instance) { super(instance,"silence"); setUsage("silence <channel>"); setDescription("Silence a channel."); setPermission("pwnchat.silence"); } public boolean execute(CommandSender sender, String commandName, String[] args) { if (!(sender instanceof Player)) { sender.sendMessage(PwnChat.PREFIX + " Only players can execute this command."); return true; } if (args.length < 2) { sender.sendMessage(getUsage()); return true; } Channel channel = ChannelManager.getInstance().getChannel(args[1].toLowerCase()); if (channel == null ) { sender.sendMessage(PwnChat.PREFIX + " Channel named: " + args[1] + " does not exist!"); return true; } if (channel == ChannelManager.getInstance().getLocal()) { sender.sendMessage(PwnChat.PREFIX + " You can't silence the local server channel!"); return true; } Chatter chatter = ChatterManager.getInstance().getOrCreate((Player) sender); if (channel.hasChatter(chatter)) { if (chatter.isFocused(channel)) { chatter.setFocus(ChannelManager.getInstance().getLocal()); sender.sendMessage(PwnChat.PREFIX + " Changing talk channel to local server channel."); } channel.removeChatter(chatter); sender.sendMessage(PwnChat.PREFIX + " You will no longer hear chat from the '" + channel.getName() + "' channel."); } else { sender.sendMessage(PwnChat.PREFIX + " You weren't listening to the channel named: " + channel.getName() + "! Nothing done."); } return true; } @Override public List<String> tabComplete(CommandSender sender, String alias, String[] args) { return ChannelManager.getInstance().getCompletions(sender, args); } }