Fix invalid formatted jail time strings in whois/seen (#3917)

Fixes #3916, a "slight" discrepancy on jail time reporting in whois and seen commands
This commit is contained in:
Josh Roy 2021-01-23 17:41:24 -05:00 committed by GitHub
parent 224634d8d2
commit 89c1e3b60d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 11 additions and 5 deletions

View file

@ -36,7 +36,6 @@ import com.earth2me.essentials.signs.SignPlayerListener;
import com.earth2me.essentials.textreader.IText; import com.earth2me.essentials.textreader.IText;
import com.earth2me.essentials.textreader.KeywordReplacer; import com.earth2me.essentials.textreader.KeywordReplacer;
import com.earth2me.essentials.textreader.SimpleTextInput; import com.earth2me.essentials.textreader.SimpleTextInput;
import com.earth2me.essentials.utils.DateUtil;
import com.earth2me.essentials.utils.VersionUtil; import com.earth2me.essentials.utils.VersionUtil;
import io.papermc.lib.PaperLib; import io.papermc.lib.PaperLib;
import net.ess3.api.Economy; import net.ess3.api.Economy;
@ -44,10 +43,10 @@ import net.ess3.api.IEssentials;
import net.ess3.api.IItemDb; import net.ess3.api.IItemDb;
import net.ess3.api.IJails; import net.ess3.api.IJails;
import net.ess3.api.ISettings; 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.ReflServerStateProvider;
import net.ess3.nms.refl.providers.ReflSpawnEggProvider; import net.ess3.nms.refl.providers.ReflSpawnEggProvider;
import net.ess3.nms.refl.providers.ReflSpawnerBlockProvider; import net.ess3.nms.refl.providers.ReflSpawnerBlockProvider;
import net.ess3.nms.refl.providers.ReflKnownCommandsProvider;
import net.ess3.provider.ContainerProvider; import net.ess3.provider.ContainerProvider;
import net.ess3.provider.KnownCommandsProvider; import net.ess3.provider.KnownCommandsProvider;
import net.ess3.provider.PotionMetaProvider; 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 != null && user.isJailed() && !user.isAuthorized(cmd, "essentials.jail.allow.")) {
if (user.getJailTimeout() > 0) { if (user.getJailTimeout() > 0) {
user.sendMessage(tl("playerJailedFor", user.getName(), DateUtil.formatDateDiff(user.getJailTimeout()))); user.sendMessage(tl("playerJailedFor", user.getName(), user.getFormattedJailTime()));
} else { } else {
user.sendMessage(tl("jailMessage")); user.sendMessage(tl("jailMessage"));
} }

View file

@ -145,6 +145,8 @@ public interface IUser {
void setJail(String jail); void setJail(String jail);
String getFormattedJailTime();
List<String> getMails(); List<String> getMails();
void addMail(String mail); void addMail(String mail);

View file

@ -596,6 +596,11 @@ public class User extends UserData implements Comparable<User>, IMessageRecipien
return hidden || !player.canSee(getBase()); 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 //Returns true if status expired during this check
public boolean checkJailTimeout(final long currentTime) { public boolean checkJailTimeout(final long currentTime) {
if (getJailTimeout() > 0) { if (getJailTimeout() > 0) {

View file

@ -107,7 +107,7 @@ public class Commandseen extends EssentialsCommand {
sender.sendMessage(tl("whoisAFK", tl("true"))); sender.sendMessage(tl("whoisAFK", tl("true")));
} }
if (user.isJailed()) { 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()) { if (user.isMuted()) {
final long muteTimeout = user.getMuteTimeout(); final long muteTimeout = user.getMuteTimeout();

View file

@ -62,7 +62,7 @@ public class Commandwhois extends EssentialsCommand {
} else { } else {
sender.sendMessage(tl("whoisAFK", tl("false"))); 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(); final long muteTimeout = user.getMuteTimeout();
if (!user.hasMuteReason()) { if (!user.hasMuteReason()) {