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

55 lines
2.8 KiB
Diff
Raw Normal View History

2019-04-25 12:00:00 +10:00
From 6f6b47f8caf0d8200fa3b5514cd45983c654c1ee 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
2019-04-25 12:00:00 +10:00
index d9ad108b5..71158ea8b 100644
--- a/src/main/java/net/minecraft/server/AdvancementDataPlayer.java
+++ b/src/main/java/net/minecraft/server/AdvancementDataPlayer.java
2019-04-23 12:00:00 +10:00
@@ -199,6 +199,7 @@ public class AdvancementDataPlayer {
}
public void c() {
+ if (org.spigotmc.SpigotConfig.disableAdvancementSaving) return;
2018-12-26 08:00:00 +11:00
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
2019-04-25 12:00:00 +10:00
index f3595b000..09f7a84f4 100644
--- a/src/main/java/net/minecraft/server/AdvancementDataWorld.java
+++ b/src/main/java/net/minecraft/server/AdvancementDataWorld.java
2018-12-26 08:00:00 +11:00
@@ -47,6 +47,11 @@ public class AdvancementDataWorld implements IResourcePackListener {
2018-07-15 10:00:00 +10:00
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
2018-07-15 10:00:00 +10:00
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
2019-04-25 12:00:00 +10:00
index 3a8c825ff..3fa9d61fd 100644
--- a/src/main/java/org/spigotmc/SpigotConfig.java
+++ b/src/main/java/org/spigotmc/SpigotConfig.java
2018-12-28 10:22:10 +11:00
@@ -384,4 +384,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"}));
+ }
}
--
2019-04-23 09:33:25 +10:00
2.20.1