Cleanup player argument matching in loops

Cleanup ess cleanup timestamp matching
This commit is contained in:
KHobbits 2013-05-05 07:05:43 +01:00
parent 2d70bb19f7
commit 162b67aaa6
10 changed files with 212 additions and 156 deletions

View file

@ -237,6 +237,7 @@ public class Commandessentials extends EssentialsCommand
@Override @Override
public void run() public void run()
{ {
Long currTime = System.currentTimeMillis();
for (String u : userMap.getAllUniqueUsers()) for (String u : userMap.getAllUniqueUsers())
{ {
final User user = ess.getUserMap().getUser(u); final User user = ess.getUserMap().getUser(u);
@ -246,8 +247,18 @@ public class Commandessentials extends EssentialsCommand
} }
int ban = user.getBanReason().equals("") ? 0 : 1; int ban = user.getBanReason().equals("") ? 0 : 1;
long lastLog = user.getLastLogout(); long lastLog = user.getLastLogout();
long timeDiff = System.currentTimeMillis() - lastLog; if (lastLog == 0)
{
lastLog = user.getLastLogin();
}
if (lastLog == 0)
{
user.setLastLogin(currTime);
}
long timeDiff = currTime - lastLog;
long milliDays = daysArg * 24L * 60L * 60L * 1000L; long milliDays = daysArg * 24L * 60L * 60L * 1000L;
int homeCount = user.getHomes().size(); int homeCount = user.getHomes().size();
double moneyCount = user.getMoney().doubleValue(); double moneyCount = user.getMoney().doubleValue();

View file

@ -36,7 +36,12 @@ public class Commandext extends EssentialsCommand
return; return;
} }
extinguishPlayers(server, user, commandLabel); if (args[0].trim().length() < 2)
{
throw new Exception(_("playerNotFound"));
}
extinguishPlayers(server, user, args[0]);
} }
private void extinguishPlayers(final Server server, final CommandSender sender, final String name) throws Exception private void extinguishPlayers(final Server server, final CommandSender sender, final String name) throws Exception

View file

@ -21,12 +21,23 @@ public class Commandfeed extends EssentialsCommand
{ {
if (args.length > 0 && user.isAuthorized("essentials.feed.others")) if (args.length > 0 && user.isAuthorized("essentials.feed.others"))
{ {
if (args[0].trim().length() < 2)
{
throw new Exception(_("playerNotFound"));
}
if (!user.isAuthorized("essentials.heal.cooldown.bypass"))
{
user.healCooldown();
}
feedOtherPlayers(server, user, args[0]); feedOtherPlayers(server, user, args[0]);
return;
} }
else
if (!user.isAuthorized("essentials.heal.cooldown.bypass"))
{ {
feedPlayer(user, user); user.healCooldown();
} }
feedPlayer(user, user);
} }
@Override @Override

View file

@ -41,12 +41,20 @@ public class Commandfly extends EssentialsCommand
} }
else if (user.isAuthorized("essentials.fly.others")) else if (user.isAuthorized("essentials.fly.others"))
{ {
if (args[0].trim().length() < 2)
{
throw new Exception(_("playerNotFound"));
}
flyOtherPlayers(server, user, args); flyOtherPlayers(server, user, args);
return; return;
} }
} }
else if (args.length == 2 && user.isAuthorized("essentials.fly.others")) else if (args.length == 2 && user.isAuthorized("essentials.fly.others"))
{ {
if (args[0].trim().length() < 2)
{
throw new Exception(_("playerNotFound"));
}
flyOtherPlayers(server, user, args); flyOtherPlayers(server, user, args);
return; return;
} }

View file

@ -29,8 +29,12 @@ public class Commandgod extends EssentialsCommand
@Override @Override
protected void run(final Server server, final User user, final String commandLabel, final String[] args) throws Exception protected void run(final Server server, final User user, final String commandLabel, final String[] args) throws Exception
{ {
if (args.length > 0 && args[0].trim().length() > 2 && user.isAuthorized("essentials.god.others")) if (args.length > 0 && user.isAuthorized("essentials.god.others"))
{ {
if (args[0].trim().length() < 2)
{
throw new Exception(_("playerNotFound"));
}
godOtherPlayers(server, user, args); godOtherPlayers(server, user, args);
return; return;
} }

View file

@ -24,6 +24,10 @@ public class Commandheal extends EssentialsCommand
if (args.length > 0 && user.isAuthorized("essentials.heal.others")) if (args.length > 0 && user.isAuthorized("essentials.heal.others"))
{ {
if (args[0].trim().length() < 2)
{
throw new Exception(_("playerNotFound"));
}
if (!user.isAuthorized("essentials.heal.cooldown.bypass")) if (!user.isAuthorized("essentials.heal.cooldown.bypass"))
{ {
user.healCooldown(); user.healCooldown();

View file

@ -43,6 +43,11 @@ public class Commandlightning extends EssentialsCommand
} }
} }
if (args[0].trim().length() < 2)
{
throw new Exception(_("playerNotFound"));
}
final List<Player> matchedPlayers = server.matchPlayer(args[0]); final List<Player> matchedPlayers = server.matchPlayer(args[0]);
for (Player matchPlayer : matchedPlayers) for (Player matchPlayer : matchedPlayers)
{ {

View file

@ -11,173 +11,173 @@ import org.bukkit.entity.Player;
public class Commandpweather extends EssentialsCommand public class Commandpweather extends EssentialsCommand
{ {
public static final Set<String> getAliases = new HashSet<String>(); public static final Set<String> getAliases = new HashSet<String>();
public static final Map<String, WeatherType> weatherAliases = new HashMap<String, WeatherType>(); public static final Map<String, WeatherType> weatherAliases = new HashMap<String, WeatherType>();
static static
{ {
getAliases.add("get"); getAliases.add("get");
getAliases.add("list"); getAliases.add("list");
getAliases.add("show"); getAliases.add("show");
getAliases.add("display"); getAliases.add("display");
weatherAliases.put("sun", WeatherType.CLEAR); weatherAliases.put("sun", WeatherType.CLEAR);
weatherAliases.put("clear", WeatherType.CLEAR); weatherAliases.put("clear", WeatherType.CLEAR);
weatherAliases.put("storm", WeatherType.DOWNFALL); weatherAliases.put("storm", WeatherType.DOWNFALL);
weatherAliases.put("thunder", WeatherType.DOWNFALL); weatherAliases.put("thunder", WeatherType.DOWNFALL);
} }
public Commandpweather() public Commandpweather()
{ {
super("pweather"); super("pweather");
} }
@Override @Override
public void run(final Server server, final CommandSender sender, final String commandLabel, final String[] args) throws Exception public void run(final Server server, final CommandSender sender, final String commandLabel, final String[] args) throws Exception
{ {
// Which Players(s) / Users(s) are we interested in? // Which Players(s) / Users(s) are we interested in?
String userSelector = null; String userSelector = null;
if (args.length == 2) if (args.length == 2)
{ {
userSelector = args[1]; userSelector = args[1];
} }
Set<User> users = getUsers(server, sender, userSelector); Set<User> users = getUsers(server, sender, userSelector);
if (args.length == 0) if (args.length == 0)
{ {
getUsersWeather(sender, users); getUsersWeather(sender, users);
return; return;
} }
if (getAliases.contains(args[0])) if (getAliases.contains(args[0]))
{ {
getUsersWeather(sender, users); getUsersWeather(sender, users);
return; return;
} }
User user = ess.getUser(sender); User user = ess.getUser(sender);
if (user != null && (!users.contains(user) || users.size() > 1)&& !user.isAuthorized("essentials.pweather.others")) if (user != null && (!users.contains(user) || users.size() > 1) && !user.isAuthorized("essentials.pweather.others"))
{ {
user.sendMessage(_("pWeatherOthersPermission")); user.sendMessage(_("pWeatherOthersPermission"));
return; return;
} }
setUsersWeather(sender, users, args[0].toLowerCase()); setUsersWeather(sender, users, args[0].toLowerCase());
} }
/** /**
* Used to get the time and inform * Used to get the time and inform
*/ */
private void getUsersWeather(final CommandSender sender, final Collection<User> users) private void getUsersWeather(final CommandSender sender, final Collection<User> users)
{ {
if (users.size() > 1) if (users.size() > 1)
{ {
sender.sendMessage(_("pWeatherPlayers")); sender.sendMessage(_("pWeatherPlayers"));
} }
for (User user : users) for (User user : users)
{ {
if (user.getPlayerWeather() == null) if (user.getPlayerWeather() == null)
{ {
sender.sendMessage(_("pWeatherNormal", user.getName())); sender.sendMessage(_("pWeatherNormal", user.getName()));
} }
else else
{ {
sender.sendMessage(_("pWeatherCurrent", user.getName(), user.getPlayerWeather().toString().toLowerCase(Locale.ENGLISH))); sender.sendMessage(_("pWeatherCurrent", user.getName(), user.getPlayerWeather().toString().toLowerCase(Locale.ENGLISH)));
} }
} }
} }
/** /**
* Used to set the time and inform of the change * Used to set the time and inform of the change
*/ */
private void setUsersWeather(final CommandSender sender, final Collection<User> users, final String weatherType ) throws Exception private void setUsersWeather(final CommandSender sender, final Collection<User> users, final String weatherType) throws Exception
{ {
final StringBuilder msg = new StringBuilder(); final StringBuilder msg = new StringBuilder();
for (User user : users) for (User user : users)
{ {
if (msg.length() > 0) if (msg.length() > 0)
{ {
msg.append(", "); msg.append(", ");
} }
msg.append(user.getName()); msg.append(user.getName());
} }
if (weatherType.equalsIgnoreCase("reset")) if (weatherType.equalsIgnoreCase("reset"))
{ {
for (User user : users) for (User user : users)
{ {
user.resetPlayerWeather(); user.resetPlayerWeather();
} }
sender.sendMessage(_("pWeatherReset", msg)); sender.sendMessage(_("pWeatherReset", msg));
} }
else else
{ {
if (!weatherAliases.containsKey(weatherType)) if (!weatherAliases.containsKey(weatherType))
{ {
throw new NotEnoughArgumentsException(_("pWeatherInvalidAlias")); throw new NotEnoughArgumentsException(_("pWeatherInvalidAlias"));
} }
for (User user : users) for (User user : users)
{ {
user.setPlayerWeather(weatherAliases.get(weatherType)); user.setPlayerWeather(weatherAliases.get(weatherType));
} }
sender.sendMessage(_("pWeatherSet", weatherType, msg.toString())); sender.sendMessage(_("pWeatherSet", weatherType, msg.toString()));
} }
} }
/** /**
* Used to parse an argument of the type "users(s) selector" * Used to parse an argument of the type "users(s) selector"
*/ */
private Set<User> getUsers(final Server server, final CommandSender sender, final String selector) throws Exception private Set<User> getUsers(final Server server, final CommandSender sender, final String selector) throws Exception
{ {
final Set<User> users = new TreeSet<User>(new UserNameComparator()); final Set<User> users = new TreeSet<User>(new UserNameComparator());
// If there is no selector we want the sender itself. Or all users if sender isn't a user. // If there is no selector we want the sender itself. Or all users if sender isn't a user.
if (selector == null) if (selector == null)
{ {
final User user = ess.getUser(sender); final User user = ess.getUser(sender);
if (user == null) if (user == null)
{ {
for (Player player : server.getOnlinePlayers()) for (Player player : server.getOnlinePlayers())
{ {
users.add(ess.getUser(player)); users.add(ess.getUser(player));
} }
} }
else else
{ {
users.add(user); users.add(user);
} }
return users; return users;
} }
// Try to find the user with name = selector // Try to find the user with name = selector
User user = null; User user = null;
final List<Player> matchedPlayers = server.matchPlayer(selector); final List<Player> matchedPlayers = server.matchPlayer(selector);
if (!matchedPlayers.isEmpty()) if (!matchedPlayers.isEmpty())
{ {
user = ess.getUser(matchedPlayers.get(0)); user = ess.getUser(matchedPlayers.get(0));
} }
if (user != null) if (user != null)
{ {
users.add(user); users.add(user);
} }
// If that fails, Is the argument something like "*" or "all"? // If that fails, Is the argument something like "*" or "all"?
else if (selector.equalsIgnoreCase("*") || selector.equalsIgnoreCase("all")) else if (selector.equalsIgnoreCase("*") || selector.equalsIgnoreCase("all"))
{ {
for (Player player : server.getOnlinePlayers()) for (Player player : server.getOnlinePlayers())
{ {
users.add(ess.getUser(player)); users.add(ess.getUser(player));
} }
} }
// We failed to understand the world target... // We failed to understand the world target...
else else
{ {
throw new Exception(_("playerNotFound")); throw new Exception(_("playerNotFound"));
} }
return users; return users;
} }
} }

View file

@ -49,6 +49,10 @@ public class Commandspeed extends EssentialsCommand
speed = getMoveSpeed(args[1]); speed = getMoveSpeed(args[1]);
if (args.length > 2 && user.isAuthorized("essentials.speed.others")) if (args.length > 2 && user.isAuthorized("essentials.speed.others"))
{ {
if (args[2].trim().length() < 2)
{
throw new Exception(_("playerNotFound"));
}
speedOtherPlayers(server, user, isFly, isBypass, speed, args[2]); speedOtherPlayers(server, user, isFly, isBypass, speed, args[2]);
return; return;
} }

View file

@ -29,8 +29,12 @@ public class Commandtptoggle extends EssentialsCommand
@Override @Override
public void run(final Server server, final User user, final String commandLabel, final String[] args) throws Exception public void run(final Server server, final User user, final String commandLabel, final String[] args) throws Exception
{ {
if (args.length > 0 && args[0].trim().length() > 2 && user.isAuthorized("essentials.tptoggle.others")) if (args.length > 0 && user.isAuthorized("essentials.tptoggle.others"))
{ {
if (args[0].trim().length() < 2)
{
throw new Exception(_("playerNotFound"));
}
toggleOtherPlayers(server, user, args); toggleOtherPlayers(server, user, args);
return; return;
} }