Skip to content

Commit

Permalink
Fix #1017: Add config to disable stonecutter and composter recipe gen…
Browse files Browse the repository at this point in the history
…eration (#1019)
  • Loading branch information
Technici4n authored Feb 5, 2025
1 parent d34f34a commit ea27dca
Show file tree
Hide file tree
Showing 4 changed files with 19 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -1465,6 +1465,7 @@
"text.autoconfig.modern_industrialization.option.armorHudYPosition": "Space between the top of the screen and the Jetpack/GraviChestPlate overlay text.",
"text.autoconfig.modern_industrialization.option.baseItemPipeTransfer": "Base amount of items transferred by item pipes every 3 seconds.",
"text.autoconfig.modern_industrialization.option.colorWaterLava": "Color Water and Lava (Restart needed)",
"text.autoconfig.modern_industrialization.option.compostableToPlantOil": "Generate Plant Oil recipes in the Centrifuge for all compostable items.",
"text.autoconfig.modern_industrialization.option.datagenOnStartup": "Run MI runtime datagen on startup (Restart needed)",
"text.autoconfig.modern_industrialization.option.disableFuelTooltips": "Disable display of Fuel EU in tooltips",
"text.autoconfig.modern_industrialization.option.disableItemTagTooltips": "Disable display of Item Tag in tooltips",
Expand All @@ -1483,6 +1484,7 @@
"text.autoconfig.modern_industrialization.option.removeIndustrialistTrades": "Removes trades from the Industrialist villager (Restart needed)",
"text.autoconfig.modern_industrialization.option.respawnWithGuideBook": "Grant Guidebook at Respawn",
"text.autoconfig.modern_industrialization.option.spawnWithGuideBook": "Grant Guidebook at Spawn",
"text.autoconfig.modern_industrialization.option.stonecutterToCuttingMachine": "Generate Cutting Machine recipes for all Stonecutter recipes.",
"text.autoconfig.modern_industrialization.title": "Modern Industrialization Menu",
"text.modern_industrialization.AbsorptionProbability": "Absorption Probability",
"text.modern_industrialization.AcceptAnyFluidFuels": "Consumes any Fluid Fuel (Check REI for EU/mb production)",
Expand Down
4 changes: 4 additions & 0 deletions src/main/java/aztech/modern_industrialization/MIConfig.java
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,10 @@ public class MIConfig implements ConfigData {
public int armorHudYPosition = 4;
@EnglishTranslation(value = "Base amount of items transferred by item pipes every 3 seconds.")
public int baseItemPipeTransfer = 16;
@EnglishTranslation(value = "Generate Cutting Machine recipes for all Stonecutter recipes.")
public boolean stonecutterToCuttingMachine = true;
@EnglishTranslation(value = "Generate Plant Oil recipes in the Centrifuge for all compostable items.")
public boolean compostableToPlantOil = true;

@ConfigEntry.Gui.Excluded
private transient volatile static MIConfig instance = null;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,9 @@ protected void fillRecipeList(Level world, List<RecipeHolder<MachineRecipe>> rec
// Add all stone cutter recipes
for (var stonecuttingRecipe : world.getRecipeManager().getAllRecipesFor(RecipeType.STONECUTTING)) {
var recipe = RecipeConversions.ofStonecutting(stonecuttingRecipe, this, world.registryAccess());
recipeList.add(recipe);
if (recipe != null) {
recipeList.add(recipe);
}
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
package aztech.modern_industrialization.machines.recipe;

import aztech.modern_industrialization.MI;
import aztech.modern_industrialization.MIConfig;
import aztech.modern_industrialization.MIFluids;
import aztech.modern_industrialization.machines.init.MIMachineRecipeTypes;
import aztech.modern_industrialization.thirdparty.fabrictransfer.api.item.ItemVariant;
Expand Down Expand Up @@ -59,8 +60,13 @@ public static RecipeHolder<MachineRecipe> ofSmelting(RecipeHolder<SmeltingRecipe
return new RecipeHolder<>(id, recipe);
}

@Nullable
public static RecipeHolder<MachineRecipe> ofStonecutting(RecipeHolder<StonecutterRecipe> holder, MachineRecipeType type,
RegistryAccess registryAccess) {
if (!MIConfig.getConfig().stonecutterToCuttingMachine) {
return null;
}

ResourceLocation id = ResourceLocation.fromNamespaceAndPath(holder.id().getNamespace(),
"/" + holder.id().getPath() + "_exported_mi_cutting_machine");
var stonecuttingRecipe = holder.value();
Expand All @@ -79,6 +85,10 @@ public static RecipeHolder<MachineRecipe> ofStonecutting(RecipeHolder<Stonecutte

@Nullable
public static RecipeHolder<MachineRecipe> ofCompostable(ItemLike compostable) {
if (!MIConfig.getConfig().compostableToPlantOil) {
return null;
}

if (compostable == null || compostable.asItem() == null) {
return null; // apparently bad mods do this
}
Expand Down

0 comments on commit ea27dca

Please sign in to comment.