From 89c1e3b60d23c75abb72e6267025da2d040d8430 Mon Sep 17 00:00:00 2001 From: Josh Roy <10731363+JRoy@users.noreply.github.com> Date: Sat, 23 Jan 2021 17:41:24 -0500 Subject: [PATCH] Fix invalid formatted jail time strings in whois/seen (#3917) Fixes #3916, a "slight" discrepancy on jail time reporting in whois and seen commands --- .../src/main/java/com/earth2me/essentials/Essentials.java | 5 ++--- Essentials/src/main/java/com/earth2me/essentials/IUser.java | 2 ++ Essentials/src/main/java/com/earth2me/essentials/User.java | 5 +++++ .../java/com/earth2me/essentials/commands/Commandseen.java | 2 +- .../java/com/earth2me/essentials/commands/Commandwhois.java | 2 +- 5 files changed, 11 insertions(+), 5 deletions(-) diff --git a/Essentials/src/main/java/com/earth2me/essentials/Essentials.java b/Essentials/src/main/java/com/earth2me/essentials/Essentials.java index bcf785f58..d5647bc95 100644 --- a/Essentials/src/main/java/com/earth2me/essentials/Essentials.java +++ b/Essentials/src/main/java/com/earth2me/essentials/Essentials.java @@ -36,7 +36,6 @@ import com.earth2me.essentials.signs.SignPlayerListener; import com.earth2me.essentials.textreader.IText; import com.earth2me.essentials.textreader.KeywordReplacer; import com.earth2me.essentials.textreader.SimpleTextInput; -import com.earth2me.essentials.utils.DateUtil; import com.earth2me.essentials.utils.VersionUtil; import io.papermc.lib.PaperLib; import net.ess3.api.Economy; @@ -44,10 +43,10 @@ import net.ess3.api.IEssentials; import net.ess3.api.IItemDb; import net.ess3.api.IJails; import net.ess3.api.ISettings; +import net.ess3.nms.refl.providers.ReflKnownCommandsProvider; import net.ess3.nms.refl.providers.ReflServerStateProvider; import net.ess3.nms.refl.providers.ReflSpawnEggProvider; import net.ess3.nms.refl.providers.ReflSpawnerBlockProvider; -import net.ess3.nms.refl.providers.ReflKnownCommandsProvider; import net.ess3.provider.ContainerProvider; import net.ess3.provider.KnownCommandsProvider; import net.ess3.provider.PotionMetaProvider; @@ -658,7 +657,7 @@ public class Essentials extends JavaPlugin implements net.ess3.api.IEssentials { if (user != null && user.isJailed() && !user.isAuthorized(cmd, "essentials.jail.allow.")) { if (user.getJailTimeout() > 0) { - user.sendMessage(tl("playerJailedFor", user.getName(), DateUtil.formatDateDiff(user.getJailTimeout()))); + user.sendMessage(tl("playerJailedFor", user.getName(), user.getFormattedJailTime())); } else { user.sendMessage(tl("jailMessage")); } diff --git a/Essentials/src/main/java/com/earth2me/essentials/IUser.java b/Essentials/src/main/java/com/earth2me/essentials/IUser.java index 45c629440..0dcd8b846 100644 --- a/Essentials/src/main/java/com/earth2me/essentials/IUser.java +++ b/Essentials/src/main/java/com/earth2me/essentials/IUser.java @@ -145,6 +145,8 @@ public interface IUser { void setJail(String jail); + String getFormattedJailTime(); + List getMails(); void addMail(String mail); diff --git a/Essentials/src/main/java/com/earth2me/essentials/User.java b/Essentials/src/main/java/com/earth2me/essentials/User.java index 69d58f9d2..4c22d7f5e 100644 --- a/Essentials/src/main/java/com/earth2me/essentials/User.java +++ b/Essentials/src/main/java/com/earth2me/essentials/User.java @@ -596,6 +596,11 @@ public class User extends UserData implements Comparable, IMessageRecipien return hidden || !player.canSee(getBase()); } + @Override + public String getFormattedJailTime() { + return DateUtil.formatDateDiff(getOnlineJailedTime() > 0 ? (System.currentTimeMillis() - getJailTimeout()) : getJailTimeout()); + } + //Returns true if status expired during this check public boolean checkJailTimeout(final long currentTime) { if (getJailTimeout() > 0) { diff --git a/Essentials/src/main/java/com/earth2me/essentials/commands/Commandseen.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandseen.java index 9580b8883..709738719 100644 --- a/Essentials/src/main/java/com/earth2me/essentials/commands/Commandseen.java +++ b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandseen.java @@ -107,7 +107,7 @@ public class Commandseen extends EssentialsCommand { sender.sendMessage(tl("whoisAFK", tl("true"))); } if (user.isJailed()) { - sender.sendMessage(tl("whoisJail", user.getJailTimeout() > 0 ? DateUtil.formatDateDiff(user.getJailTimeout()) : tl("true"))); + sender.sendMessage(tl("whoisJail", user.getJailTimeout() > 0 ? user.getFormattedJailTime() : tl("true"))); } if (user.isMuted()) { final long muteTimeout = user.getMuteTimeout(); diff --git a/Essentials/src/main/java/com/earth2me/essentials/commands/Commandwhois.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandwhois.java index 613ea61b9..f2a3acf7f 100644 --- a/Essentials/src/main/java/com/earth2me/essentials/commands/Commandwhois.java +++ b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandwhois.java @@ -62,7 +62,7 @@ public class Commandwhois extends EssentialsCommand { } else { sender.sendMessage(tl("whoisAFK", tl("false"))); } - sender.sendMessage(tl("whoisJail", user.isJailed() ? user.getJailTimeout() > 0 ? DateUtil.formatDateDiff(user.getJailTimeout()) : tl("true") : tl("false"))); + sender.sendMessage(tl("whoisJail", user.isJailed() ? user.getJailTimeout() > 0 ? user.getFormattedJailTime() : tl("true") : tl("false"))); final long muteTimeout = user.getMuteTimeout(); if (!user.hasMuteReason()) {