From 20ca15f0c48b4386fb2665d8e8db1e5fb7bfe108 Mon Sep 17 00:00:00 2001 From: embeddedt <42941056+embeddedt@users.noreply.github.com> Date: Thu, 22 Jun 2023 13:42:03 -0400 Subject: [PATCH] Add a few more features to resource pack cache engine (for 1.19.4+) --- .../embeddedt/modernfix/resources/CachedResourcePath.java | 7 +++++++ .../modernfix/resources/PackResourcesCacheEngine.java | 5 +++++ 2 files changed, 12 insertions(+) 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 ef5e2cbc..20788adf 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");