mirror of
https://github.com/PaperMC/Paper.git
synced 2025-08-04 14:12:20 -07:00
Configurable Advancement Disabling
Allow disabling any (or all) inbuilt advancements with a configuration option. By: md_5 <git@md-5.net>
This commit is contained in:
@@ -1,6 +1,14 @@
|
|||||||
--- a/net/minecraft/server/PlayerAdvancements.java
|
--- a/net/minecraft/server/PlayerAdvancements.java
|
||||||
+++ b/net/minecraft/server/PlayerAdvancements.java
|
+++ b/net/minecraft/server/PlayerAdvancements.java
|
||||||
@@ -196,6 +196,7 @@
|
@@ -162,6 +162,7 @@
|
||||||
|
}
|
||||||
|
|
||||||
|
public void save() {
|
||||||
|
+ if (org.spigotmc.SpigotConfig.disableAdvancementSaving) return; // Spigot
|
||||||
|
JsonElement jsonelement = (JsonElement) this.codec.encodeStart(JsonOps.INSTANCE, this.asData()).getOrThrow();
|
||||||
|
|
||||||
|
try {
|
||||||
|
@@ -196,6 +197,7 @@
|
||||||
AdvancementHolder advancementholder = loader.get(minecraftkey);
|
AdvancementHolder advancementholder = loader.get(minecraftkey);
|
||||||
|
|
||||||
if (advancementholder == null) {
|
if (advancementholder == null) {
|
||||||
@@ -8,7 +16,7 @@
|
|||||||
PlayerAdvancements.LOGGER.warn("Ignored advancement '{}' in progress file {} - it doesn't exist anymore?", minecraftkey, this.playerSavePath);
|
PlayerAdvancements.LOGGER.warn("Ignored advancement '{}' in progress file {} - it doesn't exist anymore?", minecraftkey, this.playerSavePath);
|
||||||
} else {
|
} else {
|
||||||
this.startProgress(advancementholder, advancementprogress);
|
this.startProgress(advancementholder, advancementprogress);
|
||||||
@@ -227,6 +228,7 @@
|
@@ -227,6 +229,7 @@
|
||||||
this.progressChanged.add(advancement);
|
this.progressChanged.add(advancement);
|
||||||
flag = true;
|
flag = true;
|
||||||
if (!flag1 && advancementprogress.isDone()) {
|
if (!flag1 && advancementprogress.isDone()) {
|
||||||
|
@@ -16,7 +16,15 @@
|
|||||||
private AdvancementTree tree = new AdvancementTree();
|
private AdvancementTree tree = new AdvancementTree();
|
||||||
private final HolderLookup.Provider registries;
|
private final HolderLookup.Provider registries;
|
||||||
|
|
||||||
@@ -40,7 +44,7 @@
|
@@ -37,10 +41,15 @@
|
||||||
|
Builder<ResourceLocation, AdvancementHolder> builder = ImmutableMap.builder();
|
||||||
|
|
||||||
|
prepared.forEach((minecraftkey, advancement) -> {
|
||||||
|
+ // 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
|
||||||
this.validate(minecraftkey, advancement);
|
this.validate(minecraftkey, advancement);
|
||||||
builder.put(minecraftkey, new AdvancementHolder(minecraftkey, advancement));
|
builder.put(minecraftkey, new AdvancementHolder(minecraftkey, advancement));
|
||||||
});
|
});
|
||||||
|
@@ -382,4 +382,11 @@ public class SpigotConfig
|
|||||||
Bukkit.getLogger().info( "Debug logging is disabled" );
|
Bukkit.getLogger().info( "Debug logging is disabled" );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static boolean disableAdvancementSaving;
|
||||||
|
public static List<String> disabledAdvancements;
|
||||||
|
private static void disabledAdvancements() {
|
||||||
|
SpigotConfig.disableAdvancementSaving = SpigotConfig.getBoolean("advancements.disable-saving", false);
|
||||||
|
SpigotConfig.disabledAdvancements = SpigotConfig.getList("advancements.disabled", Arrays.asList(new String[]{"minecraft:story/disabled"}));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user