From 0d598ad390640394c638e9708475bdfd18dc2daa Mon Sep 17 00:00:00 2001
From: Smart123s <28480228+Smart123s@users.noreply.github.com>
Date: Sun, 11 Apr 2021 11:47:56 +0200
Subject: [PATCH] Moved config value checking
Previously the value for "autoLoginFloodgate" and "autoRegisterFloodgate" was checked every time a player joined.
Now they are checked at startup.
---
.../fastlogin/bukkit/FastLoginBukkit.java | 31 +++++++++++++++++++
.../bukkit/task/FloodgateAuthTask.java | 18 -----------
2 files changed, 31 insertions(+), 18 deletions(-)
diff --git a/bukkit/src/main/java/com/github/games647/fastlogin/bukkit/FastLoginBukkit.java b/bukkit/src/main/java/com/github/games647/fastlogin/bukkit/FastLoginBukkit.java
index eacfdfed..1aa964b7 100644
--- a/bukkit/src/main/java/com/github/games647/fastlogin/bukkit/FastLoginBukkit.java
+++ b/bukkit/src/main/java/com/github/games647/fastlogin/bukkit/FastLoginBukkit.java
@@ -59,6 +59,13 @@ public class FastLoginBukkit extends JavaPlugin implements PlatformPlugin
+ * Writes to Log if the value is invalid.
+ *
+ * This should be used for:
+ *
+ * - allowFloodgateNameConflict
+ *
- autoLoginFloodgate
+ *
+ *
+ *
+ * @param key the key of the entry in config.yml
+ * @return true if the entry's value is "true", "false", or "linked"
+ */
+ private boolean isValidFloodgateConfigString(String key) {
+ String value = core.getConfig().getString(key);
+ if (!value.equalsIgnoreCase("true") && !value.equalsIgnoreCase("linked") && !value.equalsIgnoreCase("false")) {
+ logger.error("Invalid value detected for {} in FastLogin/config.yml.", key);
+ return false;
+ }
+ return true;
+
+ }
}
diff --git a/bukkit/src/main/java/com/github/games647/fastlogin/bukkit/task/FloodgateAuthTask.java b/bukkit/src/main/java/com/github/games647/fastlogin/bukkit/task/FloodgateAuthTask.java
index 163c32f7..73741a52 100644
--- a/bukkit/src/main/java/com/github/games647/fastlogin/bukkit/task/FloodgateAuthTask.java
+++ b/bukkit/src/main/java/com/github/games647/fastlogin/bukkit/task/FloodgateAuthTask.java
@@ -44,12 +44,6 @@ public class FloodgateAuthTask implements Runnable {
return;
}
- if (!isValidConfigValue(allowNameConflict)) {
- plugin.getLog().error(
- "Invalid value detected for 'allowFloodgateNameConflict' in FasttLogin/config.yml. Aborting login of Player {}",
- player.getName());
- return;
- }
AuthPlugin authPlugin = plugin.getCore().getAuthPluginHook();
@@ -88,17 +82,5 @@ public class FloodgateAuthTask implements Runnable {
Runnable forceLoginTask = new ForceLoginTask(plugin.getCore(), player, session);
Bukkit.getScheduler().runTaskAsynchronously(plugin, forceLoginTask);
}
-
- /**
- * Check if a string is a valid configuration option for
- * 'allowFloodgateNameConflict' or 'autoLoginFloodgate'
- *
- * @param value The value of 'allowFloodgateNameConflict' or
- * 'autoLoginFloodgate' from config.yml
- * @return true if value is "true", "false", or "linked"
- */
- boolean isValidConfigValue(String value) {
- return value.equalsIgnoreCase("true") || value.equalsIgnoreCase("linked") || value.equalsIgnoreCase("false");
- }
}