mirror of
https://github.com/PaperMC/Paper.git
synced 2024-11-25 16:50:17 +01:00
ffb572ce9a
Spigot has patched this issue inside MapIcon, meaning that we no longer need to maintain this patch; Spigots patch also fixes #668 in that it will verify the length of the array, as well as protect against a negative type value being fetched from the array. Only real change is that Spigots patch returns a MapIcon.Type.PLAYER, instead of the RED_MARKER as originally PR'd by Aikar.
57 lines
2.6 KiB
Diff
57 lines
2.6 KiB
Diff
From 1266f16b4aa8a1dc81aa3fcbbdabea44fc54ab1d Mon Sep 17 00:00:00 2001
|
|
From: Zach Brown <zach.brown@destroystokyo.com>
|
|
Date: Tue, 20 Dec 2016 23:09:21 -0600
|
|
Subject: [PATCH] Add option to remove invalid statistics
|
|
|
|
|
|
diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java
|
|
index 009bf0c8..a901cd85 100644
|
|
--- a/src/main/java/com/destroystokyo/paper/PaperConfig.java
|
|
+++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java
|
|
@@ -261,4 +261,13 @@ public class PaperConfig {
|
|
private static void playerAutoSaveRate() {
|
|
playerAutoSaveRate = getInt("settings.player-auto-save-rate", -1);
|
|
}
|
|
+
|
|
+ public static boolean removeInvalidStatistics = false;
|
|
+ private static void removeInvalidStatistics() {
|
|
+ if (version < 12) {
|
|
+ boolean oldValue = getBoolean("remove-invalid-statistics", false);
|
|
+ set("settings.remove-invalid-statistics", oldValue);
|
|
+ }
|
|
+ removeInvalidStatistics = getBoolean("settings.remove-invalid-statistics", false);
|
|
+ }
|
|
}
|
|
diff --git a/src/main/java/net/minecraft/server/ServerStatisticManager.java b/src/main/java/net/minecraft/server/ServerStatisticManager.java
|
|
index 99466dbd..d1bee025 100644
|
|
--- a/src/main/java/net/minecraft/server/ServerStatisticManager.java
|
|
+++ b/src/main/java/net/minecraft/server/ServerStatisticManager.java
|
|
@@ -104,6 +104,7 @@ public class ServerStatisticManager extends StatisticManager {
|
|
JsonObject jsonobject = jsonelement.getAsJsonObject();
|
|
HashMap hashmap = Maps.newHashMap();
|
|
Iterator iterator = jsonobject.entrySet().iterator();
|
|
+ java.util.List<String> invalidStats = com.google.common.collect.Lists.newArrayList(); // Paper
|
|
|
|
while (iterator.hasNext()) {
|
|
Entry entry = (Entry) iterator.next();
|
|
@@ -137,9 +138,17 @@ public class ServerStatisticManager extends StatisticManager {
|
|
hashmap.put(statistic, statisticwrapper);
|
|
} else {
|
|
ServerStatisticManager.b.warn("Invalid statistic in {}: Don\'t know what {} is", new Object[] { this.d, entry.getKey()});
|
|
+ if (com.destroystokyo.paper.PaperConfig.removeInvalidStatistics) invalidStats.add((String) entry.getKey()); // Paper
|
|
}
|
|
}
|
|
|
|
+ // Paper start - Remove invalid statistics
|
|
+ for (String invalid : invalidStats) {
|
|
+ jsonobject.remove(invalid);
|
|
+ ServerStatisticManager.b.info("Removing invalid statistic: " + invalid);
|
|
+ }
|
|
+ // Paper end
|
|
+
|
|
return hashmap;
|
|
}
|
|
}
|
|
--
|
|
2.12.2
|
|
|