From 011fa3cb9738bd1ebafa2c4b76a2803734a231e9 Mon Sep 17 00:00:00 2001 From: stellanera Date: Sun, 19 Apr 2026 18:52:24 +0200 Subject: [PATCH] initial recipe gen work --- .../java/wayoftime/bloodmagic/Datagen.java | 1 + .../builder/recipe/AltarRecipeBuilder.java | 1 + .../datagen/content/recipe/ARC.java | 12 ++++++++++ .../datagen/content/recipe/AlchemyTable.java | 10 ++++++++ .../datagen/content/recipe/ArcaneAsh.java | 11 +++++++++ .../datagen/content/recipe/BloodAltar.java | 20 ++++++++++++++++ .../datagen/content/recipe/HellfireForge.java | 11 +++++++++ .../datagen/provider/BMRecipeProvider.java | 24 +++++++++++++++++++ 8 files changed, 90 insertions(+) create mode 100644 src/datagen/java/wayoftime/bloodmagic/datagen/content/recipe/ARC.java create mode 100644 src/datagen/java/wayoftime/bloodmagic/datagen/content/recipe/AlchemyTable.java create mode 100644 src/datagen/java/wayoftime/bloodmagic/datagen/content/recipe/ArcaneAsh.java create mode 100644 src/datagen/java/wayoftime/bloodmagic/datagen/content/recipe/BloodAltar.java create mode 100644 src/datagen/java/wayoftime/bloodmagic/datagen/content/recipe/HellfireForge.java create mode 100644 src/datagen/java/wayoftime/bloodmagic/datagen/provider/BMRecipeProvider.java diff --git a/src/datagen/java/wayoftime/bloodmagic/Datagen.java b/src/datagen/java/wayoftime/bloodmagic/Datagen.java index dc7ea6263e..20b28c63e7 100644 --- a/src/datagen/java/wayoftime/bloodmagic/Datagen.java +++ b/src/datagen/java/wayoftime/bloodmagic/Datagen.java @@ -47,5 +47,6 @@ public static void gatherData(GatherDataEvent event) { event.createProvider(BMDataMapProvider::new); event.createProvider(BMLootTableProvider::new); + event.createProvider(BMRecipeProvider::new); } } diff --git a/src/datagen/java/wayoftime/bloodmagic/datagen/builder/recipe/AltarRecipeBuilder.java b/src/datagen/java/wayoftime/bloodmagic/datagen/builder/recipe/AltarRecipeBuilder.java index 3a702336ea..5bed026c8a 100644 --- a/src/datagen/java/wayoftime/bloodmagic/datagen/builder/recipe/AltarRecipeBuilder.java +++ b/src/datagen/java/wayoftime/bloodmagic/datagen/builder/recipe/AltarRecipeBuilder.java @@ -8,6 +8,7 @@ import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.crafting.Ingredient; import net.minecraft.world.level.ItemLike; +import wayoftime.bloodmagic.BloodMagic; import wayoftime.bloodmagic.common.recipe.bloodaltar.BloodAltarRecipe; import java.util.Objects; diff --git a/src/datagen/java/wayoftime/bloodmagic/datagen/content/recipe/ARC.java b/src/datagen/java/wayoftime/bloodmagic/datagen/content/recipe/ARC.java new file mode 100644 index 0000000000..93900c3cfd --- /dev/null +++ b/src/datagen/java/wayoftime/bloodmagic/datagen/content/recipe/ARC.java @@ -0,0 +1,12 @@ +package wayoftime.bloodmagic.datagen.content.recipe; + +import net.minecraft.core.HolderLookup; +import net.minecraft.data.recipes.RecipeOutput; + +public class ARC { + + public static void build(RecipeOutput output, HolderLookup.Provider registries) { + + } +} + diff --git a/src/datagen/java/wayoftime/bloodmagic/datagen/content/recipe/AlchemyTable.java b/src/datagen/java/wayoftime/bloodmagic/datagen/content/recipe/AlchemyTable.java new file mode 100644 index 0000000000..1446b8761f --- /dev/null +++ b/src/datagen/java/wayoftime/bloodmagic/datagen/content/recipe/AlchemyTable.java @@ -0,0 +1,10 @@ +package wayoftime.bloodmagic.datagen.content.recipe; + +import net.minecraft.core.HolderLookup; +import net.minecraft.data.recipes.RecipeOutput; + +public class AlchemyTable { + + public static void build(RecipeOutput output, HolderLookup.Provider registries) { + } +} diff --git a/src/datagen/java/wayoftime/bloodmagic/datagen/content/recipe/ArcaneAsh.java b/src/datagen/java/wayoftime/bloodmagic/datagen/content/recipe/ArcaneAsh.java new file mode 100644 index 0000000000..92aad1516c --- /dev/null +++ b/src/datagen/java/wayoftime/bloodmagic/datagen/content/recipe/ArcaneAsh.java @@ -0,0 +1,11 @@ +package wayoftime.bloodmagic.datagen.content.recipe; + +import net.minecraft.core.HolderLookup; +import net.minecraft.data.recipes.RecipeOutput; + +public class ArcaneAsh { + + public static void build(RecipeOutput output, HolderLookup.Provider registries) { + + } +} diff --git a/src/datagen/java/wayoftime/bloodmagic/datagen/content/recipe/BloodAltar.java b/src/datagen/java/wayoftime/bloodmagic/datagen/content/recipe/BloodAltar.java new file mode 100644 index 0000000000..1a20891710 --- /dev/null +++ b/src/datagen/java/wayoftime/bloodmagic/datagen/content/recipe/BloodAltar.java @@ -0,0 +1,20 @@ +package wayoftime.bloodmagic.datagen.content.recipe; + +import net.minecraft.core.HolderLookup; +import net.minecraft.data.recipes.RecipeOutput; +import wayoftime.bloodmagic.BloodMagic; +import wayoftime.bloodmagic.common.item.BMItems; +import wayoftime.bloodmagic.datagen.builder.recipe.AltarRecipeBuilder; + +public class BloodAltar { + + public static void build(RecipeOutput output, HolderLookup.Provider registries) { + AltarRecipeBuilder.build(BMItems.SLATE_IMBUED.get()) + .bloodNeeded(5000) + .consumption(15) + .drain(10) + .from(BMItems.SLATE_REINFORCED.get()) + .minTier(3) + .save(output, BMItems.SLATE_IMBUED.getId()); + } +} diff --git a/src/datagen/java/wayoftime/bloodmagic/datagen/content/recipe/HellfireForge.java b/src/datagen/java/wayoftime/bloodmagic/datagen/content/recipe/HellfireForge.java new file mode 100644 index 0000000000..a7c597f120 --- /dev/null +++ b/src/datagen/java/wayoftime/bloodmagic/datagen/content/recipe/HellfireForge.java @@ -0,0 +1,11 @@ +package wayoftime.bloodmagic.datagen.content.recipe; + +import net.minecraft.core.HolderLookup; +import net.minecraft.data.recipes.RecipeOutput; + +public class HellfireForge { + + public static void build(RecipeOutput output, HolderLookup.Provider registries) { + + } +} diff --git a/src/datagen/java/wayoftime/bloodmagic/datagen/provider/BMRecipeProvider.java b/src/datagen/java/wayoftime/bloodmagic/datagen/provider/BMRecipeProvider.java new file mode 100644 index 0000000000..0f4662033e --- /dev/null +++ b/src/datagen/java/wayoftime/bloodmagic/datagen/provider/BMRecipeProvider.java @@ -0,0 +1,24 @@ +package wayoftime.bloodmagic.datagen.provider; + +import net.minecraft.core.HolderLookup; +import net.minecraft.data.PackOutput; +import net.minecraft.data.recipes.RecipeOutput; +import net.minecraft.data.recipes.RecipeProvider; +import wayoftime.bloodmagic.datagen.content.recipe.*; + +import java.util.concurrent.CompletableFuture; + +public class BMRecipeProvider extends RecipeProvider { + public BMRecipeProvider(PackOutput output, CompletableFuture registries) { + super(output, registries); + } + + @Override + protected void buildRecipes(RecipeOutput output, HolderLookup.Provider registries) { + AlchemyTable.build(output, registries); + ARC.build(output, registries); + ArcaneAsh.build(output, registries); + BloodAltar.build(output, registries); + HellfireForge.build(output, registries); + } +}