From 9e7067094b2a3fb498943e83d08b8429c9c26301 Mon Sep 17 00:00:00 2001 From: kalwantspizza Date: Thu, 17 Jul 2025 20:03:26 -0400 Subject: [PATCH] Datagen for Chemical Synthesis & Electrolysis --- .../methane_synthesis.json} | 5 +- .../water_electrolysis.json | 10 ++-- .../content/datagen/CSDatagen.java | 2 + .../recipe/CSChemicalSynthesisRecipeGen.java | 49 +++++++++++++++++++ .../CSMechanicalElectrolysisRecipeGen.java | 49 +++++++++++++++++++ .../data/creatingspace/recipe/fluids/co2.json | 12 ----- .../data/creatingspace/recipe/fluids/o2.json | 13 ----- 7 files changed, 110 insertions(+), 30 deletions(-) rename src/{main/resources/data/creatingspace/recipe/fluids/methane.json => generated/resources/data/creatingspace/recipe/chemical_synthesis/methane_synthesis.json} (76%) rename src/{main/resources/data/creatingspace/recipe/fluids => generated/resources/data/creatingspace/recipe/mechanical_electrolysis}/water_electrolysis.json (85%) create mode 100644 src/main/java/com/rae/creatingspace/content/datagen/recipe/CSChemicalSynthesisRecipeGen.java create mode 100644 src/main/java/com/rae/creatingspace/content/datagen/recipe/CSMechanicalElectrolysisRecipeGen.java delete mode 100644 src/main/resources/data/creatingspace/recipe/fluids/co2.json delete mode 100644 src/main/resources/data/creatingspace/recipe/fluids/o2.json diff --git a/src/main/resources/data/creatingspace/recipe/fluids/methane.json b/src/generated/resources/data/creatingspace/recipe/chemical_synthesis/methane_synthesis.json similarity index 76% rename from src/main/resources/data/creatingspace/recipe/fluids/methane.json rename to src/generated/resources/data/creatingspace/recipe/chemical_synthesis/methane_synthesis.json index 7319b0d7..866317ce 100644 --- a/src/main/resources/data/creatingspace/recipe/fluids/methane.json +++ b/src/generated/resources/data/creatingspace/recipe/chemical_synthesis/methane_synthesis.json @@ -1,16 +1,19 @@ { "type": "creatingspace:chemical_synthesis", - "heatRequirement": "heated", + "heat_requirement": "heated", "ingredients": [ { + "type": "fluid_stack", "amount": 100, "fluid": "creatingspace:liquid_co2" }, { + "type": "fluid_stack", "amount": 286, "fluid": "creatingspace:liquid_hydrogen" } ], + "processing_time": 200, "results": [ { "amount": 80, diff --git a/src/main/resources/data/creatingspace/recipe/fluids/water_electrolysis.json b/src/generated/resources/data/creatingspace/recipe/mechanical_electrolysis/water_electrolysis.json similarity index 85% rename from src/main/resources/data/creatingspace/recipe/fluids/water_electrolysis.json rename to src/generated/resources/data/creatingspace/recipe/mechanical_electrolysis/water_electrolysis.json index f6f5a3db..4a597f6a 100644 --- a/src/main/resources/data/creatingspace/recipe/fluids/water_electrolysis.json +++ b/src/generated/resources/data/creatingspace/recipe/mechanical_electrolysis/water_electrolysis.json @@ -2,18 +2,20 @@ "type": "creatingspace:mechanical_electrolysis", "ingredients": [ { + "type": "fluid_stack", "amount": 100, "fluid": "minecraft:water" } ], + "processing_time": 200, "results": [ - { - "amount": 80, - "id": "creatingspace:liquid_oxygen" - }, { "amount": 160, "id": "creatingspace:liquid_hydrogen" + }, + { + "amount": 80, + "id": "creatingspace:liquid_oxygen" } ] } \ No newline at end of file diff --git a/src/main/java/com/rae/creatingspace/content/datagen/CSDatagen.java b/src/main/java/com/rae/creatingspace/content/datagen/CSDatagen.java index e76519f6..3c4d2148 100644 --- a/src/main/java/com/rae/creatingspace/content/datagen/CSDatagen.java +++ b/src/main/java/com/rae/creatingspace/content/datagen/CSDatagen.java @@ -42,6 +42,8 @@ public static void gatherData(GatherDataEvent event) { generator.addProvider(true, new CSMixingRecipeGen(output, lookupProvider, CreatingSpace.MODID)); generator.addProvider(true, new CSWashingRecipeGen(output, lookupProvider, CreatingSpace.MODID)); generator.addProvider(true, new CSAirLiquefyingRecipeGen(output, lookupProvider)); + generator.addProvider(true, new CSChemicalSynthesisRecipeGen(output, lookupProvider)); + generator.addProvider(true, new CSMechanicalElectrolysisRecipeGen(output, lookupProvider)); // event.getGenerator().addProvider(true, new RegistrateDataProvider(REGISTRATE, CreatingSpace.MODID, event)); } diff --git a/src/main/java/com/rae/creatingspace/content/datagen/recipe/CSChemicalSynthesisRecipeGen.java b/src/main/java/com/rae/creatingspace/content/datagen/recipe/CSChemicalSynthesisRecipeGen.java new file mode 100644 index 00000000..b50575d9 --- /dev/null +++ b/src/main/java/com/rae/creatingspace/content/datagen/recipe/CSChemicalSynthesisRecipeGen.java @@ -0,0 +1,49 @@ +package com.rae.creatingspace.content.datagen.recipe; + +import com.rae.creatingspace.CreatingSpace; +import com.rae.creatingspace.content.recipes.chemical_synthesis.ChemicalSynthesisRecipe; +import com.rae.creatingspace.init.ingameobject.FluidInit; +import com.rae.creatingspace.init.RecipeInit; +import com.simibubi.create.api.data.recipe.ProcessingRecipeGen; +import com.simibubi.create.content.processing.recipe.HeatCondition; +import com.simibubi.create.content.processing.recipe.ProcessingRecipeParams; +import com.simibubi.create.foundation.recipe.IRecipeTypeInfo; +import net.minecraft.core.HolderLookup; +import net.minecraft.data.PackOutput; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.level.material.Fluids; + +import java.util.concurrent.CompletableFuture; + +@SuppressWarnings("unused") +public class CSChemicalSynthesisRecipeGen extends ProcessingRecipeGen< + ProcessingRecipeParams, + ChemicalSynthesisRecipe, + ChemicalSynthesisRecipe.Builder + > { + + public CSChemicalSynthesisRecipeGen(PackOutput output, CompletableFuture lookup) { + super(output, lookup, CreatingSpace.MODID); + } + + @Override + protected IRecipeTypeInfo getRecipeType() { + return RecipeInit.CHEMICAL_SYNTHESIS; + } + + @Override + protected ChemicalSynthesisRecipe.Builder getBuilder(ResourceLocation id) { + return new ChemicalSynthesisRecipe.Builder<>(ChemicalSynthesisRecipe::new, id); + } + + { + GeneratedRecipe METHANE = create("methane_synthesis", b -> b + .require(FluidInit.LIQUID_CO2.get(), 100) + .require(FluidInit.LIQUID_HYDROGEN.get(), 286) + .output(FluidInit.LIQUID_METHANE.get(), 80) + .output(Fluids.WATER, 90) + .requiresHeat(HeatCondition.HEATED) + .duration(200) + ); + } +} diff --git a/src/main/java/com/rae/creatingspace/content/datagen/recipe/CSMechanicalElectrolysisRecipeGen.java b/src/main/java/com/rae/creatingspace/content/datagen/recipe/CSMechanicalElectrolysisRecipeGen.java new file mode 100644 index 00000000..564960ba --- /dev/null +++ b/src/main/java/com/rae/creatingspace/content/datagen/recipe/CSMechanicalElectrolysisRecipeGen.java @@ -0,0 +1,49 @@ +package com.rae.creatingspace.content.datagen.recipe; + +import com.rae.creatingspace.CreatingSpace; +import com.rae.creatingspace.content.recipes.electrolysis.MechanicalElectrolysisRecipe; +import com.rae.creatingspace.init.ingameobject.FluidInit; +import com.rae.creatingspace.init.RecipeInit; +import com.simibubi.create.api.data.recipe.ProcessingRecipeGen; +import com.simibubi.create.content.processing.recipe.HeatCondition; +import com.simibubi.create.content.processing.recipe.ProcessingRecipeParams; + +import com.simibubi.create.foundation.recipe.IRecipeTypeInfo; +import net.minecraft.core.HolderLookup; +import net.minecraft.data.PackOutput; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.level.material.Fluids; + +import java.util.concurrent.CompletableFuture; + +@SuppressWarnings("unused") +public class CSMechanicalElectrolysisRecipeGen extends ProcessingRecipeGen< + ProcessingRecipeParams, + MechanicalElectrolysisRecipe, + MechanicalElectrolysisRecipe.Builder + > { + + public CSMechanicalElectrolysisRecipeGen(PackOutput output, CompletableFuture lookup) { + super(output, lookup, CreatingSpace.MODID); + } + + @Override + protected IRecipeTypeInfo getRecipeType() { + return RecipeInit.MECHANICAL_ELECTROLYSIS; + } + + @Override + protected MechanicalElectrolysisRecipe.Builder getBuilder(ResourceLocation id) { + return new MechanicalElectrolysisRecipe.Builder<>(MechanicalElectrolysisRecipe::new, id); + } + + { + GeneratedRecipe SPLIT_WATER = create("water_electrolysis", b -> b + .require(Fluids.WATER, 100) + .output(FluidInit.LIQUID_HYDROGEN.get(), 160) + .output(FluidInit.LIQUID_OXYGEN.get(), 80) + .requiresHeat(HeatCondition.NONE) + .duration(200) + ); + } +} diff --git a/src/main/resources/data/creatingspace/recipe/fluids/co2.json b/src/main/resources/data/creatingspace/recipe/fluids/co2.json deleted file mode 100644 index 6d0d13c1..00000000 --- a/src/main/resources/data/creatingspace/recipe/fluids/co2.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "creatingspace:air_liquefying", - "blockInFront": "minecraft:campfire", - "ingredients": [ - ], - "results": [ - { - "amount": 100, - "id": "creatingspace:liquid_co2" - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/creatingspace/recipe/fluids/o2.json b/src/main/resources/data/creatingspace/recipe/fluids/o2.json deleted file mode 100644 index 4033b19e..00000000 --- a/src/main/resources/data/creatingspace/recipe/fluids/o2.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "type": "creatingspace:air_liquefying", - "blockInFront": "minecraft:air", - "dimension": "minecraft:overworld", - "ingredients": [ - ], - "results": [ - { - "amount": 100, - "id": "creatingspace:liquid_oxygen" - } - ] -} \ No newline at end of file