spigot/CraftBukkit-Patches/0082-Configurable-Advancement-Disabling.patch

56 lines
2.8 KiB
Diff
Raw Normal View History

2023-12-06 03:40:00 +11:00
From 77c18017d6bb1c4d7cf99fba7aa4a2d535c84b61 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
2023-12-06 03:40:00 +11:00
index e6497bae22..fbd4847950 100644
--- a/src/main/java/net/minecraft/server/AdvancementDataPlayer.java
+++ b/src/main/java/net/minecraft/server/AdvancementDataPlayer.java
2023-12-06 03:40:00 +11:00
@@ -162,6 +162,7 @@ public class AdvancementDataPlayer {
}
2021-11-22 09:00:00 +11:00
public void save() {
2020-06-25 10:00:00 +10:00
+ if (org.spigotmc.SpigotConfig.disableAdvancementSaving) return; // Spigot
2023-09-22 02:40:00 +10:00
JsonElement jsonelement = (JsonElement) SystemUtils.getOrThrow(this.codec.encodeStart(JsonOps.INSTANCE, this.asData()), IllegalStateException::new);
2023-09-22 02:40:00 +10:00
try {
diff --git a/src/main/java/net/minecraft/server/AdvancementDataWorld.java b/src/main/java/net/minecraft/server/AdvancementDataWorld.java
2023-12-06 03:40:00 +11:00
index 334fb4f4c6..2356d8f1ee 100644
--- a/src/main/java/net/minecraft/server/AdvancementDataWorld.java
+++ b/src/main/java/net/minecraft/server/AdvancementDataWorld.java
2023-12-06 03:40:00 +11:00
@@ -46,6 +46,12 @@ public class AdvancementDataWorld extends ResourceDataJson {
2023-09-22 02:40:00 +10:00
Builder<MinecraftKey, AdvancementHolder> builder = ImmutableMap.builder();
2019-06-21 20:00:00 +10:00
2020-06-25 10:00:00 +10:00
map.forEach((minecraftkey, jsonelement) -> {
2019-06-21 20:00:00 +10:00
+ // 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()))) {
2019-06-21 20:00:00 +10:00
+ return;
+ }
+ // Spigot end
+
2018-07-15 10:00:00 +10:00
try {
2023-12-06 03:40:00 +11:00
Advancement advancement = (Advancement) SystemUtils.getOrThrow(Advancement.CODEC.parse(JsonOps.INSTANCE, jsonelement), JsonParseException::new);
diff --git a/src/main/java/org/spigotmc/SpigotConfig.java b/src/main/java/org/spigotmc/SpigotConfig.java
2023-09-22 02:40:00 +10:00
index b86000179d..b99e433523 100644
--- a/src/main/java/org/spigotmc/SpigotConfig.java
+++ b/src/main/java/org/spigotmc/SpigotConfig.java
2019-07-30 20:52:01 +10:00
@@ -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"}));
+ }
}
--
2023-12-06 03:40:00 +11:00
2.43.0