diff --git a/src/main/java/com/ghostipedia/cosmiccore/common/machine/multiblock/multi/DawnForge.java b/src/main/java/com/ghostipedia/cosmiccore/common/machine/multiblock/multi/DawnForge.java index 8d1f9e923..66a2e56ac 100644 --- a/src/main/java/com/ghostipedia/cosmiccore/common/machine/multiblock/multi/DawnForge.java +++ b/src/main/java/com/ghostipedia/cosmiccore/common/machine/multiblock/multi/DawnForge.java @@ -5,6 +5,7 @@ import com.ghostipedia.cosmiccore.common.machine.multiblock.steam.WeakSteamParallelMultiBlockMachine; import com.ghostipedia.cosmiccore.gtbridge.CosmicRecipeTypes; +import com.gregtechceu.gtceu.api.GTValues; import com.gregtechceu.gtceu.api.data.RotationState; import com.gregtechceu.gtceu.api.machine.MultiblockMachineDefinition; import com.gregtechceu.gtceu.api.machine.multiblock.PartAbility; @@ -16,7 +17,6 @@ import static com.ghostipedia.cosmiccore.common.data.CosmicBlocks.LIGHT_DAWNSTONE_CASING; import static com.gregtechceu.gtceu.api.machine.multiblock.PartAbility.EXPORT_FLUIDS; import static com.gregtechceu.gtceu.api.pattern.Predicates.*; -import static com.gregtechceu.gtceu.api.pattern.util.RelativeDirection.*; import static com.rekindled.embers.RegistryManager.DAWNSTONE_ANVIL; public class DawnForge { @@ -27,7 +27,7 @@ public class DawnForge { .recipeType(CosmicRecipeTypes.DAWN_FORGE) .appearanceBlock(LIGHT_DAWNSTONE_CASING) .partAppearance((controller, part, side) -> LIGHT_DAWNSTONE_CASING.getDefaultState()) - .recipeModifier(WeakSteamParallelMultiBlockMachine::recipeModifier) + .recipeModifier(WeakSteamParallelMultiBlockMachine.recipeModifierCanRunAtMost(GTValues.MV)) .pattern(definition -> FactoryBlockPattern.start() .aisle("ABBBA", "A A", "AA AA", " BBB ", " ") .aisle("BAAAB", " ", "A A", "BABAB", " B ") diff --git a/src/main/java/com/ghostipedia/cosmiccore/common/machine/multiblock/steam/WeakSteamParallelMultiBlockMachine.java b/src/main/java/com/ghostipedia/cosmiccore/common/machine/multiblock/steam/WeakSteamParallelMultiBlockMachine.java index 114b5eb74..758f6b77d 100644 --- a/src/main/java/com/ghostipedia/cosmiccore/common/machine/multiblock/steam/WeakSteamParallelMultiBlockMachine.java +++ b/src/main/java/com/ghostipedia/cosmiccore/common/machine/multiblock/steam/WeakSteamParallelMultiBlockMachine.java @@ -8,6 +8,7 @@ import com.gregtechceu.gtceu.api.recipe.content.ContentModifier; import com.gregtechceu.gtceu.api.recipe.modifier.ModifierFunction; import com.gregtechceu.gtceu.api.recipe.modifier.ParallelLogic; +import com.gregtechceu.gtceu.api.recipe.modifier.RecipeModifier; import com.gregtechceu.gtceu.common.machine.multiblock.steam.SteamParallelMultiblockMachine; import org.jetbrains.annotations.NotNull; @@ -40,4 +41,20 @@ public static ModifierFunction recipeModifier(@NotNull MetaMachine machine, @Not .parallels(parallel) .build(); } + + public static RecipeModifier recipeModifierCanRunAtMost(int tier) { + return (@NotNull MetaMachine machine, @NotNull GTRecipe recipe) -> { + if (RecipeHelper.getRecipeEUtTier(recipe) > tier) return ModifierFunction.NULL; + // long euTick = RecipeHelper.getRecipeEUtTier(recipe); + int parallel = ParallelLogic.getParallelAmount(machine, recipe, 4); + // double eutMulti = (euTick * 0.5 * parallel <= 32) ? (parallel * 0.5) : (32.0 / euTick); + + return ModifierFunction.builder() + .inputModifier(ContentModifier.multiplier(parallel)) + .outputModifier(ContentModifier.multiplier(parallel)) + .durationMultiplier(parallel * 0.75) + .parallels(parallel) + .build(); + }; + } }