diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/main/java/gregtech/api/recipe/RecipeMaps.java | 19 | ||||
-rw-r--r-- | src/main/java/gregtech/common/tileentities/machines/multi/purification/PurifiedWaterHelpers.java | 7 |
2 files changed, 11 insertions, 15 deletions
diff --git a/src/main/java/gregtech/api/recipe/RecipeMaps.java b/src/main/java/gregtech/api/recipe/RecipeMaps.java index 2c05eb0e08..2ced6fab57 100644 --- a/src/main/java/gregtech/api/recipe/RecipeMaps.java +++ b/src/main/java/gregtech/api/recipe/RecipeMaps.java @@ -290,21 +290,10 @@ public final class RecipeMaps { (index, isFluid, isOutput, isSpecial) -> !isFluid && !isOutput && index != 0 ? GT_UITextures.OVERLAY_SLOT_LENS : null) // Add a simple ordering so lower tier purified water is displayed first, otherwise it gets really confusing - .neiRecipeComparator((a, b) -> { - // Find lens, if no lens was present we can use the default comparator - if (a.mInputs.length > 1 && b.mInputs.length > 1) { - ItemStack firstLens = a.mInputs[1]; - ItemStack secondLens = b.mInputs[1]; - // Find purified water/any fluid, if none was present simply use the lens to compare - if (ItemStack.areItemStacksEqual(firstLens, secondLens) && a.mFluidInputs.length > 0 - && b.mFluidInputs.length > 0) { - return Comparator - .<GT_Recipe, Integer>comparing(r -> PurifiedWaterHelpers.getWaterTier(r.mFluidInputs[0])) - .compare(a, b); - } - } - return a.compareTo(b); - }) + .neiRecipeComparator( + (a, b) -> Comparator.comparing(PurifiedWaterHelpers::getWaterTierFromRecipe) + .thenComparing(GT_Recipe::compareTo) + .compare(a, b)) .build(); public static final RecipeMap<RecipeMapBackend> mixerRecipes = RecipeMapBuilder.of("gt.recipe.mixer") .maxIO(9, 4, 1, 1) diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/purification/PurifiedWaterHelpers.java b/src/main/java/gregtech/common/tileentities/machines/multi/purification/PurifiedWaterHelpers.java index ec25cc394e..ab397aac94 100644 --- a/src/main/java/gregtech/common/tileentities/machines/multi/purification/PurifiedWaterHelpers.java +++ b/src/main/java/gregtech/common/tileentities/machines/multi/purification/PurifiedWaterHelpers.java @@ -3,6 +3,7 @@ package gregtech.common.tileentities.machines.multi.purification; import net.minecraftforge.fluids.FluidStack; import gregtech.api.enums.Materials; +import gregtech.api.util.GT_Recipe; public class PurifiedWaterHelpers { @@ -32,4 +33,10 @@ public class PurifiedWaterHelpers { else if (fluid.isFluidEqual(Materials.Grade8PurifiedWater.getFluid(1000L))) return 8; else return 0; } + + // Used to construct NEI comparator for water tier. Returns 0 if no water is used in this recipe + public static int getWaterTierFromRecipe(GT_Recipe recipe) { + if (recipe.mFluidInputs.length == 0) return 0; + else return getWaterTier(recipe.mFluidInputs[0]); + } } |