@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 + (int) (Double.doubleToLongBits(this.chance) >>> 32 ^ Double.doubleToLongBits(this.chance));
            result = result * PRIME + this.inner.hashCode();
            return result;
        }
Represents a variable amount which has a base and a chance of varying.
This wraps another {@link VariableAmount} which it refers to if the
chance succeeds.
helper/src/main/java/me/lucko/helper/random/VariableAmount.java