StatType.java
net.minecraft.stats.StatType
信息
- 全限定名:net.minecraft.stats.StatType
- 类型:public class
- 包:net.minecraft.stats
- 源码路径:src/main/java/net/minecraft/stats/StatType.java
- 起始行号:L12
- 实现:Iterable<Stat
> - 职责:
TODO
字段/常量
-
registry- 类型:
Registry<T> - 修饰符:
private final - 源码定位:
L13 - 说明:
TODO
- 类型:
-
map- 类型:
Map<T,Stat<T>> - 修饰符:
private final - 源码定位:
L14 - 说明:
TODO
- 类型:
-
displayName- 类型:
Component - 修饰符:
private final - 源码定位:
L15 - 说明:
TODO
- 类型:
-
streamCodec- 类型:
StreamCodec<RegistryFriendlyByteBuf,Stat<T>> - 修饰符:
private final - 源码定位:
L16 - 说明:
TODO
- 类型:
内部类/嵌套类型
- 无
构造器
public StatType(Registry<T> registry, Component displayName) @ L18
- 构造器名:StatType
- 源码定位:L18
- 修饰符:public
参数:
- registry: Registry
- displayName: Component
说明:
TODO
方法
下面的方法块按源码顺序生成。
public StreamCodec<RegistryFriendlyByteBuf,Stat<T>> streamCodec() @ L24
- 方法名:streamCodec
- 源码定位:L24
- 返回类型:StreamCodec<RegistryFriendlyByteBuf,Stat
> - 修饰符:public
参数:
- 无
说明:
TODO
public boolean contains(T key) @ L28
- 方法名:contains
- 源码定位:L28
- 返回类型:boolean
- 修饰符:public
参数:
- key: T
说明:
TODO
public Stat<T> get(T argument, StatFormatter formatter) @ L32
- 方法名:get
- 源码定位:L32
- 返回类型:Stat
- 修饰符:public
参数:
- argument: T
- formatter: StatFormatter
说明:
TODO
public Registry<T> getRegistry() @ L36
- 方法名:getRegistry
- 源码定位:L36
- 返回类型:Registry
- 修饰符:public
参数:
- 无
说明:
TODO
public Iterator<Stat<T>> iterator() @ L40
- 方法名:iterator
- 源码定位:L40
- 返回类型:Iterator<Stat
> - 修饰符:public
参数:
- 无
说明:
TODO
public Stat<T> get(T argument) @ L45
- 方法名:get
- 源码定位:L45
- 返回类型:Stat
- 修饰符:public
参数:
- argument: T
说明:
TODO
public Component getDisplayName() @ L49
- 方法名:getDisplayName
- 源码定位:L49
- 返回类型:Component
- 修饰符:public
参数:
- 无
说明:
TODO
代码
public class StatType<T> implements Iterable<Stat<T>> {
private final Registry<T> registry;
private final Map<T, Stat<T>> map = new IdentityHashMap<>();
private final Component displayName;
private final StreamCodec<RegistryFriendlyByteBuf, Stat<T>> streamCodec;
public StatType(Registry<T> registry, Component displayName) {
this.registry = registry;
this.displayName = displayName;
this.streamCodec = ByteBufCodecs.registry(registry.key()).map(this::get, Stat::getValue);
}
public StreamCodec<RegistryFriendlyByteBuf, Stat<T>> streamCodec() {
return this.streamCodec;
}
public boolean contains(T key) {
return this.map.containsKey(key);
}
public Stat<T> get(T argument, StatFormatter formatter) {
return this.map.computeIfAbsent(argument, t -> new Stat<>(this, (T)t, formatter));
}
public Registry<T> getRegistry() {
return this.registry;
}
@Override
public Iterator<Stat<T>> iterator() {
return this.map.values().iterator();
}
public Stat<T> get(T argument) {
return this.get(argument, StatFormatter.DEFAULT);
}
public Component getDisplayName() {
return this.displayName;
}
}引用的其他类
-
- 引用位置:
参数/字段/返回值
- 引用位置:
-
- 引用位置:
字段/返回值
- 引用位置:
-
- 引用位置:
参数/字段/返回值
- 引用位置:
-
- 引用位置:
方法调用 - 关联成员:
ByteBufCodecs.registry()
- 引用位置:
-
- 引用位置:
字段/返回值
- 引用位置:
-
- 引用位置:
字段/实现/返回值
- 引用位置:
-
- 引用位置:
参数
- 引用位置: