mirror of
https://github.com/TotalFreedomMC/TF-EssentialsX.git
synced 2025-02-18 22:49:45 +00:00

Found using PMD and FindBugs. git-svn-id: https://svn.java.net/svn/essentials~svn/trunk@1553 e251c2fe-e539-e718-e476-b85c1f46cddb
105 lines
2.4 KiB
Java
105 lines
2.4 KiB
Java
package com.earth2me.essentials.commands;
|
|
|
|
import org.bukkit.Server;
|
|
import org.bukkit.command.CommandSender;
|
|
import org.bukkit.entity.Player;
|
|
import com.earth2me.essentials.User;
|
|
import com.earth2me.essentials.Util;
|
|
|
|
|
|
public class Commandnick extends EssentialsCommand
|
|
{
|
|
public Commandnick()
|
|
{
|
|
super("nick");
|
|
}
|
|
|
|
@Override
|
|
public void run(Server server, User user, String commandLabel, String[] args) throws Exception
|
|
{
|
|
if (args.length < 1)
|
|
{
|
|
throw new NotEnoughArgumentsException();
|
|
}
|
|
|
|
if (args.length > 1)
|
|
{
|
|
if (!user.isAuthorized("essentials.nick.others"))
|
|
{
|
|
user.sendMessage(Util.i18n("nickOthersPermission"));
|
|
return;
|
|
}
|
|
|
|
setOthersNickname(server, user, args);
|
|
return;
|
|
}
|
|
|
|
|
|
String nick = args[0];
|
|
if ("off".equalsIgnoreCase(nick) || user.getName().equalsIgnoreCase(nick))
|
|
{
|
|
user.setDisplayName(user.getName());
|
|
user.setNickname(null);
|
|
user.sendMessage(Util.i18n("nickNoMore"));
|
|
return;
|
|
}
|
|
|
|
if (nick.matches("[^a-zA-Z_0-9]"))
|
|
{
|
|
user.sendMessage(Util.i18n("nickNamesAlpha"));
|
|
return;
|
|
}
|
|
|
|
for (Player p : server.getOnlinePlayers())
|
|
{
|
|
if (user == p)
|
|
{
|
|
continue;
|
|
}
|
|
String dn = p.getDisplayName().toLowerCase();
|
|
String n = p.getName().toLowerCase();
|
|
String nk = nick.toLowerCase();
|
|
if (nk.equals(dn) || nk.equals(n))
|
|
{
|
|
user.sendMessage(Util.i18n("nickInUse"));
|
|
return;
|
|
}
|
|
}
|
|
|
|
charge(user);
|
|
user.setDisplayName(ess.getSettings().getNicknamePrefix() + nick);
|
|
user.setNickname(nick);
|
|
user.sendMessage(Util.format("nickSet", user.getDisplayName() + "§7."));
|
|
}
|
|
|
|
@Override
|
|
public void run(Server server, CommandSender sender, String commandLabel, String[] args) throws Exception
|
|
{
|
|
if (args.length < 2)
|
|
{
|
|
throw new NotEnoughArgumentsException();
|
|
}
|
|
|
|
setOthersNickname(server, sender, args);
|
|
|
|
}
|
|
|
|
private void setOthersNickname(Server server, CommandSender sender, String[] args) throws Exception
|
|
{
|
|
User target = getPlayer(server, args, 0);
|
|
String nick = args[1];
|
|
if ("off".equalsIgnoreCase(nick) || target.getName().equalsIgnoreCase(nick))
|
|
{
|
|
target.setDisplayName(target.getName());
|
|
target.setNickname(null);
|
|
target.sendMessage(Util.i18n("nickNoMore"));
|
|
}
|
|
else
|
|
{
|
|
target.setDisplayName(ess.getSettings().getNicknamePrefix() + nick);
|
|
target.setNickname(nick);
|
|
target.sendMessage(Util.format("nickSet", target.getDisplayName() + "§7."));
|
|
}
|
|
sender.sendMessage(Util.i18n("nickChanged"));
|
|
}
|
|
}
|