Skip to content

Commit bef83f8

Browse files
committed
add registry access to datagen recipes
1 parent fe5ee98 commit bef83f8

File tree

48 files changed

+100
-56
lines changed

Some content is hidden

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

48 files changed

+100
-56
lines changed

src/datagen/additions/java/mekanism/additions/common/recipe/AdditionsRecipeProvider.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ public AdditionsRecipeProvider(PackOutput output, CompletableFuture<HolderLookup
6060
}
6161

6262
@Override
63-
protected void addRecipes(RecipeOutput consumer) {
63+
protected void addRecipes(RecipeOutput consumer, HolderLookup.Provider registries) {
6464
ExtendedShapedRecipeBuilder.shapedRecipe(AdditionsItems.WALKIE_TALKIE)
6565
.pattern(RecipePattern.createPattern(
6666
TripleLine.of(Pattern.EMPTY, Pattern.EMPTY, Pattern.OSMIUM),

src/datagen/additions/java/mekanism/additions/common/recipe/PigmentExtractingPlasticRecipeProvider.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
import mekanism.common.recipe.ISubRecipeProvider;
1212
import mekanism.common.recipe.impl.PigmentExtractingRecipeProvider;
1313
import mekanism.common.registries.MekanismPigments;
14+
import net.minecraft.core.HolderLookup;
1415
import net.minecraft.data.recipes.RecipeOutput;
1516

1617
public class PigmentExtractingPlasticRecipeProvider implements ISubRecipeProvider {
@@ -29,7 +30,7 @@ public class PigmentExtractingPlasticRecipeProvider implements ISubRecipeProvide
2930
private static final long TRANSPARENT_PLASTIC_SLAB_RATE = TRANSPARENT_PLASTIC_BLOCK_RATE / 2;//21
3031

3132
@Override
32-
public void addRecipes(RecipeOutput consumer) {
33+
public void addRecipes(RecipeOutput consumer, HolderLookup.Provider registries) {
3334
String basePath = "pigment_extracting/plastic/";
3435
for (Map.Entry<EnumColor, IPigmentProvider> entry : MekanismPigments.PIGMENT_COLOR_LOOKUP.entrySet()) {
3536
EnumColor color = entry.getKey();

src/datagen/additions/java/mekanism/additions/common/recipe/PlasticBlockRecipeProvider.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
import mekanism.common.resource.PrimaryResource;
2828
import mekanism.common.resource.ResourceType;
2929
import mekanism.common.tags.MekanismTags;
30+
import net.minecraft.core.HolderLookup;
3031
import net.minecraft.data.recipes.RecipeCategory;
3132
import net.minecraft.data.recipes.RecipeOutput;
3233
import net.minecraft.tags.TagKey;
@@ -60,7 +61,7 @@ public class PlasticBlockRecipeProvider implements ISubRecipeProvider {
6061
TripleLine.of(Pattern.EMPTY, Pattern.CONSTANT, Pattern.EMPTY));
6162

6263
@Override
63-
public void addRecipes(RecipeOutput consumer) {
64+
public void addRecipes(RecipeOutput consumer, HolderLookup.Provider registries) {
6465
String basePath = "plastic/";
6566
registerPlasticBlocks(consumer, basePath);
6667
registerPlasticGlow(consumer, basePath);

src/datagen/additions/java/mekanism/additions/common/recipe/PlasticFencesRecipeProvider.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
import mekanism.common.recipe.pattern.RecipePattern.TripleLine;
1717
import mekanism.common.registration.impl.BlockRegistryObject;
1818
import mekanism.common.tags.MekanismTags;
19+
import net.minecraft.core.HolderLookup;
1920
import net.minecraft.data.recipes.RecipeCategory;
2021
import net.minecraft.data.recipes.RecipeOutput;
2122

@@ -29,7 +30,7 @@ public class PlasticFencesRecipeProvider implements ISubRecipeProvider {
2930
TripleLine.of(AdditionsRecipeProvider.PLASTIC_ROD_CHAR, Pattern.CONSTANT, AdditionsRecipeProvider.PLASTIC_ROD_CHAR));
3031

3132
@Override
32-
public void addRecipes(RecipeOutput consumer) {
33+
public void addRecipes(RecipeOutput consumer, HolderLookup.Provider registries) {
3334
String basePath = "plastic/";
3435
registerPlasticFences(consumer, basePath);
3536
registerPlasticFenceGates(consumer, basePath);

src/datagen/additions/java/mekanism/additions/common/recipe/PlasticSlabsRecipeProvider.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
import mekanism.common.recipe.pattern.Pattern;
1212
import mekanism.common.recipe.pattern.RecipePattern;
1313
import mekanism.common.recipe.pattern.RecipePattern.TripleLine;
14+
import net.minecraft.core.HolderLookup;
1415
import net.minecraft.data.recipes.RecipeCategory;
1516
import net.minecraft.data.recipes.RecipeOutput;
1617
import net.minecraft.tags.TagKey;
@@ -22,7 +23,7 @@ public class PlasticSlabsRecipeProvider implements ISubRecipeProvider {
2223
private static final RecipePattern PLASTIC_RECOMBINATION = RecipePattern.createPattern(Pattern.CONSTANT, Pattern.CONSTANT);
2324

2425
@Override
25-
public void addRecipes(RecipeOutput consumer) {
26+
public void addRecipes(RecipeOutput consumer, HolderLookup.Provider registries) {
2627
String basePath = "plastic/slab/";
2728
registerPlasticSlabs(consumer, AdditionsBlocks.PLASTIC_SLABS, AdditionsBlocks.PLASTIC_BLOCKS, AdditionsTags.Items.SLABS_PLASTIC, false, basePath);
2829
registerPlasticSlabs(consumer, AdditionsBlocks.TRANSPARENT_PLASTIC_SLABS, AdditionsBlocks.TRANSPARENT_PLASTIC_BLOCKS,

src/datagen/additions/java/mekanism/additions/common/recipe/PlasticStairsRecipeProvider.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
import mekanism.common.recipe.pattern.Pattern;
1212
import mekanism.common.recipe.pattern.RecipePattern;
1313
import mekanism.common.recipe.pattern.RecipePattern.TripleLine;
14+
import net.minecraft.core.HolderLookup;
1415
import net.minecraft.data.recipes.RecipeCategory;
1516
import net.minecraft.data.recipes.RecipeOutput;
1617
import net.minecraft.tags.TagKey;
@@ -24,7 +25,7 @@ public class PlasticStairsRecipeProvider implements ISubRecipeProvider {
2425
TripleLine.of(Pattern.CONSTANT, Pattern.CONSTANT, Pattern.CONSTANT));
2526

2627
@Override
27-
public void addRecipes(RecipeOutput consumer) {
28+
public void addRecipes(RecipeOutput consumer, HolderLookup.Provider registries) {
2829
String basePath = "plastic/stairs/";
2930
registerPlasticStairs(consumer, AdditionsBlocks.PLASTIC_STAIRS, AdditionsBlocks.PLASTIC_BLOCKS, AdditionsTags.Items.STAIRS_PLASTIC, false, basePath);
3031
registerPlasticStairs(consumer, AdditionsBlocks.TRANSPARENT_PLASTIC_STAIRS, AdditionsBlocks.TRANSPARENT_PLASTIC_BLOCKS,

src/datagen/defense/java/mekanism/defense/common/DefenseRecipeProvider.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,6 @@ public DefenseRecipeProvider(PackOutput output, CompletableFuture<HolderLookup.P
1616
}
1717

1818
@Override
19-
protected void addRecipes(RecipeOutput consumer) {
19+
protected void addRecipes(RecipeOutput consumer, HolderLookup.Provider registries) {
2020
}
2121
}

src/datagen/generators/java/mekanism/generators/common/GeneratorsRecipeProvider.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ public GeneratorsRecipeProvider(PackOutput output, CompletableFuture<HolderLooku
5656
}
5757

5858
@Override
59-
protected void addRecipes(RecipeOutput consumer) {
59+
protected void addRecipes(RecipeOutput consumer, HolderLookup.Provider registries) {
6060
addGeneratorRecipes(consumer);
6161
addFissionReactorRecipes(consumer);
6262
addFusionReactorRecipes(consumer);

src/datagen/main/java/mekanism/common/recipe/BaseRecipeProvider.java

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -33,10 +33,12 @@
3333
@NothingNullByDefault
3434
public abstract class BaseRecipeProvider extends RecipeProvider {
3535

36+
private final CompletableFuture<HolderLookup.Provider> registriesFuture;
3637
private final ExistingFileHelper existingFileHelper;
3738

38-
protected BaseRecipeProvider(PackOutput output, CompletableFuture<HolderLookup.Provider> provider, ExistingFileHelper existingFileHelper) {
39-
super(output, provider);
39+
protected BaseRecipeProvider(PackOutput output, CompletableFuture<HolderLookup.Provider> registriesFuture, ExistingFileHelper existingFileHelper) {
40+
super(output, registriesFuture);
41+
this.registriesFuture = registriesFuture;
4042
this.existingFileHelper = existingFileHelper;
4143
}
4244

@@ -56,14 +58,15 @@ public Builder advancement() {
5658

5759
@Override
5860
protected final void buildRecipes(RecipeOutput output) {
61+
HolderLookup.Provider registries = registriesFuture.resultNow();
5962
WrapperRecipeOutput trackingConsumer = new WrapperRecipeOutput(output, existingFileHelper);
60-
addRecipes(trackingConsumer);
63+
addRecipes(trackingConsumer, registries);
6164
for (ISubRecipeProvider subRecipeProvider : getSubRecipeProviders()) {
62-
subRecipeProvider.addRecipes(trackingConsumer);
65+
subRecipeProvider.addRecipes(trackingConsumer, registries);
6366
}
6467
}
6568

66-
protected abstract void addRecipes(RecipeOutput output);
69+
protected abstract void addRecipes(RecipeOutput output, HolderLookup.Provider registries);
6770

6871
/**
6972
* Gets all the sub/offloaded recipe providers that this recipe provider has.
Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
package mekanism.common.recipe;
22

3+
import net.minecraft.core.HolderLookup;
34
import net.minecraft.data.recipes.RecipeOutput;
45

56
/**
67
* Interface for helping split the recipe provider over multiple classes to make it a bit easier to interact with
78
*/
89
public interface ISubRecipeProvider {
910

10-
void addRecipes(RecipeOutput output);
11+
void addRecipes(RecipeOutput output, HolderLookup.Provider registries);
1112
}

0 commit comments

Comments
 (0)