From 333c1a09cf1a6ae7e128284c27d098f548042cca Mon Sep 17 00:00:00 2001 From: Jordan Byrne Date: Mon, 16 Apr 2018 21:22:56 +1000 Subject: % Changed Adv. Cryo Freezer to not handle cells and instead use fluids (LCR type). $ Added a check to ensure the inputs and outputs of all Adv. Cryo Freezer contain equal cell counts (Some Plasmas do not have a non-cell version, plus things like carbon becomes a solid). --- .../gtPlusPlus/core/util/minecraft/RecipeUtils.java | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'src/Java/gtPlusPlus/core/util') diff --git a/src/Java/gtPlusPlus/core/util/minecraft/RecipeUtils.java b/src/Java/gtPlusPlus/core/util/minecraft/RecipeUtils.java index d3367cc46b..e5e4bb1181 100644 --- a/src/Java/gtPlusPlus/core/util/minecraft/RecipeUtils.java +++ b/src/Java/gtPlusPlus/core/util/minecraft/RecipeUtils.java @@ -11,7 +11,10 @@ import net.minecraft.item.ItemStack; import net.minecraft.item.crafting.CraftingManager; import net.minecraft.item.crafting.IRecipe; +import gregtech.api.enums.GT_Values; +import gregtech.api.enums.Materials; import gregtech.api.util.GT_ModHandler; +import gregtech.api.util.GT_Recipe; import gtPlusPlus.api.objects.Logger; import gtPlusPlus.core.handler.COMPAT_HANDLER; @@ -492,4 +495,21 @@ public class RecipeUtils { aOutput); } + public static boolean doesGregtechRecipeHaveEqualCells(GT_Recipe x) { + if (x.mInputs.length < 1) { + return false; + } + final int tInputAmount = GT_ModHandler.getCapsuleCellContainerCountMultipliedWithStackSize(x.mInputs); + final int tOutputAmount = GT_ModHandler.getCapsuleCellContainerCountMultipliedWithStackSize(x.mOutputs); + if (tInputAmount < tOutputAmount) { + if (!Materials.Tin.contains(x.mInputs)) { + return false; + } + } else if (tInputAmount > tOutputAmount && !Materials.Tin.contains(x.mOutputs)) { + return false; + } + + return true; + } + } -- cgit