From 358797de9021427a8858e5063cfd03a386383311 Mon Sep 17 00:00:00 2001 From: Starexify Date: Sat, 19 Oct 2024 01:24:18 +0200 Subject: [PATCH] Testing --- .../titanium_big_sword_from_smelting.json | 32 +++++++++++++++++ .../titanium_big_sword_from_smelting.json | 13 +++++++ .../tools/titanium_big_sword_smithing.json | 32 +++++++++++++++++ .../recipe/titanium_big_sword_smithing.json | 16 +++++++++ .../big_swords_addon/data/DataGenerators.java | 2 ++ .../data/recipe/BCRecipeProvider.java | 29 +++++++++++++++ .../data/recipe/BCSmithingRecipes.java | 25 +++++++++++++ .../data/recipe/CraftingRecipes.java | 25 +++++++++++++ .../data/recipe/FurnaceRecipes.java | 35 +++++++++++++++++++ 9 files changed, 209 insertions(+) create mode 100644 src/generated/resources/data/big_swords_addon/advancement/recipes/misc/titanium_big_sword_from_smelting.json create mode 100644 src/generated/resources/data/big_swords_addon/recipe/titanium_big_sword_from_smelting.json create mode 100644 src/generated/resources/data/cosmicore/advancement/recipes/tools/titanium_big_sword_smithing.json create mode 100644 src/generated/resources/data/cosmicore/recipe/titanium_big_sword_smithing.json create mode 100644 src/main/java/net/nova/big_swords_addon/data/recipe/BCRecipeProvider.java create mode 100644 src/main/java/net/nova/big_swords_addon/data/recipe/BCSmithingRecipes.java create mode 100644 src/main/java/net/nova/big_swords_addon/data/recipe/CraftingRecipes.java create mode 100644 src/main/java/net/nova/big_swords_addon/data/recipe/FurnaceRecipes.java diff --git a/src/generated/resources/data/big_swords_addon/advancement/recipes/misc/titanium_big_sword_from_smelting.json b/src/generated/resources/data/big_swords_addon/advancement/recipes/misc/titanium_big_sword_from_smelting.json new file mode 100644 index 0000000..e9b48d1 --- /dev/null +++ b/src/generated/resources/data/big_swords_addon/advancement/recipes/misc/titanium_big_sword_from_smelting.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_the_recipe": { + "conditions": { + "recipe": "big_swords_addon:titanium_big_sword_from_smelting" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_titanium_big_sword": { + "conditions": { + "items": [ + { + "items": "big_swords_addon:titanium_big_sword" + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_titanium_big_sword" + ] + ], + "rewards": { + "recipes": [ + "big_swords_addon:titanium_big_sword_from_smelting" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/big_swords_addon/recipe/titanium_big_sword_from_smelting.json b/src/generated/resources/data/big_swords_addon/recipe/titanium_big_sword_from_smelting.json new file mode 100644 index 0000000..452d958 --- /dev/null +++ b/src/generated/resources/data/big_swords_addon/recipe/titanium_big_sword_from_smelting.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:smelting", + "category": "misc", + "cookingtime": 200, + "experience": 0.1, + "ingredient": { + "item": "big_swords_addon:titanium_big_sword" + }, + "result": { + "count": 1, + "id": "cosmicore:titanium_ingot" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/cosmicore/advancement/recipes/tools/titanium_big_sword_smithing.json b/src/generated/resources/data/cosmicore/advancement/recipes/tools/titanium_big_sword_smithing.json new file mode 100644 index 0000000..9566c48 --- /dev/null +++ b/src/generated/resources/data/cosmicore/advancement/recipes/tools/titanium_big_sword_smithing.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_the_recipe": { + "conditions": { + "recipe": "cosmicore:titanium_big_sword_smithing" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "has_titanium_ingot": { + "conditions": { + "items": [ + { + "items": "cosmicore:titanium_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_titanium_ingot" + ] + ], + "rewards": { + "recipes": [ + "cosmicore:titanium_big_sword_smithing" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/cosmicore/recipe/titanium_big_sword_smithing.json b/src/generated/resources/data/cosmicore/recipe/titanium_big_sword_smithing.json new file mode 100644 index 0000000..f86cc37 --- /dev/null +++ b/src/generated/resources/data/cosmicore/recipe/titanium_big_sword_smithing.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:smithing_transform", + "addition": { + "item": "cosmicore:titanium_ingot" + }, + "base": { + "item": "big_swords:iron_big_sword" + }, + "result": { + "count": 1, + "id": "big_swords_addon:titanium_big_sword" + }, + "template": { + "item": "cosmicore:titanium_upgrade_smithing_template" + } +} \ No newline at end of file diff --git a/src/main/java/net/nova/big_swords_addon/data/DataGenerators.java b/src/main/java/net/nova/big_swords_addon/data/DataGenerators.java index 9f48f94..5fa64ef 100644 --- a/src/main/java/net/nova/big_swords_addon/data/DataGenerators.java +++ b/src/main/java/net/nova/big_swords_addon/data/DataGenerators.java @@ -8,6 +8,7 @@ import net.neoforged.neoforge.common.data.ExistingFileHelper; import net.neoforged.neoforge.data.event.GatherDataEvent; import net.nova.big_swords_addon.BigSwordsRAddon; +import net.nova.big_swords_addon.data.recipe.BCRecipeProvider; import java.util.concurrent.CompletableFuture; @@ -25,6 +26,7 @@ public static void gatherData(GatherDataEvent event) { generator.addProvider(true, new LangProvider(output)); generator.addProvider(true, new BCItemModelProvider(output, existingFileHelper)); + generator.addProvider(true, new BCRecipeProvider(output, lookupProvider)); } catch (RuntimeException e) { BigSwordsRAddon.logger.error("Big Swords R x Cosmicore Add-On failed to gather data", e); diff --git a/src/main/java/net/nova/big_swords_addon/data/recipe/BCRecipeProvider.java b/src/main/java/net/nova/big_swords_addon/data/recipe/BCRecipeProvider.java new file mode 100644 index 0000000..9a48afb --- /dev/null +++ b/src/main/java/net/nova/big_swords_addon/data/recipe/BCRecipeProvider.java @@ -0,0 +1,29 @@ +package net.nova.big_swords_addon.data.recipe; + +import net.minecraft.core.HolderLookup; +import net.minecraft.data.PackOutput; +import net.minecraft.data.recipes.RecipeOutput; +import net.nova.big_swords.data.recipe.BSRecipeProvider; + +import java.util.concurrent.CompletableFuture; + +import static net.nova.big_swords_addon.BigSwordsRAddon.MODID; + +public class BCRecipeProvider extends BSRecipeProvider { + public final PackOutput output; + public final CompletableFuture lookupProvider; + public static String path = MODID + ":"; + + public BCRecipeProvider(PackOutput output, CompletableFuture lookupProvider) { + super(output, lookupProvider); + this.output = output; + this.lookupProvider = lookupProvider; + } + + @Override + protected void buildRecipes(RecipeOutput recipeOutput) { + new CraftingRecipes(output, lookupProvider, recipeOutput).build(); + new BCSmithingRecipes(output, lookupProvider, recipeOutput).build(); + new FurnaceRecipes(output, lookupProvider, recipeOutput).build(); + } +} diff --git a/src/main/java/net/nova/big_swords_addon/data/recipe/BCSmithingRecipes.java b/src/main/java/net/nova/big_swords_addon/data/recipe/BCSmithingRecipes.java new file mode 100644 index 0000000..3a4cc61 --- /dev/null +++ b/src/main/java/net/nova/big_swords_addon/data/recipe/BCSmithingRecipes.java @@ -0,0 +1,25 @@ +package net.nova.big_swords_addon.data.recipe; + +import net.minecraft.core.HolderLookup; +import net.minecraft.data.PackOutput; +import net.minecraft.data.recipes.RecipeCategory; +import net.minecraft.data.recipes.RecipeOutput; +import net.nova.big_swords.init.BSItems; +import net.nova.big_swords_addon.init.BCItems; +import net.nova.cosmicore.data.recipe.CRecipeProvider; + +import java.util.concurrent.CompletableFuture; + +public class BCSmithingRecipes extends CRecipeProvider { + public final RecipeOutput recipeOutput; + + public BCSmithingRecipes(PackOutput output, CompletableFuture lookupProvider, RecipeOutput recipeOutput) { + super(output, lookupProvider); + this.recipeOutput = recipeOutput; + } + + public void build() { + // Titanium Stuff + titaniumSmithing(recipeOutput, BSItems.IRON_BIG_SWORD.asItem(), RecipeCategory.TOOLS, BCItems.TITANIUM_BIG_SWORD.get()); + } +} diff --git a/src/main/java/net/nova/big_swords_addon/data/recipe/CraftingRecipes.java b/src/main/java/net/nova/big_swords_addon/data/recipe/CraftingRecipes.java new file mode 100644 index 0000000..56b2289 --- /dev/null +++ b/src/main/java/net/nova/big_swords_addon/data/recipe/CraftingRecipes.java @@ -0,0 +1,25 @@ +package net.nova.big_swords_addon.data.recipe; + +import net.minecraft.core.HolderLookup; +import net.minecraft.data.PackOutput; +import net.minecraft.data.recipes.RecipeOutput; +import net.nova.big_swords.data.recipe.BSRecipeProvider; +import net.nova.big_swords.init.BSItems; +import net.nova.big_swords_addon.init.BCItems; +import net.nova.cosmicore.init.CItems; + +import java.util.concurrent.CompletableFuture; + +public class CraftingRecipes extends BSRecipeProvider { + public final RecipeOutput recipeOutput; + + public CraftingRecipes(PackOutput output, CompletableFuture lookupProvider, RecipeOutput recipeOutput) { + super(output, lookupProvider); + this.recipeOutput = recipeOutput; + } + + public void build() { + // Big Swords + + } +} diff --git a/src/main/java/net/nova/big_swords_addon/data/recipe/FurnaceRecipes.java b/src/main/java/net/nova/big_swords_addon/data/recipe/FurnaceRecipes.java new file mode 100644 index 0000000..591ef5e --- /dev/null +++ b/src/main/java/net/nova/big_swords_addon/data/recipe/FurnaceRecipes.java @@ -0,0 +1,35 @@ +package net.nova.big_swords_addon.data.recipe; + +import net.minecraft.core.HolderLookup; +import net.minecraft.data.PackOutput; +import net.minecraft.data.recipes.RecipeCategory; +import net.minecraft.data.recipes.RecipeOutput; +import net.minecraft.data.recipes.SimpleCookingRecipeBuilder; +import net.minecraft.world.item.crafting.Ingredient; +import net.nova.big_swords_addon.init.BCItems; +import net.nova.cosmicore.init.CItems; + +import java.util.concurrent.CompletableFuture; + +public class FurnaceRecipes extends BCRecipeProvider { + public final RecipeOutput recipeOutput; + + public FurnaceRecipes(PackOutput output, CompletableFuture lookupProvider, RecipeOutput recipeOutput) { + super(output, lookupProvider); + this.recipeOutput = recipeOutput; + } + + public void build() { + // Big Swords + SimpleCookingRecipeBuilder.smelting(Ingredient.of( + BCItems.TITANIUM_BIG_SWORD + ), + RecipeCategory.MISC, + CItems.TITANIUM_INGOT, + 0.1F, + 200 + ) + .unlockedBy("has_" + getItemName(BCItems.TITANIUM_BIG_SWORD), has(BCItems.TITANIUM_BIG_SWORD)) + .save(recipeOutput, path + getSmeltingRecipeName(BCItems.TITANIUM_BIG_SWORD)); + } +}