package net.minecraft.server.packs.resources; import java.util.List; import java.util.Map; import java.util.Optional; import java.util.Set; import java.util.function.Predicate; import java.util.stream.Stream; import net.minecraft.resources.ResourceLocation; import net.minecraft.server.packs.PackResources; public interface ResourceManager extends ResourceProvider { Set getNamespaces(); List getResourceStack(ResourceLocation location); Map listResources(String path, Predicate filter); Map> listResourceStacks(String path, Predicate filter); Stream listPacks(); public static enum Empty implements ResourceManager { INSTANCE; @Override public Set getNamespaces() { return Set.of(); } @Override public Optional getResource(ResourceLocation resourceLocation) { return Optional.empty(); } @Override public List getResourceStack(ResourceLocation location) { return List.of(); } @Override public Map listResources(String path, Predicate filter) { return Map.of(); } @Override public Map> listResourceStacks(String path, Predicate filter) { return Map.of(); } @Override public Stream listPacks() { return Stream.of(); } } }