blob: 987a328f316d90bb67fced34c270de69d2310799 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
package gregtech.common.tileentities.machines.multi.purification;
import net.minecraftforge.fluids.FluidStack;
import gregtech.api.enums.Materials;
import gregtech.api.util.GTRecipe;
public class PurifiedWaterHelpers {
public static Materials getPurifiedWaterTier(int tier) {
return switch (tier) {
case 1 -> Materials.Grade1PurifiedWater;
case 2 -> Materials.Grade2PurifiedWater;
case 3 -> Materials.Grade3PurifiedWater;
case 4 -> Materials.Grade4PurifiedWater;
case 5 -> Materials.Grade5PurifiedWater;
case 6 -> Materials.Grade6PurifiedWater;
case 7 -> Materials.Grade7PurifiedWater;
case 8 -> Materials.Grade8PurifiedWater;
default -> throw new IllegalStateException("Unexpected value: " + tier);
};
}
public static int getWaterTier(FluidStack fluid) {
if (fluid == null) return 0;
else if (fluid.isFluidEqual(Materials.Grade1PurifiedWater.getFluid(1000L))) return 1;
else if (fluid.isFluidEqual(Materials.Grade2PurifiedWater.getFluid(1000L))) return 2;
else if (fluid.isFluidEqual(Materials.Grade3PurifiedWater.getFluid(1000L))) return 3;
else if (fluid.isFluidEqual(Materials.Grade4PurifiedWater.getFluid(1000L))) return 4;
else if (fluid.isFluidEqual(Materials.Grade5PurifiedWater.getFluid(1000L))) return 5;
else if (fluid.isFluidEqual(Materials.Grade6PurifiedWater.getFluid(1000L))) return 6;
else if (fluid.isFluidEqual(Materials.Grade7PurifiedWater.getFluid(1000L))) return 7;
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(GTRecipe recipe) {
if (recipe.mFluidInputs.length == 0) return 0;
else return getWaterTier(recipe.mFluidInputs[0]);
}
}
|