emailWhitelist;
public static DataSourceType getDataSource;
public static HashAlgorithm getPasswordHash;
+ public static Pattern nickPattern;
public static boolean useLogging = false;
public static int purgeDelay = 60;
// Due to compatibility issues with plugins like FactionsChat
@@ -141,6 +144,7 @@ public final class Settings extends YamlConfiguration {
getMinNickLength = configFile.getInt("settings.restrictions.minNicknameLength", 3);
getPasswordMinLen = configFile.getInt("settings.security.minPasswordLength", 4);
getNickRegex = configFile.getString("settings.restrictions.allowedNicknameCharacters", "[a-zA-Z0-9_?]*");
+ nickPattern = Pattern.compile(getNickRegex);
isAllowRestrictedIp = configFile.getBoolean("settings.restrictions.AllowRestrictedUser", false);
getRestrictedIp = configFile.getStringList("settings.restrictions.AllowedRestrictedUser");
isMovementAllowed = configFile.getBoolean("settings.restrictions.allowMovement", false);
@@ -192,21 +196,13 @@ public final class Settings extends YamlConfiguration {
isStopEnabled = configFile.getBoolean("Security.SQLProblem.stopServer", true);
reloadSupport = configFile.getBoolean("Security.ReloadCommand.useReloadCommandSupport", true);
allowCommands = new ArrayList<>();
+ allowCommands.addAll(Arrays.asList("/login", "/l", "/register", "/reg", "/email", "/captcha"));
for (String cmd : configFile.getStringList("settings.restrictions.allowCommands")) {
- allowCommands.add(cmd.toLowerCase());
+ cmd = cmd.toLowerCase();
+ if (!allowCommands.contains(cmd)) {
+ allowCommands.add(cmd);
+ }
}
- if (!allowCommands.contains("/login"))
- allowCommands.add("/login");
- if (!allowCommands.contains("/register"))
- allowCommands.add("/register");
- if (!allowCommands.contains("/l"))
- allowCommands.add("/l");
- if (!allowCommands.contains("/reg"))
- allowCommands.add("/reg");
- if (!allowCommands.contains("/email"))
- allowCommands.add("/email");
- if (!allowCommands.contains("/captcha"))
- allowCommands.add("/captcha");
rakamakUsers = configFile.getString("Converter.Rakamak.fileName", "users.rak");
rakamakUsersIp = configFile.getString("Converter.Rakamak.ipFileName", "UsersIp.rak");
rakamakUseIp = configFile.getBoolean("Converter.Rakamak.useIp", false);
diff --git a/src/main/java/fr/xephi/authme/util/Utils.java b/src/main/java/fr/xephi/authme/util/Utils.java
index 0ff0867f8..338d1e143 100644
--- a/src/main/java/fr/xephi/authme/util/Utils.java
+++ b/src/main/java/fr/xephi/authme/util/Utils.java
@@ -13,7 +13,6 @@ import org.bukkit.Bukkit;
import org.bukkit.GameMode;
import org.bukkit.Location;
import org.bukkit.World;
-import org.bukkit.entity.Entity;
import org.bukkit.entity.Player;
import java.io.*;
@@ -155,7 +154,7 @@ public final class Utils {
/**
* TODO: This method requires better explanation.
- *
+ *
* Set the normal group of a player.
*
* @param player The player.
@@ -332,19 +331,8 @@ public final class Utils {
return plugin.getServer().getPlayer(name);
}
- public static boolean isNPC(final Entity player) {
- try {
- if (player.hasMetadata("NPC")) {
- return true;
- } else if (plugin.combatTagPlus != null
- && player instanceof Player
- && plugin.combatTagPlus.getNpcPlayerHelper().isNpc((Player) player)) {
- return true;
- }
- return false;
- } catch (Exception e) {
- return false;
- }
+ public static boolean isNPC(Player player) {
+ return player.hasMetadata("NPC") || plugin.combatTagPlus != null && plugin.combatTagPlus.getNpcPlayerHelper().isNpc(player);
}
public static void teleportToSpawn(Player player) {