Skip to content

Commit acaa2b1

Browse files
committed
Mirror Crucible Recipes to Extractor if enabled in config
1 parent 66273cc commit acaa2b1

File tree

2 files changed

+34
-0
lines changed

2 files changed

+34
-0
lines changed

src/main/java/gregtech/integration/exnihilo/ExNihiloConfig.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,4 +25,11 @@ public class ExNihiloConfig {
2525
})
2626
@RequiresMcRestart
2727
public static boolean harderMeshes = true;
28+
29+
@Comment({
30+
"Mirror all Ex Nihilo Crucible recipes to the Fluid Extractor.",
31+
"Default: true"
32+
})
33+
@RequiresMcRestart
34+
public static boolean crucibleExtractorRecipes = true;
2835
}

src/main/java/gregtech/integration/exnihilo/recipes/ExNihiloRecipes.java

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22

33
import exnihilocreatio.ModItems;
44

5+
import exnihilocreatio.compatibility.jei.crucible.CrucibleRecipe;
6+
57
import gregtech.api.recipes.ModHandler;
68
import gregtech.api.recipes.builders.SimpleRecipeBuilder;
79
import gregtech.api.recipes.chance.output.ChancedOutputLogic;
@@ -13,6 +15,7 @@
1315
import gregtech.api.unification.ore.OrePrefix;
1416
import gregtech.api.unification.stack.UnificationEntry;
1517
import gregtech.common.blocks.MetaBlocks;
18+
import gregtech.integration.exnihilo.ExNihiloConfig;
1619
import gregtech.integration.exnihilo.ExNihiloModule;
1720
import gregtech.loaders.recipe.MetaTileEntityLoader;
1821

@@ -25,9 +28,13 @@
2528
import exnihilocreatio.registries.manager.ExNihiloRegistryManager;
2629
import exnihilocreatio.registries.types.Siftable;
2730

31+
import net.minecraftforge.fluids.FluidUtil;
32+
2833
import java.util.ArrayList;
2934
import java.util.Arrays;
35+
import java.util.List;
3036

37+
import static gregtech.api.recipes.RecipeMaps.EXTRACTOR_RECIPES;
3138
import static gregtech.api.unification.material.Materials.*;
3239
import static gregtech.api.unification.ore.OrePrefix.stick;
3340
import static gregtech.api.unification.ore.OrePrefix.stone;
@@ -128,5 +135,25 @@ public static void registerExNihiloRecipes() {
128135
builder.buildAndRegister();
129136
}
130137
}
138+
139+
// Mirror Crucible recipes to Extractor RecipeMap if enabled in config
140+
if (ExNihiloConfig.crucibleExtractorRecipes) {
141+
for (CrucibleRecipe recipe : ExNihiloRegistryManager.CRUCIBLE_STONE_REGISTRY.getRecipeList()) {
142+
if (FluidUtil.getFluidContained(recipe.getFluid()) != null) {
143+
for (List<ItemStack> listStack : recipe.getInputs()) {
144+
for (ItemStack stack : listStack) {
145+
if (EXTRACTOR_RECIPES.findRecipe(4, Arrays.asList(stack), new ArrayList<>(), true) !=
146+
null)
147+
continue;
148+
EXTRACTOR_RECIPES.recipeBuilder()
149+
.inputs(stack)
150+
.fluidOutputs(FluidUtil.getFluidContained(recipe.getFluid()))
151+
.duration(100)
152+
.buildAndRegister();
153+
}
154+
}
155+
}
156+
}
157+
}
131158
}
132159
}

0 commit comments

Comments
 (0)