094bb03a37
- Lots of itemstack cloning removed. Only clone if the item is actually moved - Return true when a plugin cancels inventory move item event instead of false, as false causes pulls to cycle through all items. However, pushes do not exhibit the same behavior, so this is not something plugins could of been relying on. - Add option (Default on) to cooldown hoppers when they fail to move an item due to full inventory - Skip subsequent InventoryMoveItemEvents if a plugin does not use the item after first event fire for an iteration
58 Zeilen
2.6 KiB
Diff
58 Zeilen
2.6 KiB
Diff
From 9645473bc0f79de0b3d578f53afb4c1bc42a8094 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 da0984a35..28917f63d 100644
|
|
--- a/src/main/java/com/destroystokyo/paper/PaperConfig.java
|
|
+++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java
|
|
@@ -256,4 +256,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 14af226f3..e3d2c0ff7 100644
|
|
--- a/src/main/java/net/minecraft/server/ServerStatisticManager.java
|
|
+++ b/src/main/java/net/minecraft/server/ServerStatisticManager.java
|
|
@@ -86,6 +86,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();
|
|
@@ -119,9 +120,17 @@ public class ServerStatisticManager extends StatisticManager {
|
|
hashmap.put(statistic, statisticwrapper);
|
|
} else {
|
|
ServerStatisticManager.b.warn("Invalid statistic in {}: Don\'t know what {} is", 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.16.1
|
|
|