-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathModDiscovererConfig.java
More file actions
38 lines (31 loc) · 1.26 KB
/
ModDiscovererConfig.java
File metadata and controls
38 lines (31 loc) · 1.26 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
package io.github.fabriccompatibilitylayers.modremappingapi.api.v2;
import io.github.fabriccompatibilitylayers.modremappingapi.impl.defaults.ModDiscovererConfigImpl;
import java.nio.file.Path;
import java.util.List;
import java.util.function.Predicate;
import java.util.regex.Pattern;
public interface ModDiscovererConfig {
static Builder builder(String folderName) {
return new ModDiscovererConfigImpl.BuilderImpl(folderName);
}
String getFolderName();
Pattern getFileNameMatcher();
boolean searchRecursively();
Predicate<String> getDirectoryFilter();
Collector getCandidateCollector();
boolean getExportToOriginalFolder();
boolean allowDirectoryMods();
interface Builder {
Builder fileNameMatcher(String pattern);
Builder searchRecursively(boolean searchRecursively);
Builder directoryFilter(Predicate<String> filter);
Builder candidateCollector(Collector collector);
Builder exportToOriginalFolder(boolean exportToOriginalFolder);
Builder allowDirectoryMods(boolean allowDirectoryMods);
ModDiscovererConfig build();
}
@FunctionalInterface
interface Collector {
List<ModCandidate> collect(ModDiscovererConfig config, Path modPath, List<String> entries);
}
}