@Override
        public int hashCode() {
            final int PRIME = 59;
            int result = 1;
            result = result * PRIME + (int) (Double.doubleToLongBits(this.base) >>> 32 ^ Double.doubleToLongBits(this.base));
            result = result * PRIME + this.variance.hashCode();
            return result;
        }
Represents a base amount with a variance, the final amount will be the
base amount plus or minus a random amount between zero (inclusive) and
the variance (exclusive).
helper/src/main/java/me/lucko/helper/random/VariableAmount.java