2021-09-15 16:45:54 +02:00
|
|
|
package io.gitlab.jfronny.respackopts.filters.util;
|
2020-12-21 14:51:49 +01:00
|
|
|
|
2021-11-19 15:16:08 +01:00
|
|
|
import io.gitlab.jfronny.respackopts.util.MetaCache;
|
2020-12-21 14:51:49 +01:00
|
|
|
import io.gitlab.jfronny.respackopts.Respackopts;
|
2021-09-15 17:13:14 +02:00
|
|
|
import io.gitlab.jfronny.respackopts.util.RpoFormatException;
|
2021-10-03 16:45:29 +02:00
|
|
|
import net.minecraft.resource.ResourcePack;
|
2020-12-21 14:51:49 +01:00
|
|
|
|
2021-09-15 16:45:54 +02:00
|
|
|
public class FileExclusionProvider {
|
2021-10-03 16:45:29 +02:00
|
|
|
public static boolean fileHidden(ResourcePack pack, String name) {
|
2021-09-15 17:13:14 +02:00
|
|
|
return FileRpoSearchProvider.modifyWithRpo(name, pack, rpo -> {
|
2021-02-15 12:17:52 +01:00
|
|
|
if (rpo.conditions == null)
|
|
|
|
return false;
|
2021-09-15 17:13:14 +02:00
|
|
|
try {
|
2021-11-19 15:16:08 +01:00
|
|
|
return !rpo.conditions.evaluate(MetaCache.getId(pack));
|
2021-09-15 17:13:14 +02:00
|
|
|
} catch (RpoFormatException e) {
|
2021-10-03 16:45:29 +02:00
|
|
|
Respackopts.LOGGER.error("Could not evaluate condition " + name, e);
|
2021-09-15 17:13:14 +02:00
|
|
|
return false;
|
|
|
|
}
|
|
|
|
}, false);
|
2020-12-21 14:51:49 +01:00
|
|
|
}
|
|
|
|
}
|