From f5e26e5e9c8d440ecfd12415a491a0fbeea5a6e7 Mon Sep 17 00:00:00 2001 From: Frank Date: Sat, 10 Dec 2022 13:19:32 +0100 Subject: [PATCH] [Changes] new `AdvancementDataProvider` with Mod Filter --- .../v3/datagen/AdvancementDataProvider.java | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 src/main/java/org/betterx/bclib/api/v3/datagen/AdvancementDataProvider.java diff --git a/src/main/java/org/betterx/bclib/api/v3/datagen/AdvancementDataProvider.java b/src/main/java/org/betterx/bclib/api/v3/datagen/AdvancementDataProvider.java new file mode 100644 index 00000000..c6853af7 --- /dev/null +++ b/src/main/java/org/betterx/bclib/api/v3/datagen/AdvancementDataProvider.java @@ -0,0 +1,28 @@ +package org.betterx.bclib.api.v3.datagen; + +import org.betterx.bclib.api.v2.advancement.AdvancementManager; + +import net.minecraft.advancements.Advancement; + +import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput; +import net.fabricmc.fabric.api.datagen.v1.provider.FabricAdvancementProvider; + +import java.util.List; +import java.util.function.Consumer; + +public abstract class AdvancementDataProvider extends FabricAdvancementProvider { + protected final List modIDs; + + protected AdvancementDataProvider(List modIDs, FabricDataOutput output) { + super(output); + this.modIDs = modIDs; + } + + protected abstract void bootstrap(); + + @Override + public void generateAdvancement(Consumer consumer) { + bootstrap(); + AdvancementManager.registerAllDataGen(modIDs, consumer); + } +}