KnownPacksManager.java
net.minecraft.client.multiplayer.KnownPacksManager
信息
- 全限定名:net.minecraft.client.multiplayer.KnownPacksManager
- 类型:public class
- 包:net.minecraft.client.multiplayer
- 源码路径:src/main/java/net/minecraft/client/multiplayer/KnownPacksManager.java
- 起始行号:L20
- 职责:
TODO
字段/常量
-
repository- 类型:
PackRepository - 修饰符:
private final - 源码定位:
L21 - 说明:
TODO
- 类型:
-
knownPackToId- 类型:
Map<KnownPack,String> - 修饰符:
private final - 源码定位:
L22 - 说明:
TODO
- 类型:
内部类/嵌套类型
- 无
构造器
public KnownPacksManager() @ L24
- 构造器名:KnownPacksManager
- 源码定位:L24
- 修饰符:public
参数:
- 无
说明:
TODO
方法
下面的方法块按源码顺序生成。
public List<KnownPack> trySelectingPacks(List<KnownPack> packsToSelect) @ L34
- 方法名:trySelectingPacks
- 源码定位:L34
- 返回类型:List
- 修饰符:public
参数:
- packsToSelect: List
说明:
TODO
public CloseableResourceManager createResourceManager() @ L50
- 方法名:createResourceManager
- 源码定位:L50
- 返回类型:CloseableResourceManager
- 修饰符:public
参数:
- 无
说明:
TODO
代码
@OnlyIn(Dist.CLIENT)
public class KnownPacksManager {
private final PackRepository repository = ServerPacksSource.createVanillaTrustedRepository();
private final Map<KnownPack, String> knownPackToId;
public KnownPacksManager() {
this.repository.reload();
Builder<KnownPack, String> knownPacks = ImmutableMap.builder();
this.repository.getAvailablePacks().forEach(pack -> {
PackLocationInfo location = pack.location();
location.knownPackInfo().ifPresent(knownPack -> knownPacks.put(knownPack, location.id()));
});
this.knownPackToId = knownPacks.build();
}
public List<KnownPack> trySelectingPacks(List<KnownPack> packsToSelect) {
List<KnownPack> response = new ArrayList<>(packsToSelect.size());
List<String> selectedPacks = new ArrayList<>(packsToSelect.size());
for (KnownPack knownPack : packsToSelect) {
String knownPackId = this.knownPackToId.get(knownPack);
if (knownPackId != null) {
selectedPacks.add(knownPackId);
response.add(knownPack);
}
}
this.repository.setSelected(selectedPacks);
return response;
}
public CloseableResourceManager createResourceManager() {
List<PackResources> openedPacks = this.repository.openAllSelected();
return new MultiPackResourceManager(PackType.SERVER_DATA, openedPacks);
}
}引用的其他类
-
- 引用位置:
参数/字段/返回值
- 引用位置:
-
- 引用位置:
字段
- 引用位置:
-
- 引用位置:
方法调用 - 关联成员:
ServerPacksSource.createVanillaTrustedRepository()
- 引用位置:
-
- 引用位置:
返回值
- 引用位置:
-
- 引用位置:
构造调用 - 关联成员:
MultiPackResourceManager()
- 引用位置: