From c7f47ba3e288b4ac58d4ae43b771a4e0a828aebc Mon Sep 17 00:00:00 2001 From: Integer Limit <103940576+IntegerLimit@users.noreply.github.com> Date: Fri, 4 Oct 2024 21:10:12 +1000 Subject: [PATCH] Alternative Lubricant Recipes (#1030) [BALANCING] [DETAILS] details = [ "Raw Oil: 2B Input, 1B Output", "Light Oil: 1B Input, 500mB Output", "Heavy Oil: 1B Input, 4B Output", ] [DETAILS] --- .../Main/General/Early-Game/earlygame.groovy | 36 +++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/overrides/groovy/postInit/Post-Initial/Main/General/Early-Game/earlygame.groovy b/overrides/groovy/postInit/Post-Initial/Main/General/Early-Game/earlygame.groovy index 5c93437..c413a1c 100644 --- a/overrides/groovy/postInit/Post-Initial/Main/General/Early-Game/earlygame.groovy +++ b/overrides/groovy/postInit/Post-Initial/Main/General/Early-Game/earlygame.groovy @@ -1,5 +1,8 @@ import com.cleanroommc.groovyscript.helper.ingredient.OreDictIngredient +import com.nomiceu.nomilabs.groovy.ChangeRecipeBuilderCollection +import com.nomiceu.nomilabs.groovy.RecipePredicates import com.nomiceu.nomilabs.util.LabsModeHelper +import gregtech.api.recipes.builders.SimpleRecipeBuilder import net.minecraft.item.ItemStack import net.minecraftforge.fluids.FluidStack @@ -197,3 +200,36 @@ mods.gregtech.assembler.recipeBuilder() .outputs(robotArm) .duration(50).EUt(VA[ULV]) .buildAndRegister() + +// Lubricant Alternatives (Per Oil) +ChangeRecipeBuilderCollection lubeRecipes = mods.gregtech.brewery.changeByOutput( + RecipePredicates.hasExactlyFluidInput(fluid('oil') * 1000), + null, [fluid('lubricant') * 1000]) + +// Raw Oil: 2x Input, 0.5x Output +lubeRecipes.forEach { + it.builder { + it.clearFluidInputs() + .fluidInputs(fluid('oil_medium') * 2000) + }.buildAndRegister() +} + +// Light Oil: 1x Input, 0.5x Output +lubeRecipes.copy().forEach { + it.builder { + it.clearFluidInputs() + .fluidInputs(fluid('oil_light') * 1000) + }.changeEachFluidOutput { + return it * (it.amount / 2) + }.buildAndRegister() +} + +// Heavy Oil: 1x Input, 4x Output +lubeRecipes.copy().forEach { + it.builder { + it.clearFluidInputs() + .fluidInputs(fluid('oil_heavy') * 1000) + }.changeEachFluidOutput { + return it * (it.amount * 4) + }.buildAndRegister() +}