diff --git a/pom.xml b/pom.xml
index 68f5c1c..bc325c9 100644
--- a/pom.xml
+++ b/pom.xml
@@ -4,7 +4,7 @@
4.0.0
com.extendedclip.papi.expansion.mcstatistics
statistics-expansion
- 2.0.0
+ 2.0.1
PAPI-Expansion-Statistic
PlaceholderAPI expansion for minecraft statistic placeholders
diff --git a/src/main/java/com/extendedclip/papi/expansion/mcstatistics/StatisticsExpansion.java b/src/main/java/com/extendedclip/papi/expansion/mcstatistics/StatisticsExpansion.java
index 4ffbe18..47d411f 100644
--- a/src/main/java/com/extendedclip/papi/expansion/mcstatistics/StatisticsExpansion.java
+++ b/src/main/java/com/extendedclip/papi/expansion/mcstatistics/StatisticsExpansion.java
@@ -34,8 +34,6 @@
import org.bukkit.entity.EntityType;
import org.bukkit.entity.Player;
-import java.time.Duration;
-import java.time.temporal.ChronoUnit;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.concurrent.atomic.AtomicLong;
@@ -47,7 +45,7 @@ public class StatisticsExpansion extends PlaceholderExpansion implements Cacheab
private final String VERSION = getClass().getPackage().getImplementationVersion();
private final boolean isLegacy = !Enums.getIfPresent(Material.class, "TURTLE_HELMET").isPresent();
public static final String SERVER_VERSION = Bukkit.getBukkitVersion().split("-")[0];
-
+
@Override
public String getAuthor() {
return "clip";
@@ -100,7 +98,7 @@ public String onRequest(final OfflinePlayer offlinePlayer, String identifier) {
* Time played
*/
case "time_played": {
- return StatisticsUtils.formatTime(Duration.of(secondsPlayed, ChronoUnit.SECONDS));
+ return StatisticsUtils.formatTime(secondsPlayed);
}
case "time_played:seconds": {
@@ -139,7 +137,7 @@ public String onRequest(final OfflinePlayer offlinePlayer, String identifier) {
* Time since last death
*/
case "time_since_death": {
- return StatisticsUtils.formatTime(Duration.of(secondsSinceLastDeath, ChronoUnit.SECONDS));
+ return StatisticsUtils.formatTime(secondsSinceLastDeath);
}
case "seconds_since_death": {
@@ -278,6 +276,10 @@ private String calculateTotal(final Player player, final Statistic statistic) {
continue;
}
+ if (!isLegacy && material.name().startsWith("LEGACY") || material.name().equals("BURNING_FURNACE")) {
+ continue;
+ }
+
if (statistic == Statistic.MINE_BLOCK && (material.name().equals("GRASS") || material.name().equals("SOIL"))) {
continue;
}
diff --git a/src/main/java/com/extendedclip/papi/expansion/mcstatistics/StatisticsUtils.java b/src/main/java/com/extendedclip/papi/expansion/mcstatistics/StatisticsUtils.java
index d979e17..f344ddf 100644
--- a/src/main/java/com/extendedclip/papi/expansion/mcstatistics/StatisticsUtils.java
+++ b/src/main/java/com/extendedclip/papi/expansion/mcstatistics/StatisticsUtils.java
@@ -22,12 +22,11 @@
import com.google.common.base.Enums;
import com.google.common.base.Optional;
-import org.bukkit.Bukkit;
import org.bukkit.Material;
import org.bukkit.Statistic;
import org.bukkit.entity.Player;
-import java.time.Duration;
+import java.util.StringJoiner;
public class StatisticsUtils {
public static int getSecondsPlayed(final Player player, final boolean isLegacy) {
@@ -117,50 +116,33 @@ public static boolean isItem(final Material material, final boolean isLegacy) {
}
}
- /**
- * @author Sxtanna
- */
- public static String formatTime(final Duration duration) {
- final StringBuilder builder = new StringBuilder();
+ public static String formatTime(long seconds) {
+ final StringJoiner joiner = new StringJoiner(" ");
- long seconds = duration.getSeconds();
long minutes = seconds / 60;
long hours = minutes / 60;
- long days = hours / 24;
+ final long days = hours / 24;
seconds %= 60;
minutes %= 60;
- hours %= 60;
- days %= 24;
+ hours %= 24;
- if (seconds > 0) {
- builder.insert(0, seconds + "s");
- }
-
- if (minutes > 0) {
- if (builder.length() > 0) {
- builder.insert(0, ' ');
- }
-
- builder.insert(0, minutes + "m");
+ if (days > 0) {
+ joiner.add(days + "d");
}
if (hours > 0) {
- if (builder.length() > 0) {
- builder.insert(0, ' ');
- }
-
- builder.insert(0, hours + "h");
+ joiner.add(hours + "h");
}
- if (days > 0) {
- if (builder.length() > 0) {
- builder.insert(0, ' ');
- }
+ if (minutes > 0) {
+ joiner.add(minutes + "m");
+ }
- builder.insert(0, days + "d");
+ if (seconds > 0) {
+ joiner.add(seconds + "s");
}
- return builder.toString();
+ return joiner.toString();
}
}