From 679a3620da20a40c645ef918fef544e7bedf48c7 Mon Sep 17 00:00:00 2001 From: Andy Wilson Date: Sun, 15 Feb 2026 09:33:07 +0000 Subject: [PATCH 1/2] feat: add furnace recipe --- .../tcm/MineTale/datagen/ModRecipeProvider.java | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/src/client/java/com/tcm/MineTale/datagen/ModRecipeProvider.java b/src/client/java/com/tcm/MineTale/datagen/ModRecipeProvider.java index 8f1f4e5..cc5101f 100644 --- a/src/client/java/com/tcm/MineTale/datagen/ModRecipeProvider.java +++ b/src/client/java/com/tcm/MineTale/datagen/ModRecipeProvider.java @@ -13,12 +13,9 @@ import net.minecraft.core.HolderLookup; import net.minecraft.data.recipes.RecipeOutput; import net.minecraft.data.recipes.RecipeProvider; -import net.minecraft.tags.BlockTags; import net.minecraft.tags.ItemTags; -import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.Items; import net.minecraft.world.item.crafting.CraftingBookCategory; -import net.minecraft.world.item.crafting.Ingredient; public class ModRecipeProvider extends FabricRecipeProvider { /** @@ -65,6 +62,8 @@ public void buildRecipes() { .save(exporter, "campfire_pork_cooking"); // Workbench Recipes + + // 1. Workbenches new WorkbenchRecipeBuilder(ModRecipes.WORKBENCH_TYPE, ModRecipes.WORKBENCH_SERIALIZER) .input(Items.COPPER_INGOT, 2) .input(ItemTags.LOGS, registryLookup, 10) @@ -74,6 +73,16 @@ public void buildRecipes() { .bookCategory(ModRecipeDisplay.WORKBENCH_SEARCH) .save(exporter, "workbench_armorers_workbench"); + new WorkbenchRecipeBuilder(ModRecipes.WORKBENCH_TYPE, ModRecipes.WORKBENCH_SERIALIZER) + .input(ItemTags.LOGS, registryLookup, 6) + .input(ItemTags.STONE_TOOL_MATERIALS, registryLookup, 6) + .output(ModBlocks.FURNACE_WORKBENCH_BLOCK_T1.asItem()) + .unlockedBy("has_workbench", has(ModBlocks.WORKBENCH_WORKBENCH_BLOCK.asItem())) + .bookCategory(ModRecipeDisplay.WORKBENCH_SEARCH) + .save(exporter, "workbench_furnace_workbench_t1"); + + + // 2. Chests new WorkbenchRecipeBuilder(ModRecipes.WORKBENCH_TYPE, ModRecipes.WORKBENCH_SERIALIZER) .input(ItemTags.LOGS, registryLookup, 10) .output(Items.CHEST) @@ -83,6 +92,8 @@ public void buildRecipes() { .save(exporter, "workbench_wood_chest"); // Furnace Recipes + + // 1. Ingots new WorkbenchRecipeBuilder(ModRecipes.FURNACE_T1_TYPE, ModRecipes.FURNACE_SERIALIZER) .input(Items.COPPER_ORE) .output(Items.COPPER_INGOT) From 0e146cf8c5da0fb00eb637faa08855f21df916c4 Mon Sep 17 00:00:00 2001 From: "coderabbitai[bot]" <136622811+coderabbitai[bot]@users.noreply.github.com> Date: Sun, 15 Feb 2026 09:37:04 +0000 Subject: [PATCH 2/2] =?UTF-8?q?=F0=9F=93=9D=20Add=20docstrings=20to=20`fea?= =?UTF-8?q?t/add-items`?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Docstrings generation was requested by @The-Code-Monkey. * https://github.com/CodeMonkeysMods/MineTale/pull/44#issuecomment-3903975877 The following files were modified: * `src/client/java/com/tcm/MineTale/datagen/ModRecipeProvider.java` --- .../MineTale/datagen/ModRecipeProvider.java | 27 ++++++++++++------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/src/client/java/com/tcm/MineTale/datagen/ModRecipeProvider.java b/src/client/java/com/tcm/MineTale/datagen/ModRecipeProvider.java index cc5101f..9cbd11d 100644 --- a/src/client/java/com/tcm/MineTale/datagen/ModRecipeProvider.java +++ b/src/client/java/com/tcm/MineTale/datagen/ModRecipeProvider.java @@ -29,25 +29,32 @@ public ModRecipeProvider(FabricDataOutput output, CompletableFutureThe produced provider registers these recipes: + * - Campfire pork cooking: cooks a porkchop into a cooked porkchop and is saved as "campfire_pork_cooking". + * - Workbench recipes: + * - Armorers workbench (produces the armorers workbench block) saved as "workbench_armorers_workbench". + * - Furnace workbench T1 (produces the furnace workbench T1 block) saved as "workbench_furnace_workbench_t1". + * - Wood chest (crafts a chest from logs) saved as "workbench_wood_chest". + * - Furnace T1 ingot: smelts copper ore into a copper ingot and is saved as "furnace_t1_copper_ingot". * * @param registryLookup provider for looking up game registries and tags used when building recipes * @param exporter destination used to write the generated recipe JSON files - * @return a RecipeProvider that produces and saves the described recipes to the exporter + * @return a RecipeProvider that generates and saves the described recipes to the exporter */ @Override protected RecipeProvider createRecipeProvider(HolderLookup.Provider registryLookup, RecipeOutput exporter) { return new RecipeProvider(registryLookup, exporter) { /** - * Registers three mod-specific recipes with the recipe exporter: - * a campfire pork cooking recipe producing cooked porkchop (unlocked by having a porkchop, saved as "campfire_pork_cooking"), a furnace pork cooking recipe producing an acacia boat (unlocked by having a porkchop, saved as "furnace_pork_cooking"), and a workbench recipe that crafts a chest from 5 logs and 10 sticks (unlocked by having logs, saved as "workbench_wood_chest"). + * Register the mod's recipes with the recipe exporter. + * + *

Registers the following recipes and their unlock conditions, categories, and export names: + * - Campfire: porkchop → cooked porkchop (unlock: has porkchop; category: MISC; saved as "campfire_pork_cooking"). + * - Workbench (Armorers): 2 copper ingots, 10 logs, 5 stone tool materials → armorers workbench (unlock: has workbench; saved as "workbench_armorers_workbench"). + * - Workbench (Furnace T1): 6 logs, 6 stone tool materials → furnace workbench T1 (unlock: has workbench; saved as "workbench_furnace_workbench_t1"). + * - Workbench (Chests): 10 logs → chest (unlock: has logs; category: MISC; saved as "workbench_wood_chest"). + * - Furnace T1 (Ingots): copper ore → copper ingot (time: 10; unlock: has copper ore; saved as "furnace_t1_copper_ingot"). */ @Override public void buildRecipes() {