diff --git a/pom.xml b/pom.xml
index 9eb54eb1..0ed8714c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -346,6 +346,12 @@
xephi-repo
http://ci.xephi.fr/plugin/repository/everything/
+
+
+
+ pex-repo
+ https://pex-repo.aoeu.xyz/
+
@@ -486,7 +492,7 @@
ru.tehkode
PermissionsEx
- 1.23.4
+ 1.23.1
provided
diff --git a/src/main/java/fr/xephi/authme/datasource/CacheDataSource.java b/src/main/java/fr/xephi/authme/datasource/CacheDataSource.java
index e1ece18a..fd743289 100644
--- a/src/main/java/fr/xephi/authme/datasource/CacheDataSource.java
+++ b/src/main/java/fr/xephi/authme/datasource/CacheDataSource.java
@@ -230,6 +230,15 @@ public class CacheDataSource implements DataSource {
cachedAuths.invalidate(oldOne);
}
+ @Override
+ public boolean updateRealName(String user, String realName) {
+ boolean result = source.updateRealName(user, realName);
+ if (result) {
+ cachedAuths.refresh(user);
+ }
+ return result;
+ }
+
@Override
public List getAllAuths() {
return source.getAllAuths();
diff --git a/src/main/java/fr/xephi/authme/datasource/DataSource.java b/src/main/java/fr/xephi/authme/datasource/DataSource.java
index a0077ce5..ab46051c 100644
--- a/src/main/java/fr/xephi/authme/datasource/DataSource.java
+++ b/src/main/java/fr/xephi/authme/datasource/DataSource.java
@@ -204,6 +204,7 @@ public interface DataSource {
*/
void updateName(String oldOne, String newOne);
+ boolean updateRealName(String user, String realName);
/**
* Method getAllAuths.
*
diff --git a/src/main/java/fr/xephi/authme/datasource/FlatFile.java b/src/main/java/fr/xephi/authme/datasource/FlatFile.java
index eca0bbc5..6404e1c0 100644
--- a/src/main/java/fr/xephi/authme/datasource/FlatFile.java
+++ b/src/main/java/fr/xephi/authme/datasource/FlatFile.java
@@ -716,6 +716,11 @@ public class FlatFile implements DataSource {
this.removeAuth(oldOne);
}
+ @Override
+ public boolean updateRealName(String user, String realName) {
+ return false;
+ }
+
@Override
public List getAllAuths() {
BufferedReader br = null;
diff --git a/src/main/java/fr/xephi/authme/datasource/MySQL.java b/src/main/java/fr/xephi/authme/datasource/MySQL.java
index 9a042de8..33fd0edd 100644
--- a/src/main/java/fr/xephi/authme/datasource/MySQL.java
+++ b/src/main/java/fr/xephi/authme/datasource/MySQL.java
@@ -885,6 +885,21 @@ public class MySQL implements DataSource {
}
}
+ @Override
+ public boolean updateRealName(String user, String realName) {
+ try (Connection con = getConnection()) {
+ String sql = "UPDATE " + tableName + " SET " + col.REAL_NAME + "=? WHERE " + col.NAME + "=?;";
+ PreparedStatement pst = con.prepareStatement(sql);
+ pst.setString(1, realName);
+ pst.setString(2, user);
+ pst.executeUpdate();
+ return true;
+ } catch (SQLException ex) {
+ logSqlException(ex);
+ }
+ return false;
+ }
+
@Override
public List getAllAuths() {
List auths = new ArrayList<>();
diff --git a/src/main/java/fr/xephi/authme/datasource/SQLite.java b/src/main/java/fr/xephi/authme/datasource/SQLite.java
index 14258834..033bb838 100644
--- a/src/main/java/fr/xephi/authme/datasource/SQLite.java
+++ b/src/main/java/fr/xephi/authme/datasource/SQLite.java
@@ -593,6 +593,20 @@ public class SQLite implements DataSource {
}
}
+ @Override
+ public boolean updateRealName(String user, String realName) {
+ String sql = "UPDATE " + tableName + " SET " + col.REAL_NAME + "=? WHERE " + col.NAME + "=?;";
+ try(PreparedStatement pst = con.prepareStatement(sql)) {
+ pst.setString(1, realName);
+ pst.setString(2, user);
+ pst.executeUpdate();
+ return true;
+ } catch (SQLException ex) {
+ logSqlException(ex);
+ }
+ return false;
+ }
+
@Override
public List getAllAuths() {
List auths = new ArrayList<>();
diff --git a/src/main/java/fr/xephi/authme/listener/AuthMePlayerListener.java b/src/main/java/fr/xephi/authme/listener/AuthMePlayerListener.java
index b15007e6..82ba854d 100644
--- a/src/main/java/fr/xephi/authme/listener/AuthMePlayerListener.java
+++ b/src/main/java/fr/xephi/authme/listener/AuthMePlayerListener.java
@@ -12,7 +12,6 @@ import fr.xephi.authme.cache.limbo.LimboPlayer;
import fr.xephi.authme.output.MessageKey;
import fr.xephi.authme.output.Messages;
import fr.xephi.authme.permission.PermissionsManager;
-import fr.xephi.authme.permission.PlayerPermission;
import fr.xephi.authme.permission.PlayerStatePermission;
import fr.xephi.authme.settings.Settings;
import fr.xephi.authme.util.GeoLiteAPI;
@@ -109,7 +108,7 @@ public class AuthMePlayerListener implements Listener {
if (Settings.useEssentialsMotd && cmd.equals("/motd")) {
return;
}
- if(!Settings.isForcedRegistrationEnabled && Settings.allowAllCommandsIfRegIsOptional) {
+ if (!Settings.isForcedRegistrationEnabled && Settings.allowAllCommandsIfRegIsOptional) {
return;
}
if (Settings.allowCommands.contains(cmd)) {
@@ -250,8 +249,7 @@ public class AuthMePlayerListener implements Listener {
return;
}
if (realName.isEmpty() || realName.equals("Player")) {
- auth.setRealName(event.getName());
- plugin.getDataSource().saveAuth(auth);
+ plugin.getDataSource().updateRealName(event.getName().toLowerCase(), event.getName());
}
}