equivalent-exchange-3/src/main/java/com/pahimar/ee3/core/helper/FluidHelper.java

72 lines
2.4 KiB
Java

package com.pahimar.ee3.core.helper;
import java.util.Comparator;
import com.pahimar.ee3.lib.Compare;
import net.minecraftforge.fluids.FluidStack;
public class FluidHelper {
public static int compare(FluidStack fluidStack1, FluidStack fluidStack2) {
return comparator.compare(fluidStack1, fluidStack2);
}
public static String toString(FluidStack fluidStack) {
if (fluidStack != null) {
return String.format("%sxfluidStack.%s", fluidStack.amount, fluidStack.getFluid().getName());
}
return "fluidStack[null]";
}
public static Comparator<FluidStack> comparator = new Comparator<FluidStack>() {
public int compare(FluidStack fluidStack1, FluidStack fluidStack2) {
if (fluidStack1 != null) {
if (fluidStack2 != null) {
if (fluidStack1.fluidID == fluidStack2.fluidID) {
if (fluidStack1.amount == fluidStack2.amount) {
if (fluidStack1.tag != null) {
if (fluidStack2.tag != null) {
return (fluidStack1.tag.hashCode() - fluidStack2.tag.hashCode());
}
else {
return Compare.LESSER_THAN;
}
}
else {
if (fluidStack2.tag != null) {
return Compare.GREATER_THAN;
}
else {
return Compare.EQUALS;
}
}
}
else {
return (fluidStack1.amount - fluidStack2.amount);
}
}
else {
return (fluidStack1.fluidID - fluidStack2.fluidID);
}
}
else {
return Compare.LESSER_THAN;
}
}
else {
if (fluidStack2 != null) {
return Compare.GREATER_THAN;
}
else {
return Compare.EQUALS;
}
}
}
};
}