Skip to content

Commit 0b988f0

Browse files
committed
REGISTRATE Datagen Part 1
1 parent 7fc5dd1 commit 0b988f0

File tree

44 files changed

+1053
-271
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

44 files changed

+1053
-271
lines changed

build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -180,7 +180,7 @@ tasks.withType(ProcessResources).configureEach {
180180
mod_description : mod_description
181181
]
182182
inputs.properties replaceProperties
183-
183+
duplicatesStrategy = DuplicatesStrategy.EXCLUDE
184184
filesMatching(['META-INF/neoforge.mods.toml']) {
185185
expand replaceProperties
186186
}

src/main/java/com/rae/creatingspace/content/datagen/CSDatagen.java

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
import com.rae.creatingspace.content.datagen.recipe.CSStandardRecipeGen;
99
import com.simibubi.create.foundation.utility.FilesHelper;
1010
import com.tterrag.registrate.providers.ProviderType;
11+
import com.tterrag.registrate.providers.RegistrateDataProvider;
1112
import net.minecraft.core.HolderLookup;
1213
import net.minecraft.data.DataGenerator;
1314
import net.minecraft.data.PackOutput;
@@ -18,6 +19,8 @@
1819
import java.util.concurrent.CompletableFuture;
1920
import java.util.function.BiConsumer;
2021

22+
import static com.rae.creatingspace.CreatingSpace.REGISTRATE;
23+
2124
public class CSDatagen {
2225
public static void gatherData(GatherDataEvent event) {
2326
addExtraRegistrateData();
@@ -27,7 +30,6 @@ public static void gatherData(GatherDataEvent event) {
2730
CompletableFuture<HolderLookup.Provider> lookupProvider = event.getLookupProvider();
2831
ExistingFileHelper existingFileHelper = event.getExistingFileHelper();
2932

30-
3133
if (event.includeClient()) {
3234
//generator.addProvider(true, AllSoundEvents.provider(generator));
3335
}
@@ -47,13 +49,16 @@ public static void gatherData(GatherDataEvent event) {
4749
//CS Recipes
4850
generator.addProvider(true, new CSStandardRecipeGen(output, lookupProvider));
4951
generator.addProvider(true, new CSPressingRecipeGen(output, lookupProvider));
52+
53+
event.getGenerator().addProvider(true, REGISTRATE.setDataProvider(new RegistrateDataProvider(REGISTRATE, CreatingSpace.MODID, event)));
5054
}
5155
}
5256

5357
private static void addExtraRegistrateData() {
5458
//CreateRegistrateTags.addGenerators();
5559

56-
CreatingSpace.REGISTRATE.addDataGenerator(ProviderType.LANG, provider -> {
60+
/*
61+
REGISTRATE.addDataGenerator(ProviderType.LANG, provider -> {
5762
BiConsumer<String, String> langConsumer = provider::add;
5863
5964
provideDefaultLang("interface", langConsumer);
@@ -62,6 +67,7 @@ private static void addExtraRegistrateData() {
6267
//AllSoundEvents.provideLang(langConsumer);
6368
providePonderLang(langConsumer);
6469
});
70+
*/
6571
}
6672

6773
private static void provideDefaultLang(String fileName, BiConsumer<String, String> consumer) {

src/main/java/com/rae/creatingspace/content/datagen/CSMetalSets.java

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ public class CSMetalSets {
4545
BlockInit.MOON_NICKEL_ORE.asItem()
4646
);
4747

48-
public static final List<MetalSet> ALL = List.of(ALUMINUM, COBALT, NICKEL);
48+
public static final List<String> ALL = List.of("aluminum","cobalt", "nickel");
4949

5050
public record MetalSet(
5151
String name,
@@ -58,10 +58,7 @@ public record MetalSet(
5858
@Nullable Item deepslateOre
5959
){}
6060

61-
protected void buildRecipes(RecipeOutput recipeOutput){
62-
CSMetalRecipeHelper.generateMetalRecipes(recipeOutput, ALUMINUM);
63-
CSMetalRecipeHelper.generateMetalRecipes(recipeOutput, COBALT);
64-
CSMetalRecipeHelper.generateMetalRecipes(recipeOutput, NICKEL);
61+
protected void buildRecipes(RecipeOutput recipeOutput) {
6562
}
6663

6764
}
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
package com.rae.creatingspace.content.datagen;
2+
3+
import net.minecraft.core.HolderLookup;
4+
import net.minecraft.data.PackOutput;
5+
import net.minecraft.data.recipes.RecipeOutput;
6+
import net.minecraft.data.recipes.RecipeProvider;
7+
import org.jetbrains.annotations.NotNull;
8+
9+
import java.util.ArrayList;
10+
import java.util.List;
11+
import java.util.concurrent.CompletableFuture;
12+
13+
public class CSRecipeProvider extends RecipeProvider {
14+
15+
protected final List<GeneratedRecipe> all = new ArrayList<>();
16+
17+
public CSRecipeProvider(PackOutput output, CompletableFuture<HolderLookup.Provider> registries) {
18+
super(output, registries);
19+
}
20+
21+
@Override
22+
protected void buildRecipes(@NotNull RecipeOutput pRecipeOutput) {
23+
all.forEach(c -> c.register(pRecipeOutput));
24+
}
25+
26+
protected GeneratedRecipe register(GeneratedRecipe recipe) {
27+
all.add(recipe);
28+
return recipe;
29+
}
30+
31+
@FunctionalInterface
32+
public interface GeneratedRecipe {
33+
void register(RecipeOutput output);
34+
}
35+
36+
public static class Marker {
37+
}
38+
}

src/main/java/com/rae/creatingspace/content/datagen/recipe/CSMetalRecipeHelper.java

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@
1919

2020
import java.util.concurrent.CompletableFuture;
2121

22+
import static com.rae.creatingspace.CreatingSpace.resource;
23+
2224
public class CSMetalRecipeHelper {
2325

2426
public static void generateMetalRecipes(RecipeOutput output, CSMetalSets.MetalSet metal) {
@@ -29,13 +31,13 @@ public static void generateMetalRecipes(RecipeOutput output, CSMetalSets.MetalSe
2931
.pattern("###")
3032
.pattern("###")
3133
.unlockedBy("has_nugget", has(metal.nugget()))
32-
.save(output, ResourceLocation.fromNamespaceAndPath(CreatingSpace.MODID, metal.name() + "_ingot_from_nuggets"));
34+
.save(output, resource(metal.name() + "_ingot_from_nuggets"));
3335

3436
// 1 Ingot → 9 Nuggets
3537
ShapelessRecipeBuilder.shapeless(RecipeCategory.MISC, metal.nugget(), 9)
3638
.requires(AllTags.commonItemTag("ingots/" + metal.name()))
3739
.unlockedBy("has_ingot", has(metal.ingot()))
38-
.save(output, ResourceLocation.fromNamespaceAndPath(CreatingSpace.MODID, metal.name() + "_nugget"));
40+
.save(output, resource(metal.name() + "_nugget"));
3941

4042
// 9 Ingots → 1 Block
4143
ShapedRecipeBuilder.shaped(RecipeCategory.BUILDING_BLOCKS, metal.block())
@@ -44,13 +46,13 @@ public static void generateMetalRecipes(RecipeOutput output, CSMetalSets.MetalSe
4446
.pattern("###")
4547
.pattern("###")
4648
.unlockedBy("has_ingot", has(metal.ingot()))
47-
.save(output, ResourceLocation.fromNamespaceAndPath(CreatingSpace.MODID, metal.name() + "_block"));
49+
.save(output, resource(metal.name() + "_block"));
4850

4951
// 1 Block → 9 Ingots
5052
ShapelessRecipeBuilder.shapeless(RecipeCategory.MISC, metal.ingot(), 9)
5153
.requires(AllTags.commonItemTag("storage_blocks/" + metal.name()))
5254
.unlockedBy("has_block", has(metal.block()))
53-
.save(output, ResourceLocation.fromNamespaceAndPath(CreatingSpace.MODID, metal.name() + "_ingot_from_block"));
55+
.save(output, resource(metal.name() + "_ingot_from_block"));
5456
}
5557

5658
public static void generateMetalAlloyRecipes(RecipeOutput output, CSMetalSets.MetalSet metal) {
Lines changed: 45 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,61 @@
11
package com.rae.creatingspace.content.datagen.recipe;
22

3-
import com.rae.creatingspace.CreatingSpace;
3+
import com.rae.creatingspace.content.datagen.CSRecipeProvider;
44
import com.rae.creatingspace.init.ingameobject.ItemInit;
5+
import com.simibubi.create.AllRecipeTypes;
56
import com.simibubi.create.AllTags;
6-
import com.simibubi.create.foundation.data.recipe.PressingRecipeGen;
7+
import com.simibubi.create.content.processing.recipe.ProcessingRecipe;
8+
import com.simibubi.create.content.processing.recipe.ProcessingRecipeBuilder;
9+
import com.simibubi.create.content.processing.recipe.ProcessingRecipeSerializer;
10+
import com.simibubi.create.foundation.data.recipe.ProcessingRecipeGen;
11+
import net.createmod.catnip.registry.RegisteredObjectsHelper;
712
import net.minecraft.core.HolderLookup;
813
import net.minecraft.data.PackOutput;
914
import net.minecraft.resources.ResourceLocation;
15+
import net.minecraft.world.item.Item;
16+
import net.minecraft.world.item.crafting.Ingredient;
17+
import net.minecraft.world.level.ItemLike;
1018

1119
import java.util.concurrent.CompletableFuture;
20+
import java.util.function.Supplier;
21+
import java.util.function.UnaryOperator;
22+
23+
import static com.rae.creatingspace.CreatingSpace.resource;
1224

1325
@SuppressWarnings("unused")
14-
public class CSPressingRecipeGen extends PressingRecipeGen {
26+
public class CSPressingRecipeGen extends ProcessingRecipeGen {
27+
28+
GeneratedRecipe
29+
30+
ALUMINUM_SHEET = create(resource("aluminum_sheet"), b -> b
31+
.require(AllTags.commonItemTag("ingots/aluminum"))
32+
.output(ItemInit.ALUMINUM_SHEET)),
33+
NICKEL_SHEET = create(resource( "nickel_sheet"), b -> b.require(AllTags.commonItemTag("ingots/nickel"))
34+
.output(ItemInit.NICKEL_SHEET)),
35+
COBALT_SHEET = create(resource("cobalt_sheet"), b -> b.require(AllTags.commonItemTag("ingots/cobalt"))
36+
.output(ItemInit.COBALT_SHEET)),
37+
COPRONICKEL_SHEET = create(resource("copronickel_sheet"), b -> b
38+
.require(AllTags.commonItemTag("ingots/copronickel"))
39+
.output(resource("copronickel_sheet"))),
40+
REINFORCED_COPPER_SHEET = create(resource("reinforced_copper_sheet"), b -> b
41+
.require(AllTags.commonItemTag("ingots/reinforced_copper"))
42+
.output(resource("reinforced_copper_sheet"))),
43+
MONEL_SHEET = create(resource("monel_sheet"), b -> b
44+
.require(AllTags.commonItemTag("ingots/monel"))
45+
.output(resource("monel_sheet"))),
46+
INCONEL_SHEET = create(resource("inconel_sheet"), b -> b
47+
.require(AllTags.commonItemTag("ingots/inconel"))
48+
.output(resource("inconel_sheet"))),
49+
HASTELLOY_SHEET = create(resource("hastelloy_sheet"), b -> b
50+
.require(AllTags.commonItemTag("ingots/hastelloy"))
51+
.output(resource("hastelloy_sheet")));
52+
1553
public CSPressingRecipeGen(PackOutput output, CompletableFuture<HolderLookup.Provider> registries) {
1654
super(output, registries);
17-
18-
create(createLocation("aluminum_sheet"), b -> b.require(AllTags.commonItemTag("ingots/aluminum"))
19-
.output(ItemInit.ALUMINUM_SHEET.get()));
20-
create(createLocation( "nickel_sheet"), b -> b.require(AllTags.commonItemTag("ingots/nickel"))
21-
.output(ItemInit.NICKEL_SHEET.get()));
22-
create(createLocation("cobalt_sheet"), b -> b.require(AllTags.commonItemTag("ingots/cobalt"))
23-
.output(ItemInit.COBALT_SHEET.get()));
2455
}
25-
private ResourceLocation createLocation(String recipeName) {
26-
return ResourceLocation.fromNamespaceAndPath(CreatingSpace.MODID, recipeName);
56+
57+
@Override
58+
protected AllRecipeTypes getRecipeType() {
59+
return AllRecipeTypes.PRESSING;
2760
}
2861
}

0 commit comments

Comments
 (0)