diff --git a/common/src/main/java/org/embeddedt/modernfix/resources/CachedResourcePath.java b/common/src/main/java/org/embeddedt/modernfix/resources/CachedResourcePath.java index 8f3d458f..abd260f7 100644 --- a/common/src/main/java/org/embeddedt/modernfix/resources/CachedResourcePath.java +++ b/common/src/main/java/org/embeddedt/modernfix/resources/CachedResourcePath.java @@ -57,6 +57,13 @@ public class CachedResourcePath { pathComponents = components; } + /** + * DOES NOT INTERN! + */ + public CachedResourcePath(String[] pathComponents) { + this.pathComponents = pathComponents; + } + @Override public int hashCode() { return Arrays.hashCode(pathComponents); diff --git a/common/src/main/java/org/embeddedt/modernfix/resources/PackResourcesCacheEngine.java b/common/src/main/java/org/embeddedt/modernfix/resources/PackResourcesCacheEngine.java index 6bf1ec8f..f79a6ae8 100644 --- a/common/src/main/java/org/embeddedt/modernfix/resources/PackResourcesCacheEngine.java +++ b/common/src/main/java/org/embeddedt/modernfix/resources/PackResourcesCacheEngine.java @@ -133,6 +133,11 @@ public class PackResourcesCacheEngine { return this.containedPaths.contains(new CachedResourcePath(path)); } + public boolean hasResource(String[] paths) { + awaitLoad(); + return this.containedPaths.contains(new CachedResourcePath(paths)); + } + public Collection getResources(PackType type, String resourceNamespace, String pathIn, int maxDepth, Predicate filter) { if(!PackTypeHelper.isVanillaPackType(type)) throw new IllegalArgumentException("Only vanilla PackTypes are supported");