ClampedNormalFloat.java
net.minecraft.util.valueproviders.ClampedNormalFloat
信息
- 全限定名:net.minecraft.util.valueproviders.ClampedNormalFloat
- 类型:public record
- 包:net.minecraft.util.valueproviders
- 源码路径:src/main/java/net/minecraft/util/valueproviders/ClampedNormalFloat.java
- 起始行号:L10
- 实现:FloatProvider
- 职责:
TODO
字段/常量
MAP_CODEC- 类型:
MapCodec<ClampedNormalFloat> - 修饰符:
public static final - 源码定位:
L11 - 说明:
TODO
- 类型:
内部类/嵌套类型
- 无
构造器
- 无
方法
下面的方法块按源码顺序生成。
public static ClampedNormalFloat of(float mean, float deviation, float min, float max) @ L22
- 方法名:of
- 源码定位:L22
- 返回类型:ClampedNormalFloat
- 修饰符:public static
参数:
- mean: float
- deviation: float
- min: float
- max: float
说明:
TODO
public float sample(RandomSource random) @ L26
- 方法名:sample
- 源码定位:L26
- 返回类型:float
- 修饰符:public
参数:
- random: RandomSource
说明:
TODO
public static float sample(RandomSource random, float mean, float deviation, float min, float max) @ L31
- 方法名:sample
- 源码定位:L31
- 返回类型:float
- 修饰符:public static
参数:
- random: RandomSource
- mean: float
- deviation: float
- min: float
- max: float
说明:
TODO
public MapCodec<ClampedNormalFloat> codec() @ L35
- 方法名:codec
- 源码定位:L35
- 返回类型:MapCodec
- 修饰符:public
参数:
- 无
说明:
TODO
public String toString() @ L40
- 方法名:toString
- 源码定位:L40
- 返回类型:String
- 修饰符:public
参数:
- 无
说明:
TODO
代码
public record ClampedNormalFloat(float mean, float deviation, float min, float max) implements FloatProvider {
public static final MapCodec<ClampedNormalFloat> MAP_CODEC = RecordCodecBuilder.<ClampedNormalFloat>mapCodec(
i -> i.group(
Codec.FLOAT.fieldOf("mean").forGetter(ClampedNormalFloat::mean),
Codec.FLOAT.fieldOf("deviation").forGetter(ClampedNormalFloat::deviation),
Codec.FLOAT.fieldOf("min").forGetter(ClampedNormalFloat::min),
Codec.FLOAT.fieldOf("max").forGetter(ClampedNormalFloat::max)
)
.apply(i, ClampedNormalFloat::new)
)
.validate(c -> c.max < c.min ? DataResult.error(() -> "Max must be larger than min: [" + c.min + ", " + c.max + "]") : DataResult.success(c));
public static ClampedNormalFloat of(float mean, float deviation, float min, float max) {
return new ClampedNormalFloat(mean, deviation, min, max);
}
@Override
public float sample(RandomSource random) {
return sample(random, this.mean, this.deviation, this.min, this.max);
}
public static float sample(RandomSource random, float mean, float deviation, float min, float max) {
return Mth.clamp(Mth.normal(random, mean, deviation), min, max);
}
@Override
public MapCodec<ClampedNormalFloat> codec() {
return MAP_CODEC;
}
@Override
public String toString() {
return "normal(" + this.mean + ", " + this.deviation + ") in [" + this.min + "-" + this.max + "]";
}
}引用的其他类
-
- 引用位置:
方法调用 - 关联成员:
Mth.clamp(), Mth.normal()
- 引用位置:
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
实现
- 引用位置: