From 52d814f2cc410169f0e72d1a2e8f585e3d773e91 Mon Sep 17 00:00:00 2001 From: md678685 Date: Wed, 15 Aug 2018 15:26:11 +0100 Subject: [PATCH] Properly fix inaccurate playtime measurement https://hub.spigotmc.org/stash/projects/SPIGOT/repos/bukkit/commits/b848d8ce633871b52115247b089029749c02f579 --- .../earth2me/essentials/commands/Commandwhois.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandwhois.java b/Essentials/src/com/earth2me/essentials/commands/Commandwhois.java index eace45dd8..a47c4ead9 100644 --- a/Essentials/src/com/earth2me/essentials/commands/Commandwhois.java +++ b/Essentials/src/com/earth2me/essentials/commands/Commandwhois.java @@ -16,8 +16,17 @@ import static com.earth2me.essentials.I18n.tl; public class Commandwhois extends EssentialsCommand { + private Statistic playOneTick; + public Commandwhois() { super("whois"); + try { + // For some reason, in 1.13 PLAY_ONE_MINUTE = ticks played + // https://hub.spigotmc.org/stash/projects/SPIGOT/repos/bukkit/commits/b848d8ce633871b52115247b089029749c02f579 + playOneTick = Statistic.valueOf("PLAY_ONE_MINUTE"); + } catch (IllegalArgumentException e) { + playOneTick = Statistic.valueOf("PLAY_ONE_TICK"); + } } @Override @@ -36,7 +45,7 @@ public class Commandwhois extends EssentialsCommand { sender.sendMessage(tl("whoisHunger", user.getBase().getFoodLevel(), user.getBase().getSaturation())); sender.sendMessage(tl("whoisExp", SetExpFix.getTotalExperience(user.getBase()), user.getBase().getLevel())); sender.sendMessage(tl("whoisLocation", user.getLocation().getWorld().getName(), user.getLocation().getBlockX(), user.getLocation().getBlockY(), user.getLocation().getBlockZ())); - long playtimeMs = System.currentTimeMillis() - (user.getBase().getStatistic(Statistic.PLAY_ONE_MINUTE) * 60); + long playtimeMs = System.currentTimeMillis() - (user.getBase().getStatistic(playOneTick) * 50); sender.sendMessage(tl("whoisPlaytime", DateUtil.formatDateDiff(playtimeMs))); if (!ess.getSettings().isEcoDisabled()) { sender.sendMessage(tl("whoisMoney", NumberUtil.displayCurrency(user.getMoney(), ess)));