TFGuilds/src/main/java/me/totalfreedom/tfguilds/command/DisbandSubcommand.java

78 lines
2.7 KiB
Java
Raw Normal View History

2020-07-13 00:40:11 +00:00
package me.totalfreedom.tfguilds.command;
import me.totalfreedom.tfguilds.Common;
import me.totalfreedom.tfguilds.guild.Guild;
import me.totalfreedom.tfguilds.util.GLog;
2020-07-13 00:40:11 +00:00
import me.totalfreedom.tfguilds.util.GUtil;
import org.apache.commons.lang.StringUtils;
import org.bukkit.Bukkit;
2020-07-13 00:40:11 +00:00
import org.bukkit.ChatColor;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.command.ConsoleCommandSender;
import org.bukkit.entity.Player;
public class DisbandSubcommand extends Common implements CommandExecutor
{
@Override
public boolean onCommand(CommandSender sender, Command command, String label, String[] args)
{
2020-07-15 00:20:25 +00:00
if (args.length > 2)
{
sender.sendMessage(tl(PREFIX + "Proper usage: /g disband [name]"));
return true;
}
2020-07-13 00:40:11 +00:00
if (args.length == 2)
{
if (!plugin.bridge.isAdmin(sender))
{
sender.sendMessage(NO_PERMS);
return true;
}
Guild guild = Guild.getGuild(GUtil.flatten(StringUtils.join(args, " ", 1, args.length)));
2020-07-13 00:40:11 +00:00
if (guild == null)
{
sender.sendMessage(ChatColor.RED + "That guild doesn't exist!");
return true;
}
2020-07-13 00:40:11 +00:00
String n = guild.getName();
GLog.info("Removing guilds.yml data for " + n);
2020-07-13 00:40:11 +00:00
guild.disband();
GLog.info(sender.getName() + " deleted guild " + guild.getName());
2020-07-13 00:40:11 +00:00
sender.sendMessage(tl(PREFIX + "Disbanded \"" + GUtil.colorize(n) + "%p%\"."));
broadcast(GUtil.colorize(tl("%p%" + sender.getName() + " has disbanded guild %p%&l" + guild.getName())));
2020-07-13 00:40:11 +00:00
return true;
}
2020-07-13 00:40:11 +00:00
if (sender instanceof ConsoleCommandSender)
{
sender.sendMessage(NO_PERMS);
return true;
}
Player player = (Player)sender;
2020-07-13 00:40:11 +00:00
if (!Guild.isInGuild(player))
{
sender.sendMessage(ChatColor.RED + "You aren't in a guild!");
return true;
}
2020-07-13 00:40:11 +00:00
Guild guild = Guild.getGuild(player);
if (!guild.getOwner().equals(player.getName()))
{
sender.sendMessage(ChatColor.RED + "You are not the owner of this guild!");
return true;
}
GLog.info("Removing guilds.yml data for " + guild.getName());
2020-07-13 00:40:11 +00:00
guild.disband();
GLog.info(player.getName() + " deleted guild " + guild.getName());
2020-07-13 00:40:11 +00:00
sender.sendMessage(tl(PREFIX + "You have disbanded your guild!"));
broadcast(GUtil.colorize(tl("%p%&l" + guild.getName() + "%p% has been disbanded")));
2020-07-13 00:40:11 +00:00
return true;
}
}