ServerPacksSource.java
net.minecraft.server.packs.repository.ServerPacksSource
信息
- 全限定名:net.minecraft.server.packs.repository.ServerPacksSource
- 类型:public class
- 包:net.minecraft.server.packs.repository
- 源码路径:src/main/java/net/minecraft/server/packs/repository/ServerPacksSource.java
- 起始行号:L24
- 继承:BuiltInPackSource
- 职责:
TODO
字段/常量
-
VERSION_METADATA_SECTION- 类型:
PackMetadataSection - 修饰符:
private static final - 源码定位:
L25 - 说明:
TODO
- 类型:
-
FEATURE_FLAGS_METADATA_SECTION- 类型:
FeatureFlagsMetadataSection - 修饰符:
private static final - 源码定位:
L28 - 说明:
TODO
- 类型:
-
BUILT_IN_METADATA- 类型:
ResourceMetadata - 修饰符:
private static final - 源码定位:
L29 - 说明:
TODO
- 类型:
-
VANILLA_PACK_INFO- 类型:
PackLocationInfo - 修饰符:
private static final - 源码定位:
L32 - 说明:
TODO
- 类型:
-
VANILLA_SELECTION_CONFIG- 类型:
PackSelectionConfig - 修饰符:
private static final - 源码定位:
L35 - 说明:
TODO
- 类型:
-
FEATURE_SELECTION_CONFIG- 类型:
PackSelectionConfig - 修饰符:
private static final - 源码定位:
L36 - 说明:
TODO
- 类型:
-
PACKS_DIR- 类型:
Identifier - 修饰符:
private static final - 源码定位:
L37 - 说明:
TODO
- 类型:
内部类/嵌套类型
- 无
构造器
public ServerPacksSource(DirectoryValidator validator) @ L39
- 构造器名:ServerPacksSource
- 源码定位:L39
- 修饰符:public
参数:
- validator: DirectoryValidator
说明:
TODO
方法
下面的方法块按源码顺序生成。
private static PackLocationInfo createBuiltInPackLocation(String id, Component title) @ L43
- 方法名:createBuiltInPackLocation
- 源码定位:L43
- 返回类型:PackLocationInfo
- 修饰符:private static
参数:
- id: String
- title: Component
说明:
TODO
public static VanillaPackResources createVanillaPackSource() @ L47
- 方法名:createVanillaPackSource
- 源码定位:L47
- 返回类型:VanillaPackResources
- 修饰符:public static
参数:
- 无
说明:
TODO
protected Component getPackTitle(String id) @ L57
- 方法名:getPackTitle
- 源码定位:L57
- 返回类型:Component
- 修饰符:protected
参数:
- id: String
说明:
TODO
protected Pack createVanillaPack(PackResources resources) @ L62
- 方法名:createVanillaPack
- 源码定位:L62
- 返回类型:Pack
- 修饰符:protected
参数:
- resources: PackResources
说明:
TODO
protected Pack createBuiltinPack(String id, Pack.ResourcesSupplier resources, Component name) @ L67
- 方法名:createBuiltinPack
- 源码定位:L67
- 返回类型:Pack
- 修饰符:protected
参数:
- id: String
- resources: Pack.ResourcesSupplier
- name: Component
说明:
TODO
public static PackRepository createPackRepository(Path datapackDir, DirectoryValidator validator) @ L72
- 方法名:createPackRepository
- 源码定位:L72
- 返回类型:PackRepository
- 修饰符:public static
参数:
- datapackDir: Path
- validator: DirectoryValidator
说明:
TODO
public static PackRepository createVanillaTrustedRepository() @ L76
- 方法名:createVanillaTrustedRepository
- 源码定位:L76
- 返回类型:PackRepository
- 修饰符:public static
参数:
- 无
说明:
TODO
public static PackRepository createPackRepository(LevelStorageSource.LevelStorageAccess levelSourceAccess) @ L80
- 方法名:createPackRepository
- 源码定位:L80
- 返回类型:PackRepository
- 修饰符:public static
参数:
- levelSourceAccess: LevelStorageSource.LevelStorageAccess
说明:
TODO
代码
public class ServerPacksSource extends BuiltInPackSource {
private static final PackMetadataSection VERSION_METADATA_SECTION = new PackMetadataSection(
Component.translatable("dataPack.vanilla.description"), SharedConstants.getCurrentVersion().packVersion(PackType.SERVER_DATA).minorRange()
);
private static final FeatureFlagsMetadataSection FEATURE_FLAGS_METADATA_SECTION = new FeatureFlagsMetadataSection(FeatureFlags.DEFAULT_FLAGS);
private static final ResourceMetadata BUILT_IN_METADATA = ResourceMetadata.of(
PackMetadataSection.SERVER_TYPE, VERSION_METADATA_SECTION, FeatureFlagsMetadataSection.TYPE, FEATURE_FLAGS_METADATA_SECTION
);
private static final PackLocationInfo VANILLA_PACK_INFO = new PackLocationInfo(
"vanilla", Component.translatable("dataPack.vanilla.name"), PackSource.BUILT_IN, Optional.of(CORE_PACK_INFO)
);
private static final PackSelectionConfig VANILLA_SELECTION_CONFIG = new PackSelectionConfig(false, Pack.Position.BOTTOM, false);
private static final PackSelectionConfig FEATURE_SELECTION_CONFIG = new PackSelectionConfig(false, Pack.Position.TOP, false);
private static final Identifier PACKS_DIR = Identifier.withDefaultNamespace("datapacks");
public ServerPacksSource(DirectoryValidator validator) {
super(PackType.SERVER_DATA, createVanillaPackSource(), PACKS_DIR, validator);
}
private static PackLocationInfo createBuiltInPackLocation(String id, Component title) {
return new PackLocationInfo(id, title, PackSource.FEATURE, Optional.of(KnownPack.vanilla(id)));
}
@VisibleForTesting
public static VanillaPackResources createVanillaPackSource() {
return new VanillaPackResourcesBuilder()
.setMetadata(BUILT_IN_METADATA)
.exposeNamespace("minecraft")
.applyDevelopmentConfig()
.pushJarResources()
.build(VANILLA_PACK_INFO);
}
@Override
protected Component getPackTitle(String id) {
return Component.literal(id);
}
@Override
protected @Nullable Pack createVanillaPack(PackResources resources) {
return Pack.readMetaAndCreate(VANILLA_PACK_INFO, fixedResources(resources), PackType.SERVER_DATA, VANILLA_SELECTION_CONFIG);
}
@Override
protected @Nullable Pack createBuiltinPack(String id, Pack.ResourcesSupplier resources, Component name) {
return Pack.readMetaAndCreate(createBuiltInPackLocation(id, name), resources, PackType.SERVER_DATA, FEATURE_SELECTION_CONFIG);
}
public static PackRepository createPackRepository(Path datapackDir, DirectoryValidator validator) {
return new PackRepository(new ServerPacksSource(validator), new FolderRepositorySource(datapackDir, PackType.SERVER_DATA, PackSource.WORLD, validator));
}
public static PackRepository createVanillaTrustedRepository() {
return new PackRepository(new ServerPacksSource(new DirectoryValidator(path -> true)));
}
public static PackRepository createPackRepository(LevelStorageSource.LevelStorageAccess levelSourceAccess) {
return createPackRepository(levelSourceAccess.getLevelPath(LevelResource.DATAPACK_DIR), levelSourceAccess.parent().getWorldDirValidator());
}
}引用的其他类
-
- 引用位置:
方法调用 - 关联成员:
SharedConstants.getCurrentVersion()
- 引用位置:
-
- 引用位置:
参数/方法调用/返回值 - 关联成员:
Component.literal(), Component.translatable()
- 引用位置:
-
- 引用位置:
字段/方法调用 - 关联成员:
Identifier.withDefaultNamespace()
- 引用位置:
-
- 引用位置:
字段/构造调用 - 关联成员:
FeatureFlagsMetadataSection()
- 引用位置:
-
- 引用位置:
字段/构造调用/返回值 - 关联成员:
PackLocationInfo()
- 引用位置:
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
字段/构造调用 - 关联成员:
PackSelectionConfig()
- 引用位置:
-
- 引用位置:
返回值
- 引用位置:
-
- 引用位置:
构造调用 - 关联成员:
VanillaPackResourcesBuilder()
- 引用位置:
-
- 引用位置:
字段/构造调用 - 关联成员:
PackMetadataSection()
- 引用位置:
-
- 引用位置:
继承
- 引用位置:
-
- 引用位置:
构造调用 - 关联成员:
FolderRepositorySource()
- 引用位置:
-
- 引用位置:
方法调用 - 关联成员:
KnownPack.vanilla()
- 引用位置:
-
- 引用位置:
参数/方法调用/返回值 - 关联成员:
Pack.readMetaAndCreate()
- 引用位置:
-
- 引用位置:
构造调用/返回值 - 关联成员:
PackRepository()
- 引用位置:
-
- 引用位置:
字段/方法调用 - 关联成员:
ResourceMetadata.of()
- 引用位置:
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
参数/构造调用 - 关联成员:
DirectoryValidator()
- 引用位置: