Added /tag clearall and /tag clear <name>

This commit is contained in:
JeromSar 2013-08-12 12:50:39 +02:00
parent f3ac19a616
commit 69fd3566af
3 changed files with 91 additions and 31 deletions

View File

@ -1,5 +1,5 @@
#Mon, 12 Aug 2013 12:25:56 +0200 #Mon, 12 Aug 2013 12:49:58 +0200
program.VERSION=2.22 program.VERSION=2.22
program.BUILDNUM=400 program.BUILDNUM=403
program.BUILDDATE=08/12/2013 12\:25 PM program.BUILDDATE=08/12/2013 12\:49 PM

View File

@ -1,3 +1,3 @@
#Build Number for ANT. Do not edit! #Build Number for ANT. Do not edit!
#Mon Aug 12 12:25:56 CEST 2013 #Mon Aug 12 12:49:58 CEST 2013
build.number=401 build.number=404

View File

@ -5,12 +5,13 @@ import java.util.List;
import me.StevenLawson.TotalFreedomMod.TFM_PlayerData; import me.StevenLawson.TotalFreedomMod.TFM_PlayerData;
import me.StevenLawson.TotalFreedomMod.TFM_SuperadminList; import me.StevenLawson.TotalFreedomMod.TFM_SuperadminList;
import me.StevenLawson.TotalFreedomMod.TFM_Util; import me.StevenLawson.TotalFreedomMod.TFM_Util;
import me.StevenLawson.TotalFreedomMod.TotalFreedomMod;
import org.bukkit.command.Command; import org.bukkit.command.Command;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
@CommandPermissions(level = AdminLevel.OP, source = SourceType.ONLY_IN_GAME) @CommandPermissions(level = AdminLevel.OP, source = SourceType.BOTH)
@CommandParameters(description = "Sets yourself a prefix", usage = "/<command> [<prefix> | off]") @CommandParameters(description = "Sets yourself a prefix", usage = "/<command> <<prefix> | off | clear <player> | clearall>")
public class Command_tag extends TFM_Command public class Command_tag extends TFM_Command
{ {
@ -19,40 +20,99 @@ public class Command_tag extends TFM_Command
@Override @Override
public boolean run(CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole) public boolean run(CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole)
{ {
if (args.length != 1) if (args.length == 1)
{ {
return false;
}
if (TFM_Util.isStopCommand(args[0])) if ("clearall".equals(args[0]))
{
TFM_PlayerData.getPlayerData(sender_p).setTag(null);
playerMsg("Removed your tag.");
return true;
}
if (args[0].length() > 15)
{
playerMsg("That tag is too long.");
return true;
}
if (!TFM_SuperadminList.isUserSuperadmin(sender))
{
for (String word : FORBIDDEN_WORDS)
{ {
if (args[0].toLowerCase().contains(word)) if (!TFM_SuperadminList.isUserSuperadmin(sender))
{ {
playerMsg("That tag contains a forbidden word."); playerMsg(TotalFreedomMod.MSG_NO_PERMS);
return true; return true;
} }
int count = 0;
for (Player p : server.getOnlinePlayers())
{
TFM_PlayerData playerdata = TFM_PlayerData.getPlayerData(p);
if (playerdata.getTag() != null)
{
count++;
TFM_PlayerData.getPlayerData(p).setTag(null);
}
}
playerMsg(count + " tag(s) removed.");
return true;
} }
if (senderIsConsole)
{
playerMsg("This can only be used by players.");
return true;
}
if (TFM_Util.isStopCommand(args[0]))
{
TFM_PlayerData.getPlayerData(sender_p).setTag(null);
playerMsg("Removed your tag.");
return true;
}
if (args[0].length() > 15)
{
playerMsg("That tag is too long.");
return true;
}
if (!TFM_SuperadminList.isUserSuperadmin(sender))
{
for (String word : FORBIDDEN_WORDS)
{
if (args[0].toLowerCase().contains(word))
{
playerMsg("That tag contains a forbidden word.");
return true;
}
}
}
TFM_PlayerData.getPlayerData(sender_p).setTag(args[0]);
playerMsg("Tag set.");
return true;
} }
else if (args.length == 2)
{
if ("clear".equals(args[0]))
{
if (!TFM_SuperadminList.isUserSuperadmin(sender))
{
playerMsg(TotalFreedomMod.MSG_NO_PERMS);
return true;
}
TFM_PlayerData.getPlayerData(sender_p).setTag(args[0]); final Player p;
playerMsg("Tag set."); try
{
p = getPlayer(args[1]);
}
catch (CantFindPlayerException ex)
{
playerMsg(ex.getMessage());
return true;
}
return true; TFM_PlayerData.getPlayerData(p).setTag(null);
playerMsg("Removed " + p.getName() + "'s tag.");
return true;
}
return false;
}
return false;
} }
} }