spigot/CraftBukkit-Patches/0093-Configurable-Advancement-Disabling.patch
2021-04-07 15:06:29 +10:00

55 lines
2.8 KiB
Diff

From 555719d347081a0304b346913eed980a44c240ff 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 4b6db6ac9..d832cc2f3 100644
--- a/src/main/java/net/minecraft/server/AdvancementDataPlayer.java
+++ b/src/main/java/net/minecraft/server/AdvancementDataPlayer.java
@@ -220,6 +220,7 @@ public class AdvancementDataPlayer {
}
public void b() {
+ if (org.spigotmc.SpigotConfig.disableAdvancementSaving) return; // Spigot
Map<MinecraftKey, AdvancementProgress> map = 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 fceba94d0..c0afe75e0 100644
--- a/src/main/java/net/minecraft/server/AdvancementDataWorld.java
+++ b/src/main/java/net/minecraft/server/AdvancementDataWorld.java
@@ -40,6 +40,12 @@ public class AdvancementDataWorld extends ResourceDataJson {
Map<MinecraftKey, Advancement.SerializedAdvancement> map1 = Maps.newHashMap();
map.forEach((minecraftkey, jsonelement) -> {
+ // Spigot start
+ if (org.spigotmc.SpigotConfig.disabledAdvancements != null && (org.spigotmc.SpigotConfig.disabledAdvancements.contains("*") || org.spigotmc.SpigotConfig.disabledAdvancements.contains(minecraftkey.toString()) || org.spigotmc.SpigotConfig.disabledAdvancements.contains(minecraftkey.getNamespace()))) {
+ return;
+ }
+ // Spigot end
+
try {
JsonObject jsonobject = ChatDeserializer.m(jsonelement, "advancement");
Advancement.SerializedAdvancement advancement_serializedadvancement = Advancement.SerializedAdvancement.a(jsonobject, new LootDeserializationContext(minecraftkey, this.d));
diff --git a/src/main/java/org/spigotmc/SpigotConfig.java b/src/main/java/org/spigotmc/SpigotConfig.java
index cee1c7313..29d804f7a 100644
--- a/src/main/java/org/spigotmc/SpigotConfig.java
+++ b/src/main/java/org/spigotmc/SpigotConfig.java
@@ -379,4 +379,11 @@ public class SpigotConfig
Bukkit.getLogger().info( "Debug logging is disabled" );
}
}
+
+ 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.25.1