aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/kubatech/mixin/TargetedMod.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/kubatech/mixin/TargetedMod.java')
-rw-r--r--src/main/java/kubatech/mixin/TargetedMod.java35
1 files changed, 35 insertions, 0 deletions
diff --git a/src/main/java/kubatech/mixin/TargetedMod.java b/src/main/java/kubatech/mixin/TargetedMod.java
new file mode 100644
index 0000000000..c65fadbde2
--- /dev/null
+++ b/src/main/java/kubatech/mixin/TargetedMod.java
@@ -0,0 +1,35 @@
+package kubatech.mixin;
+
+import com.google.common.io.Files;
+import java.nio.file.Path;
+
+public enum TargetedMod {
+ VANILLA("Minecraft", "unused", true),
+ ;
+
+ public final String modName;
+ public final String jarNamePrefixLowercase;
+ public final boolean loadInDevelopment;
+
+ TargetedMod(String modName, String jarNamePrefix, boolean loadInDevelopment) {
+ this.modName = modName;
+ this.jarNamePrefixLowercase = jarNamePrefix.toLowerCase();
+ this.loadInDevelopment = loadInDevelopment;
+ }
+
+ @SuppressWarnings("UnstableApiUsage")
+ public boolean isMatchingJar(Path path) {
+ final String pathString = path.toString();
+ final String nameLowerCase = Files.getNameWithoutExtension(pathString).toLowerCase();
+ final String fileExtension = Files.getFileExtension(pathString);
+
+ return nameLowerCase.startsWith(jarNamePrefixLowercase) && "jar".equals(fileExtension);
+ }
+
+ @Override
+ public String toString() {
+ return "TargetedMod{" + "modName='"
+ + modName + '\'' + ", jarNamePrefixLowercase='"
+ + jarNamePrefixLowercase + '\'' + '}';
+ }
+}