Skip to content

Commit 884695b

Browse files
committed
fix random spawn bug when join
to prevent bedrock players from being random spawn every time he join server
1 parent cdabeaa commit 884695b

File tree

2 files changed

+9
-8
lines changed

2 files changed

+9
-8
lines changed

src/main/java/systems/kscott/randomspawnplus/listeners/RSPFirstJoinListener.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -34,9 +34,9 @@ public void firstJoinHandler(PlayerJoinEvent event) {
3434

3535
if (config.getBoolean("randomspawn-enabled")) {
3636
if (config.getBoolean("on-first-join")) {
37-
if (RSPLoginListener.firstJoinPlayers.contains(player.getName())) {
37+
if (RSPLoginListener.firstJoinPlayers.contains(player.getUniqueId())) {
3838
if (config.getBoolean("use-permission-node") && !player.hasPermission("randomspawnplus.randomspawn")) {
39-
RSPLoginListener.firstJoinPlayers.remove(player.getName());
39+
RSPLoginListener.firstJoinPlayers.remove(player.getUniqueId());
4040
return;
4141
} else {
4242
try {
@@ -57,10 +57,10 @@ public void run() {
5757
}
5858
}.runTaskLater(plugin, 3);
5959
} catch (FinderTimedOutException e) {
60-
plugin.getLogger().warning("The spawn finder failed to find a valid spawn, and has not given " + player.getName() + " a random spawn. If you find this happening a lot, then raise the 'spawn-finder-tries-before-timeout' key in the config.");
60+
plugin.getLogger().warning("The spawn finder failed to find a valid spawn, and has not given " + player.getUniqueId() + " a random spawn. If you find this happening a lot, then raise the 'spawn-finder-tries-before-timeout' key in the config.");
6161
return;
6262
}
63-
RSPLoginListener.firstJoinPlayers.remove(player.getName());
63+
RSPLoginListener.firstJoinPlayers.remove(player.getUniqueId());
6464
}
6565
}
6666
}

src/main/java/systems/kscott/randomspawnplus/listeners/RSPLoginListener.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,11 @@
88
import systems.kscott.randomspawnplus.RandomSpawnPlus;
99

1010
import java.util.ArrayList;
11+
import java.util.UUID;
1112

1213
public class RSPLoginListener implements Listener {
1314

14-
public static ArrayList<String> firstJoinPlayers = new ArrayList<>();
15+
public static ArrayList<UUID> firstJoinPlayers = new ArrayList<>();
1516
private FileConfiguration config;
1617

1718

@@ -23,12 +24,12 @@ public RSPLoginListener(RandomSpawnPlus plugin) {
2324
public void preLoginHandler(AsyncPlayerPreLoginEvent event) {
2425
if (config.getBoolean("randomspawn-enabled")) {
2526
if (config.getBoolean("on-first-join")) {
26-
String playerName = event.getName();
27+
UUID playerUUID = event.getUniqueId();
2728

28-
boolean hasPlayed = Bukkit.getServer().getOfflinePlayer(playerName).hasPlayedBefore();
29+
boolean hasPlayed = Bukkit.getServer().getOfflinePlayer(playerUUID).hasPlayedBefore();
2930

3031
if (!hasPlayed) {
31-
firstJoinPlayers.add(playerName);
32+
firstJoinPlayers.add(playerUUID);
3233
}
3334
}
3435
}

0 commit comments

Comments
 (0)