2020-06-27 13:30:50 -05:00

66 lines
2.4 KiB
Java

package mineverse.Aust1n46.chat.command.chat;
import org.bukkit.ChatColor;
import org.bukkit.command.CommandSender;
import mineverse.Aust1n46.chat.api.MineverseChatAPI;
import mineverse.Aust1n46.chat.api.MineverseChatPlayer;
import mineverse.Aust1n46.chat.channel.ChatChannel;
import mineverse.Aust1n46.chat.command.MineverseCommand;
import mineverse.Aust1n46.chat.localization.LocalizedMessage;
public class Kickchannel extends MineverseCommand {
public Kickchannel(String name) {
super(name);
}
@Override
public void execute(CommandSender sender, String command, String[] args) {
if(sender.hasPermission("venturechat.kickchannel")) {
if(args.length < 2) {
sender.sendMessage(LocalizedMessage.COMMAND_INVALID_ARGUMENTS.toString()
.replace("{command}", "/kickchannel")
.replace("{args}", "[player] [channel]"));
return;
}
MineverseChatPlayer player = MineverseChatAPI.getMineverseChatPlayer(args[0]);
if(player == null) {
sender.sendMessage(LocalizedMessage.PLAYER_OFFLINE.toString()
.replace("{args}", args[0]));
return;
}
ChatChannel channel = ChatChannel.getChannel(args[1]);
if(channel == null) {
sender.sendMessage(LocalizedMessage.INVALID_CHANNEL.toString()
.replace("{args}", args[1]));
return;
}
sender.sendMessage(LocalizedMessage.KICK_CHANNEL.toString()
.replace("{player}", args[0])
.replace("{channel_color}", channel.getColor() + "")
.replace("{channel_name}", channel.getName()));
player.removeListening(channel.getName());
if(player.isOnline()) {
player.getPlayer().sendMessage(LocalizedMessage.LEAVE_CHANNEL.toString()
.replace("{channel_color}", channel.getColor() + "")
.replace("{channel_name}", channel.getName()));
}
else
player.setModified(true);
if(player.getListening().size() == 0) {
player.setCurrentChannel(ChatChannel.getDefaultChannel());
if(player.isOnline()) {
player.getPlayer().sendMessage(LocalizedMessage.MUST_LISTEN_ONE_CHANNEL.toString());
player.getPlayer().sendMessage(LocalizedMessage.SET_CHANNEL.toString()
.replace("{channel_color}", ChatColor.valueOf(ChatChannel.getDefaultColor().toUpperCase()) + "")
.replace("{channel_name}", ChatChannel.getDefaultChannel().getName()));
}
else
player.setModified(true);
}
return;
}
sender.sendMessage(LocalizedMessage.COMMAND_NO_PERMISSION.toString());
}
}