MultiVariant.java
net.minecraft.client.data.models.MultiVariant
信息
- 全限定名:net.minecraft.client.data.models.MultiVariant
- 类型:public record
- 包:net.minecraft.client.data.models
- 源码路径:src/main/java/net/minecraft/client/data/models/MultiVariant.java
- 起始行号:L15
- 职责:
TODO
字段/常量
- 无
内部类/嵌套类型
- 无
构造器
public MultiVariant(WeightedList<Variant> variants) @ L16
- 构造器名:MultiVariant
- 源码定位:L16
- 修饰符:public
参数:
- variants: WeightedList
说明:
TODO
方法
下面的方法块按源码顺序生成。
public MultiVariant with(VariantMutator mutator) @ L24
- 方法名:with
- 源码定位:L24
- 返回类型:MultiVariant
- 修饰符:public
参数:
- mutator: VariantMutator
说明:
TODO
public BlockStateModel.Unbaked toUnbaked() @ L28
- 方法名:toUnbaked
- 源码定位:L28
- 返回类型:BlockStateModel.Unbaked
- 修饰符:public
参数:
- 无
说明:
TODO
代码
@OnlyIn(Dist.CLIENT)
public record MultiVariant(WeightedList<Variant> variants) {
public MultiVariant(WeightedList<Variant> variants) {
if (variants.isEmpty()) {
throw new IllegalArgumentException("Variant list must contain at least one element");
} else {
this.variants = variants;
}
}
public MultiVariant with(VariantMutator mutator) {
return new MultiVariant(this.variants.map(mutator));
}
public BlockStateModel.Unbaked toUnbaked() {
List<Weighted<Variant>> entries = this.variants.unwrap();
return (BlockStateModel.Unbaked)(entries.size() == 1
? new SingleVariant.Unbaked(entries.getFirst().value())
: new WeightedVariants.Unbaked(this.variants.map(SingleVariant.Unbaked::new)));
}
}引用的其他类
-
- 引用位置:
返回值
- 引用位置:
-
- 引用位置:
方法调用/构造调用 - 关联成员:
SingleVariant.Unbaked(), Unbaked()
- 引用位置:
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
方法调用/构造调用 - 关联成员:
Unbaked(), WeightedVariants.Unbaked()
- 引用位置:
-
- 引用位置:
参数
- 引用位置: