mirror of
https://github.com/ChestShop-authors/ChestShop-3.git
synced 2024-11-27 04:25:14 +01:00
Merge branch '1.12' into 1.13
This commit is contained in:
commit
01ebedcc84
@ -103,6 +103,11 @@ public class NameManager {
|
|||||||
* @throws IllegalArgumentException if the username is empty
|
* @throws IllegalArgumentException if the username is empty
|
||||||
*/
|
*/
|
||||||
public static Account getAccountFromShortName(String shortName) {
|
public static Account getAccountFromShortName(String shortName) {
|
||||||
|
return getAccountFromShortName(shortName, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static Account getAccountFromShortName(String shortName, boolean searchOfflinePlayer) {
|
||||||
|
|
||||||
Validate.notEmpty(shortName, "shortName cannot be null or empty!");
|
Validate.notEmpty(shortName, "shortName cannot be null or empty!");
|
||||||
Account account = null;
|
Account account = null;
|
||||||
|
|
||||||
@ -125,7 +130,7 @@ public class NameManager {
|
|||||||
} catch (ExecutionException ignored) {}
|
} catch (ExecutionException ignored) {}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (account == null && !invalidPlayers.contains(shortName.toLowerCase())) {
|
if (account == null && searchOfflinePlayer && !invalidPlayers.contains(shortName.toLowerCase())) {
|
||||||
// no account with that shortname was found, try to get an offline player with that name
|
// no account with that shortname was found, try to get an offline player with that name
|
||||||
OfflinePlayer offlinePlayer = ChestShop.getBukkitServer().getOfflinePlayer(shortName);
|
OfflinePlayer offlinePlayer = ChestShop.getBukkitServer().getOfflinePlayer(shortName);
|
||||||
if (offlinePlayer != null && offlinePlayer.getName() != null && offlinePlayer.getUniqueId() != null
|
if (offlinePlayer != null && offlinePlayer.getName() != null && offlinePlayer.getUniqueId() != null
|
||||||
@ -277,14 +282,14 @@ public class NameManager {
|
|||||||
private static String getNewShortenedName(PlayerDTO player) {
|
private static String getNewShortenedName(PlayerDTO player) {
|
||||||
String shortenedName = NameUtil.stripUsername(player.getName());
|
String shortenedName = NameUtil.stripUsername(player.getName());
|
||||||
|
|
||||||
Account account = getAccountFromShortName(shortenedName);
|
Account account = getAccountFromShortName(shortenedName, false);
|
||||||
if (account == null) {
|
if (account == null) {
|
||||||
return shortenedName;
|
return shortenedName;
|
||||||
}
|
}
|
||||||
for (int id = 0; account != null; id++) {
|
for (int id = 0; account != null; id++) {
|
||||||
String baseId = Base62.encode(id);
|
String baseId = Base62.encode(id);
|
||||||
shortenedName = NameUtil.stripUsername(player.getName(), 15 - 1 - baseId.length()) + ":" + baseId;
|
shortenedName = NameUtil.stripUsername(player.getName(), 15 - 1 - baseId.length()) + ":" + baseId;
|
||||||
account = getAccountFromShortName(shortenedName);
|
account = getAccountFromShortName(shortenedName, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
return shortenedName;
|
return shortenedName;
|
||||||
@ -299,7 +304,7 @@ public class NameManager {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
Account account = getAccountFromShortName(name);
|
Account account = getAccountFromShortName(name, false);
|
||||||
return account != null && (account.getUuid().equals(player.getUniqueId())
|
return account != null && (account.getUuid().equals(player.getUniqueId())
|
||||||
|| (!account.getName().equalsIgnoreCase(name) && Permission.otherName(player, account.getName())));
|
|| (!account.getName().equalsIgnoreCase(name) && Permission.otherName(player, account.getName())));
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user