spigot/CraftBukkit-Patches/0124-Configurable-Advancement-Disabling.patch
2018-07-22 12:00:00 +10:00

54 lines
2.8 KiB
Diff

From 557d17f26b5e730a891025a2d7b6b44459f83c09 Mon Sep 17 00:00:00 2001
From: md_5 <git@md-5.net>
Date: Fri, 9 Jun 2017 16:29:31 +1000
Subject: [PATCH] Configurable Advancement Disabling
Allow disabling any (or all) inbuilt advancements with a configuration option.
diff --git a/src/main/java/net/minecraft/server/AdvancementDataPlayer.java b/src/main/java/net/minecraft/server/AdvancementDataPlayer.java
index fc34bc7ed..d0eb65aaf 100644
--- a/src/main/java/net/minecraft/server/AdvancementDataPlayer.java
+++ b/src/main/java/net/minecraft/server/AdvancementDataPlayer.java
@@ -201,6 +201,7 @@ public class AdvancementDataPlayer {
}
public void c() {
+ if (org.spigotmc.SpigotConfig.disableAdvancementSaving) return;
HashMap hashmap = Maps.newHashMap();
Iterator iterator = this.data.entrySet().iterator();
diff --git a/src/main/java/net/minecraft/server/AdvancementDataWorld.java b/src/main/java/net/minecraft/server/AdvancementDataWorld.java
index 47279ebfd..5a49181bc 100644
--- a/src/main/java/net/minecraft/server/AdvancementDataWorld.java
+++ b/src/main/java/net/minecraft/server/AdvancementDataWorld.java
@@ -50,6 +50,11 @@ public class AdvancementDataWorld implements IResourcePackListener {
try {
IResource iresource = iresourcemanager.a(minecraftkey);
Throwable throwable = null;
+ // Spigot start
+ if (org.spigotmc.SpigotConfig.disabledAdvancements != null && (org.spigotmc.SpigotConfig.disabledAdvancements.contains("*") || org.spigotmc.SpigotConfig.disabledAdvancements.contains(minecraftkey.toString()))) {
+ continue;
+ }
+ // Spigot end
try {
Advancement.SerializedAdvancement advancement_serializedadvancement = (Advancement.SerializedAdvancement) ChatDeserializer.a(AdvancementDataWorld.DESERIALIZER, IOUtils.toString(iresource.b(), StandardCharsets.UTF_8), Advancement.SerializedAdvancement.class);
diff --git a/src/main/java/org/spigotmc/SpigotConfig.java b/src/main/java/org/spigotmc/SpigotConfig.java
index ed697b216..5175e9523 100644
--- a/src/main/java/org/spigotmc/SpigotConfig.java
+++ b/src/main/java/org/spigotmc/SpigotConfig.java
@@ -384,4 +384,11 @@ public class SpigotConfig
private static void itemDirtyTicks() {
itemDirtyTicks = getInt("settings.item-dirty-ticks", 20);
}
+
+ public static boolean disableAdvancementSaving;
+ public static List<String> disabledAdvancements;
+ private static void disabledAdvancements() {
+ disableAdvancementSaving = getBoolean("advancements.disable-saving", false);
+ disabledAdvancements = getList("advancements.disabled", Arrays.asList(new String[]{"minecraft:story/disabled"}));
+ }
}
--
2.17.1