From d60177c0c3881e5a979d3776351ba05a1cc09fd7 Mon Sep 17 00:00:00 2001 From: tanyaofei Date: Sat, 3 Aug 2024 16:12:06 +0800 Subject: [PATCH] Redesign UUID generate strategy --- .../fakeplayer/core/listener/FakeplayerListener.java | 7 +++++-- .../core/repository/FakePlayerProfileRepository.java | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/fakeplayer-core/src/main/java/io/github/hello09x/fakeplayer/core/listener/FakeplayerListener.java b/fakeplayer-core/src/main/java/io/github/hello09x/fakeplayer/core/listener/FakeplayerListener.java index d8c9149..9a287c0 100644 --- a/fakeplayer-core/src/main/java/io/github/hello09x/fakeplayer/core/listener/FakeplayerListener.java +++ b/fakeplayer-core/src/main/java/io/github/hello09x/fakeplayer/core/listener/FakeplayerListener.java @@ -9,6 +9,7 @@ import io.github.hello09x.fakeplayer.core.Main; import io.github.hello09x.fakeplayer.core.config.Config; import io.github.hello09x.fakeplayer.core.constant.MetadataKeys; import io.github.hello09x.fakeplayer.core.manager.FakeplayerManager; +import io.github.hello09x.fakeplayer.core.repository.FakePlayerProfileRepository; import io.github.hello09x.fakeplayer.core.repository.UsedIdRepository; import io.github.hello09x.fakeplayer.core.util.InternalAddressGenerator; import org.bukkit.Bukkit; @@ -39,12 +40,14 @@ public class FakeplayerListener implements Listener { private final FakeplayerManager manager; private final UsedIdRepository usedIdRepository; + private final FakePlayerProfileRepository profileRepository; private final Config config; @Inject - public FakeplayerListener(FakeplayerManager manager, UsedIdRepository usedIdRepository, Config config) { + public FakeplayerListener(FakeplayerManager manager, UsedIdRepository usedIdRepository, FakePlayerProfileRepository profileRepository, Config config) { this.manager = manager; this.usedIdRepository = usedIdRepository; + this.profileRepository = profileRepository; this.config = config; } @@ -59,7 +62,7 @@ public class FakeplayerListener implements Listener { return; } - if (usedIdRepository.contains(player.getUniqueId())) { + if (usedIdRepository.contains(player.getUniqueId()) || profileRepository.existsByUUID(player.getUniqueId())) { event.disallow(PlayerLoginEvent.Result.KICK_OTHER, textOfChildren( translatable("fakeplayer.listener.login.deny-used-uuid", RED), newline(), diff --git a/fakeplayer-core/src/main/java/io/github/hello09x/fakeplayer/core/repository/FakePlayerProfileRepository.java b/fakeplayer-core/src/main/java/io/github/hello09x/fakeplayer/core/repository/FakePlayerProfileRepository.java index 5b17d7b..31ebfb4 100644 --- a/fakeplayer-core/src/main/java/io/github/hello09x/fakeplayer/core/repository/FakePlayerProfileRepository.java +++ b/fakeplayer-core/src/main/java/io/github/hello09x/fakeplayer/core/repository/FakePlayerProfileRepository.java @@ -33,7 +33,7 @@ public class FakePlayerProfileRepository { public boolean existsByUUID(@NotNull UUID uuid) { var sql = "SELECT EXISTS(SELECT 1 FROM fake_player_profile WHERE uuid = ?)"; - return Boolean.TRUE.equals(jdbc.queryForObject(sql, new BooleanRowMapper())); + return Boolean.TRUE.equals(jdbc.queryForObject(sql, new BooleanRowMapper(), uuid.toString())); } public @Nullable UUID selectUUIDByName(@NotNull String name) {