From e55a61a55cae6444e65ac9e4500a08a72848200a Mon Sep 17 00:00:00 2001 From: TheMrRedSlime <69750444+TheMrRedSlime@users.noreply.github.com> Date: Wed, 15 Jul 2026 19:06:03 +0530 Subject: [PATCH] This will not allow people to kick others by joining from their account name --- .../userlogin/listener/JoinQuitListener.java | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/src/main/java/com/elchologamer/userlogin/listener/JoinQuitListener.java b/src/main/java/com/elchologamer/userlogin/listener/JoinQuitListener.java index bed5fc0..4ce7bdd 100644 --- a/src/main/java/com/elchologamer/userlogin/listener/JoinQuitListener.java +++ b/src/main/java/com/elchologamer/userlogin/listener/JoinQuitListener.java @@ -2,10 +2,18 @@ import com.elchologamer.userlogin.ULPlayer; import com.elchologamer.userlogin.UserLogin; + +import net.md_5.bungee.api.ChatColor; + +import org.bukkit.Bukkit; +import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; +import org.bukkit.event.EventPriority; import org.bukkit.event.Listener; +import org.bukkit.event.player.AsyncPlayerPreLoginEvent; import org.bukkit.event.player.PlayerJoinEvent; import org.bukkit.event.player.PlayerQuitEvent; +import org.bukkit.event.player.AsyncPlayerPreLoginEvent.Result; public class JoinQuitListener implements Listener { @@ -17,6 +25,21 @@ public void onPlayerJoin(PlayerJoinEvent event) { ULPlayer.get(event.getPlayer()).onJoin(false); } + @EventHandler(priority = EventPriority.LOWEST) + public void onPlayerPreLogin(AsyncPlayerPreLoginEvent event) { + // Check if player already online + for(Player player : Bukkit.getOnlinePlayers()) { + ULPlayer ulPlayer = ULPlayer.get(player); + if(player.getName().equalsIgnoreCase(event.getName())) { + if(ulPlayer.isLoggedIn()) { + event.setLoginResult(Result.KICK_OTHER); + event.setKickMessage(ChatColor.RED + "This player is already online!"); + return; + } + } + } + } + @EventHandler public void onPlayerQuit(PlayerQuitEvent event) { ULPlayer.get(event.getPlayer()).onQuit();