Class BigFluidAmount
java.lang.Object
alexiil.mc.lib.attributes.fluid.amount.BigFluidAmount
- All Implemented Interfaces:
Comparable<BigFluidAmount>
Exact version of
FluidAmount. This is generally intended for calculations if the end result should fit into
a FluidAmount, but the intermediate steps might not.-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final BigFluidAmountstatic final BigFluidAmountfinal BigIntegerAlways greater than 0.static final BigFluidAmountfinal BigIntegerstatic final BigFluidAmountfinal BigIntegerstatic final BigFluidAmount -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionadd(long by) add(BigFluidAmount by) add(FluidAmount by) asBigInt()doubleConverts this into a normal long-basedFluidAmount.asLongIntRounded(RoundingMode rounding) Converts this into a normal long-basedFluidAmount.Converts this into a normal long-basedFluidAmount.intNull is treated as zerodiv(long by) div(BigFluidAmount by) div(FluidAmount by) booleanequals(BigFluidAmount other) booleanbooleangcd(BigFluidAmount other) gcd(FluidAmount other) inthashCode()booleanisGreaterThan(BigFluidAmount other) Null is treated as zerobooleanNull is treated as zerobooleanisLessThan(BigFluidAmount other) Null is treated as zerobooleanisLessThanOrEqual(BigFluidAmount other) Null is treated as zerobooleanbooleanbooleanisZero()lcm(BigFluidAmount other) max(BigFluidAmount other) min(BigFluidAmount other) mul(long by) mul(BigFluidAmount by) mul(FluidAmount by) negate()static BigFluidAmountof(BigInteger numerator, BigInteger denominator) Creates a newFluidAmountwith the given values.static BigFluidAmountof(BigInteger whole, BigInteger numerator, BigInteger denominator) Creates a newFluidAmountwith the given values.intsign()sub(long by) sub(BigFluidAmount by) sub(FluidAmount by) toString()
-
Field Details
-
ZERO
-
ONE
-
NEGATIVE_ONE
-
BUCKET
-
BOTTLE
-
whole
-
numerator
-
denominator
Always greater than 0.
-
-
Constructor Details
-
BigFluidAmount
-
-
Method Details
-
of
Creates a newFluidAmountwith the given values. This will reduce the fraction into it's simplest form. -
of
Creates a newFluidAmountwith the given values. This will reduce the fraction into it's simplest form.- Throws:
IllegalArgumentException- if either whole or numerator are negative, or if denominator is less than or equal to 0.
-
isZero
public boolean isZero() -
isNegative
public boolean isNegative() -
isPositive
public boolean isPositive() -
sign
public int sign()- Returns:
- The sign: Either -1 if this is negative, +1 if this is positive, or 0 if this is zero.
-
getDivisor
- Returns:
- The denominator represented in a new fraction, as 1/this.denominator.
-
lcm
-
negate
-
reciprocal
- Returns:
- This fraction, but inverted. (With the numerator and denominator swapped).
-
asLongIntExact
- Throws:
ArithmeticException- if the given values don't fit in aFluidAmount
-
fitsInLongInt
public boolean fitsInLongInt()- Returns:
- True if
asLongIntExact()will not throw an arithmetic exception.
-
asLongIntSaturated
Converts this into a normal long-basedFluidAmount. If this is too big to fit then this returns eitherFluidAmount.MIN_BUCKETSorFluidAmount.MAX_BUCKETSaccording this thesign(). -
asLongIntRounded
Converts this into a normal long-basedFluidAmount.If
wholeis too large to fit in a long then eitherFluidAmount.MIN_BUCKETSorFluidAmount.MAX_BUCKETSis returned (depending on this sign).Otherwise this is approximately rounded to a valid value.
-
asLongIntRounded
Converts this into a normal long-basedFluidAmount.If
wholeis too large to fit in a long then eitherFluidAmount.MIN_BUCKETSorFluidAmount.MAX_BUCKETSis returned (depending on this sign).Otherwise this is approximately rounded to a valid value.
-
asBigInt
-
add
-
add
-
add
-
sub
-
sub
-
sub
-
mul
-
mul
-
mul
-
div
-
div
-
div
-
equals
-
hashCode
public int hashCode() -
toString
-
equals
- Returns:
- True if the number that this
FluidAmountrepresents is equal to the number that the givenFluidAmountrepresents.
-
compareTo
Null is treated as zero- Specified by:
compareToin interfaceComparable<BigFluidAmount>
-
asInexactDouble
public double asInexactDouble() -
isGreaterThan
Null is treated as zero -
isGreaterThanOrEqual
Null is treated as zero -
isLessThan
Null is treated as zero -
isLessThanOrEqual
Null is treated as zero -
gcd
-
gcd
-
min
- Returns:
- The smaller of this value and then given value.
-
max
- Returns:
- The greater of this value and then given value.
-