AbstractPackResources.java
net.minecraft.server.packs.AbstractPackResources
信息
- 全限定名:net.minecraft.server.packs.AbstractPackResources
- 类型:public abstract class
- 包:net.minecraft.server.packs
- 源码路径:src/main/java/net/minecraft/server/packs/AbstractPackResources.java
- 起始行号:L10
- 实现:PackResources
- 职责:
TODO
字段/常量
-
location- 类型:
PackLocationInfo - 修饰符:
private final - 源码定位:
L11 - 说明:
TODO
- 类型:
-
metadata- 类型:
ResourceMetadata - 修饰符:
private - 源码定位:
L12 - 说明:
TODO
- 类型:
内部类/嵌套类型
- 无
构造器
protected AbstractPackResources(PackLocationInfo location) @ L14
- 构造器名:AbstractPackResources
- 源码定位:L14
- 修饰符:protected
参数:
- location: PackLocationInfo
说明:
TODO
方法
下面的方法块按源码顺序生成。
public <T> T getMetadataSection(MetadataSectionType<T> metadataSerializer) @ L18
- 方法名:getMetadataSection
- 源码定位:L18
- 返回类型:
T - 修饰符:public
参数:
- metadataSerializer: MetadataSectionType
说明:
TODO
public static ResourceMetadata loadMetadata(PackResources packResources) @ L27
- 方法名:loadMetadata
- 源码定位:L27
- 返回类型:ResourceMetadata
- 修饰符:public static
参数:
- packResources: PackResources
说明:
TODO
public PackLocationInfo location() @ L41
- 方法名:location
- 源码定位:L41
- 返回类型:PackLocationInfo
- 修饰符:public
参数:
- 无
说明:
TODO
代码
public abstract class AbstractPackResources implements PackResources {
private final PackLocationInfo location;
private @Nullable ResourceMetadata metadata;
protected AbstractPackResources(PackLocationInfo location) {
this.location = location;
}
@Override
public <T> @Nullable T getMetadataSection(MetadataSectionType<T> metadataSerializer) throws IOException {
if (this.metadata == null) {
this.metadata = loadMetadata(this);
}
return this.metadata.getSection(metadataSerializer).orElse(null);
}
public static ResourceMetadata loadMetadata(PackResources packResources) throws IOException {
IoSupplier<InputStream> metadata = packResources.getRootResource("pack.mcmeta");
if (metadata == null) {
return ResourceMetadata.EMPTY;
} else {
ResourceMetadata var3;
try (InputStream resource = metadata.get()) {
var3 = ResourceMetadata.fromJsonStream(resource);
}
return var3;
}
}
@Override
public PackLocationInfo location() {
return this.location;
}
}引用的其他类
-
- 引用位置:
参数/字段/返回值
- 引用位置:
-
- 引用位置:
参数/实现
- 引用位置:
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
字段/方法调用/返回值 - 关联成员:
ResourceMetadata.fromJsonStream()
- 引用位置: