ReloadableResourceManager.java
net.minecraft.server.packs.resources.ReloadableResourceManager
信息
- 全限定名:net.minecraft.server.packs.resources.ReloadableResourceManager
- 类型:public class
- 包:net.minecraft.server.packs.resources
- 源码路径:src/main/java/net/minecraft/server/packs/resources/ReloadableResourceManager.java
- 起始行号:L20
- 实现:AutoCloseable, ResourceManager
- 职责:
TODO
字段/常量
-
LOGGER- 类型:
Logger - 修饰符:
private static final - 源码定位:
L21 - 说明:
TODO
- 类型:
-
resources- 类型:
CloseableResourceManager - 修饰符:
private - 源码定位:
L22 - 说明:
TODO
- 类型:
-
listeners- 类型:
List<PreparableReloadListener> - 修饰符:
private final - 源码定位:
L23 - 说明:
TODO
- 类型:
-
type- 类型:
PackType - 修饰符:
private final - 源码定位:
L24 - 说明:
TODO
- 类型:
内部类/嵌套类型
- 无
构造器
public ReloadableResourceManager(PackType type) @ L26
- 构造器名:ReloadableResourceManager
- 源码定位:L26
- 修饰符:public
参数:
- type: PackType
说明:
TODO
方法
下面的方法块按源码顺序生成。
public void close() @ L31
- 方法名:close
- 源码定位:L31
- 返回类型:void
- 修饰符:public
参数:
- 无
说明:
TODO
public void registerReloadListener(PreparableReloadListener listener) @ L36
- 方法名:registerReloadListener
- 源码定位:L36
- 返回类型:void
- 修饰符:public
参数:
- listener: PreparableReloadListener
说明:
TODO
public ReloadInstance createReload(Executor backgroundExecutor, Executor mainThreadExecutor, CompletableFuture<Unit> initialTask, List<PackResources> resourcePacks) @ L40
- 方法名:createReload
- 源码定位:L40
- 返回类型:ReloadInstance
- 修饰符:public
参数:
- backgroundExecutor: Executor
- mainThreadExecutor: Executor
- initialTask: CompletableFuture
- resourcePacks: List
说明:
TODO
public Optional<Resource> getResource(Identifier location) @ L49
- 方法名:getResource
- 源码定位:L49
- 返回类型:Optional
- 修饰符:public
参数:
- location: Identifier
说明:
TODO
public Set<String> getNamespaces() @ L54
- 方法名:getNamespaces
- 源码定位:L54
- 返回类型:Set
- 修饰符:public
参数:
- 无
说明:
TODO
public List<Resource> getResourceStack(Identifier location) @ L59
- 方法名:getResourceStack
- 源码定位:L59
- 返回类型:List
- 修饰符:public
参数:
- location: Identifier
说明:
TODO
public Map<Identifier,Resource> listResources(String directory, Predicate<Identifier> filenameFilter) @ L64
- 方法名:listResources
- 源码定位:L64
- 返回类型:Map<Identifier,Resource>
- 修饰符:public
参数:
- directory: String
- filenameFilter: Predicate
说明:
TODO
public Map<Identifier,List<Resource>> listResourceStacks(String directory, Predicate<Identifier> filter) @ L69
- 方法名:listResourceStacks
- 源码定位:L69
- 返回类型:Map<Identifier,List
> - 修饰符:public
参数:
- directory: String
- filter: Predicate
说明:
TODO
public Stream<PackResources> listPacks() @ L74
- 方法名:listPacks
- 源码定位:L74
- 返回类型:Stream
- 修饰符:public
参数:
- 无
说明:
TODO
代码
public class ReloadableResourceManager implements AutoCloseable, ResourceManager {
private static final Logger LOGGER = LogUtils.getLogger();
private CloseableResourceManager resources;
private final List<PreparableReloadListener> listeners = Lists.newArrayList();
private final PackType type;
public ReloadableResourceManager(PackType type) {
this.type = type;
this.resources = new MultiPackResourceManager(type, List.of());
}
@Override
public void close() {
this.resources.close();
}
public void registerReloadListener(PreparableReloadListener listener) {
this.listeners.add(listener);
}
public ReloadInstance createReload(
Executor backgroundExecutor, Executor mainThreadExecutor, CompletableFuture<Unit> initialTask, List<PackResources> resourcePacks
) {
LOGGER.info("Reloading ResourceManager: {}", LogUtils.defer(() -> resourcePacks.stream().map(PackResources::packId).collect(Collectors.joining(", "))));
this.resources.close();
this.resources = new MultiPackResourceManager(this.type, resourcePacks);
return SimpleReloadInstance.create(this.resources, this.listeners, backgroundExecutor, mainThreadExecutor, initialTask, LOGGER.isDebugEnabled());
}
@Override
public Optional<Resource> getResource(Identifier location) {
return this.resources.getResource(location);
}
@Override
public Set<String> getNamespaces() {
return this.resources.getNamespaces();
}
@Override
public List<Resource> getResourceStack(Identifier location) {
return this.resources.getResourceStack(location);
}
@Override
public Map<Identifier, Resource> listResources(String directory, Predicate<Identifier> filenameFilter) {
return this.resources.listResources(directory, filenameFilter);
}
@Override
public Map<Identifier, List<Resource>> listResourceStacks(String directory, Predicate<Identifier> filter) {
return this.resources.listResourceStacks(directory, filter);
}
@Override
public Stream<PackResources> listPacks() {
return this.resources.listPacks();
}
}引用的其他类
-
- 引用位置:
参数/返回值
- 引用位置:
-
- 引用位置:
参数/返回值
- 引用位置:
-
- 引用位置:
参数/字段
- 引用位置:
-
- 引用位置:
字段
- 引用位置:
-
- 引用位置:
构造调用 - 关联成员:
MultiPackResourceManager()
- 引用位置:
-
- 引用位置:
参数/字段
- 引用位置:
-
- 引用位置:
返回值
- 引用位置:
-
- 引用位置:
返回值
- 引用位置:
-
- 引用位置:
实现
- 引用位置:
-
- 引用位置:
方法调用 - 关联成员:
SimpleReloadInstance.create()
- 引用位置:
-
- 引用位置:
参数
- 引用位置: