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