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.Identifier; import net.minecraft.server.packs.PackResources; public interface ResourceManager extends ResourceProvider { Set getNamespaces(); List getResourceStack(Identifier location); Map listResources(String directory, Predicate filter); Map> listResourceStacks(String directory, Predicate filter); Stream listPacks(); public static enum Empty implements ResourceManager { INSTANCE; @Override public Set getNamespaces() { return Set.of(); } @Override public Optional getResource(final Identifier location) { return Optional.empty(); } @Override public List getResourceStack(final Identifier location) { return List.of(); } @Override public Map listResources(final String directory, final Predicate filter) { return Map.of(); } @Override public Map> listResourceStacks(final String directory, final Predicate filter) { return Map.of(); } @Override public Stream listPacks() { return Stream.of(); } } }