HolderGetter.java
net.minecraft.core.HolderGetter
信息
- 全限定名:net.minecraft.core.HolderGetter
- 类型:public interface
- 包:net.minecraft.core
- 源码路径:src/main/java/net/minecraft/core/HolderGetter.java
- 起始行号:L8
- 职责:
TODO
字段/常量
- 无
内部类/嵌套类型
net.minecraft.core.HolderGetter.Provider- 类型:
interface - 修饰符:
public - 源码定位:
L25 - 说明:
TODO
- 类型:
构造器
- 无
方法
下面的方法块按源码顺序生成。
Optional<Holder.Reference<T>> get(ResourceKey<T> id) @ L9
- 方法名:get
- 源码定位:L9
- 返回类型:Optional<Holder.Reference
> - 修饰符:package-private
参数:
- id: ResourceKey
说明:
TODO
default Holder.Reference<T> getOrThrow(ResourceKey<T> id) @ L11
- 方法名:getOrThrow
- 源码定位:L11
- 返回类型:Holder.Reference
- 修饰符:default
参数:
- id: ResourceKey
说明:
TODO
Optional<HolderSet.Named<T>> get(TagKey<T> id) @ L15
- 方法名:get
- 源码定位:L15
- 返回类型:Optional<HolderSet.Named
> - 修饰符:package-private
参数:
- id: TagKey
说明:
TODO
default HolderSet.Named<T> getOrThrow(TagKey<T> id) @ L17
- 方法名:getOrThrow
- 源码定位:L17
- 返回类型:HolderSet.Named
- 修饰符:default
参数:
- id: TagKey
说明:
TODO
default Optional<Holder<T>> getRandomElementOf(TagKey<T> tag, RandomSource random) @ L21
- 方法名:getRandomElementOf
- 源码定位:L21
- 返回类型:Optional<Holder
> - 修饰符:default
参数:
- tag: TagKey
- random: RandomSource
说明:
TODO
代码
public interface HolderGetter<T> {
Optional<Holder.Reference<T>> get(final ResourceKey<T> id);
default Holder.Reference<T> getOrThrow(ResourceKey<T> id) {
return this.get(id).orElseThrow(() -> new IllegalStateException("Missing element " + id));
}
Optional<HolderSet.Named<T>> get(final TagKey<T> id);
default HolderSet.Named<T> getOrThrow(TagKey<T> id) {
return this.get(id).orElseThrow(() -> new IllegalStateException("Missing tag " + id));
}
default Optional<Holder<T>> getRandomElementOf(TagKey<T> tag, RandomSource random) {
return this.get(tag).flatMap(holderSet -> holderSet.getRandomElement(random));
}
public interface Provider {
<T> Optional<? extends HolderGetter<T>> lookup(final ResourceKey<? extends Registry<? extends T>> key);
default <T> HolderGetter<T> lookupOrThrow(ResourceKey<? extends Registry<? extends T>> key) {
return (HolderGetter<T>)this.lookup(key).orElseThrow(() -> new IllegalStateException("Registry " + key.identifier() + " not found"));
}
default <T> Optional<Holder.Reference<T>> get(ResourceKey<T> id) {
return this.lookup(id.registryKey()).flatMap(l -> l.get(id));
}
default <T> Holder.Reference<T> getOrThrow(ResourceKey<T> id) {
return this.lookup(id.registryKey()).flatMap(l -> l.get(id)).orElseThrow(() -> new IllegalStateException("Missing element " + id));
}
default <T> Optional<HolderSet.Named<T>> get(TagKey<T> id) {
return this.lookup(id.registry()).flatMap(l -> l.get(id));
}
default <T> HolderSet.Named<T> getOrThrow(TagKey<T> id) {
return this.lookup(id.registry()).flatMap(l -> l.get(id)).orElseThrow(() -> new IllegalStateException("Missing tag " + id));
}
}
}引用的其他类
-
- 引用位置:
返回值
- 引用位置:
-
- 引用位置:
返回值
- 引用位置:
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
参数
- 引用位置: