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.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"));
}

View File

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

View File

@ -596,6 +596,11 @@ public class User extends UserData implements Comparable<User>, 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) {

View File

@ -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();

View File

@ -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()) {