From e439126294473fa972bcbc9c3789f24b4cd8636f Mon Sep 17 00:00:00 2001 From: games647 Date: Sat, 14 May 2016 12:27:03 +0200 Subject: [PATCH] Added API methods for auth plugins to set their own hook --- CHANGELOG.md | 5 +++++ bukkit/pom.xml | 2 +- .../fastlogin/bukkit/DefaultPasswordGenerator.java | 12 ++++++++++++ .../games647/fastlogin/bukkit/FastLoginBukkit.java | 14 +++++++++++--- .../games647/fastlogin/bukkit/ForceLoginTask.java | 2 +- .../fastlogin/bukkit/PasswordGenerator.java | 8 ++++++++ bungee/pom.xml | 2 +- pom.xml | 2 +- universal/pom.xml | 2 +- 9 files changed, 41 insertions(+), 8 deletions(-) create mode 100644 bukkit/src/main/java/com/github/games647/fastlogin/bukkit/DefaultPasswordGenerator.java create mode 100644 bukkit/src/main/java/com/github/games647/fastlogin/bukkit/PasswordGenerator.java diff --git a/CHANGELOG.md b/CHANGELOG.md index d92966ad..21981f0b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,8 @@ +######1.2 + +* Added API methods for plugins to set their own password generator +* Added API methods for plugins to set their own auth plugin hook + ######1.1 * Make the configuration options also work under BungeeCord (premiumUUID, forwardSkin) diff --git a/bukkit/pom.xml b/bukkit/pom.xml index 3a6b3725..68236d8c 100644 --- a/bukkit/pom.xml +++ b/bukkit/pom.xml @@ -5,7 +5,7 @@ com.github.games647 fastlogin - 1.1 + 1.2 ../pom.xml diff --git a/bukkit/src/main/java/com/github/games647/fastlogin/bukkit/DefaultPasswordGenerator.java b/bukkit/src/main/java/com/github/games647/fastlogin/bukkit/DefaultPasswordGenerator.java new file mode 100644 index 00000000..a6c5d522 --- /dev/null +++ b/bukkit/src/main/java/com/github/games647/fastlogin/bukkit/DefaultPasswordGenerator.java @@ -0,0 +1,12 @@ +package com.github.games647.fastlogin.bukkit; + +import org.apache.commons.lang.RandomStringUtils; +import org.bukkit.entity.Player; + +public class DefaultPasswordGenerator implements PasswordGenerator { + + @Override + public String getRandomPassword(Player player) { + return RandomStringUtils.random(8, true, true); + } +} 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 7d97f1c1..e7be8564 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 @@ -25,7 +25,6 @@ import java.util.concurrent.ConcurrentMap; import java.util.concurrent.TimeUnit; import java.util.logging.Level; -import org.apache.commons.lang.RandomStringUtils; import org.bukkit.Bukkit; import org.bukkit.configuration.file.YamlConfiguration; import org.bukkit.entity.Player; @@ -69,6 +68,7 @@ public class FastLoginBukkit extends JavaPlugin { private BukkitAuthPlugin authPlugin; private final MojangApiConnector mojangApiConnector = new MojangApiConnector(this); + private PasswordGenerator passwordGenerator = new DefaultPasswordGenerator(); @Override public void onEnable() { @@ -166,8 +166,12 @@ public class FastLoginBukkit extends JavaPlugin { } } - public String generateStringPassword() { - return RandomStringUtils.random(8, true, true); + public String generateStringPassword(Player player) { + return passwordGenerator.getRandomPassword(player); + } + + public void setPasswordGenerator(PasswordGenerator passwordGenerator) { + this.passwordGenerator = passwordGenerator; } /** @@ -203,6 +207,10 @@ public class FastLoginBukkit extends JavaPlugin { return authPlugin; } + public void setAuthPluginHook(BukkitAuthPlugin authPlugin) { + this.authPlugin = authPlugin; + } + /** * Gets the a connection in order to access important features from the Mojang API. * diff --git a/bukkit/src/main/java/com/github/games647/fastlogin/bukkit/ForceLoginTask.java b/bukkit/src/main/java/com/github/games647/fastlogin/bukkit/ForceLoginTask.java index acfdd370..f131aff0 100644 --- a/bukkit/src/main/java/com/github/games647/fastlogin/bukkit/ForceLoginTask.java +++ b/bukkit/src/main/java/com/github/games647/fastlogin/bukkit/ForceLoginTask.java @@ -82,7 +82,7 @@ public class ForceLoginTask implements Runnable { private boolean forceRegister(BukkitAuthPlugin authPlugin, Player player) { plugin.getLogger().log(Level.FINE, "Register player {0}", player.getName()); - String generatedPassword = plugin.generateStringPassword(); + String generatedPassword = plugin.generateStringPassword(player); boolean success = authPlugin.forceRegister(player, generatedPassword); player.sendMessage(ChatColor.DARK_GREEN + "Auto registered with password: " + generatedPassword); player.sendMessage(ChatColor.DARK_GREEN + "You may want change it?"); diff --git a/bukkit/src/main/java/com/github/games647/fastlogin/bukkit/PasswordGenerator.java b/bukkit/src/main/java/com/github/games647/fastlogin/bukkit/PasswordGenerator.java new file mode 100644 index 00000000..172df722 --- /dev/null +++ b/bukkit/src/main/java/com/github/games647/fastlogin/bukkit/PasswordGenerator.java @@ -0,0 +1,8 @@ +package com.github.games647.fastlogin.bukkit; + +import org.bukkit.entity.Player; + +public interface PasswordGenerator { + + String getRandomPassword(Player player); +} diff --git a/bungee/pom.xml b/bungee/pom.xml index 212799e9..9f195b8f 100644 --- a/bungee/pom.xml +++ b/bungee/pom.xml @@ -5,7 +5,7 @@ com.github.games647 fastlogin - 1.1 + 1.2 ../pom.xml diff --git a/pom.xml b/pom.xml index 4c2014c2..66f57daa 100644 --- a/pom.xml +++ b/pom.xml @@ -8,7 +8,7 @@ pom FastLogin - 1.1 + 1.2 2015 https://www.spigotmc.org/resources/fastlogin.14153/ diff --git a/universal/pom.xml b/universal/pom.xml index 105b4d75..d9648faa 100644 --- a/universal/pom.xml +++ b/universal/pom.xml @@ -5,7 +5,7 @@ com.github.games647 fastlogin - 1.1 + 1.2 ../pom.xml