From f37255a30d8295dde6941e251216999b2c8fea30 Mon Sep 17 00:00:00 2001 From: 4drian3d Date: Sun, 24 Apr 2022 14:46:16 -0500 Subject: [PATCH] fix: Fix Player asignation between sessions --- .../me/dreamerzero/chatregulator/InfractionPlayer.java | 7 +++++-- .../chatregulator/listener/list/JoinListener.java | 7 +------ 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/src/main/java/me/dreamerzero/chatregulator/InfractionPlayer.java b/src/main/java/me/dreamerzero/chatregulator/InfractionPlayer.java index d7ead588..d04cbb70 100644 --- a/src/main/java/me/dreamerzero/chatregulator/InfractionPlayer.java +++ b/src/main/java/me/dreamerzero/chatregulator/InfractionPlayer.java @@ -23,7 +23,7 @@ * To get the real player, check {@link #getPlayer()} */ public final class InfractionPlayer implements ForwardingAudience.Single { - private final Player player; + private Player player; private String preLastMessage; private String lastMessage; private String preLastCommand; @@ -39,7 +39,7 @@ public final class InfractionPlayer implements ForwardingAudience.Single { * @param player the player on which it will be based */ @Internal - InfractionPlayer(@NotNull Player player){ + InfractionPlayer(final @NotNull Player player){ this.player = Objects.requireNonNull(player); this.preLastMessage = " ."; this.lastMessage = " "; @@ -215,6 +215,9 @@ public long getTimeSinceLastCommand(){ final UUID uuid = Objects.requireNonNull(player).getUniqueId(); InfractionPlayer infractor = ChatRegulator.infractionPlayers.get(uuid); if(infractor != null){ + if(!infractor.isOnline()) { + infractor.player = player; + } return infractor; } else { infractor = new InfractionPlayer(player); diff --git a/src/main/java/me/dreamerzero/chatregulator/listener/list/JoinListener.java b/src/main/java/me/dreamerzero/chatregulator/listener/list/JoinListener.java index 6925c289..36abde90 100644 --- a/src/main/java/me/dreamerzero/chatregulator/listener/list/JoinListener.java +++ b/src/main/java/me/dreamerzero/chatregulator/listener/list/JoinListener.java @@ -4,7 +4,6 @@ import com.velocitypowered.api.event.PostOrder; import com.velocitypowered.api.event.Subscribe; import com.velocitypowered.api.event.connection.PostLoginEvent; -import com.velocitypowered.api.proxy.Player; import org.jetbrains.annotations.ApiStatus.Internal; @@ -22,10 +21,6 @@ public final class JoinListener { */ @Subscribe(order = PostOrder.LAST) public EventTask onPlayerJoin(final PostLoginEvent event){ - return EventTask.async(() -> { - final Player player = event.getPlayer(); - final InfractionPlayer p = InfractionPlayer.get(player); - p.isOnline(true); - }); + return EventTask.async(() -> InfractionPlayer.get(event.getPlayer()).isOnline(true)); } }