Files
EndlessIDs/src/main/java/com/falsepattern/endlessids/mixin/plugin/TargetedMod.java
T

45 lines
1.6 KiB
Java
Raw Normal View History

2022-03-10 23:09:23 +01:00
package com.falsepattern.endlessids.mixin.plugin;
import com.google.common.io.Files;
import lombok.val;
import java.nio.file.Path;
public enum TargetedMod {
2022-03-22 10:31:38 +01:00
VANILLA("Minecraft", "", "", true),
2022-03-22 11:42:57 +01:00
UBC("Underground Biomes Constructs", "undergroundbiomesconstructs-", "", false),
2022-03-22 12:23:25 +01:00
COFHLIB("CoFH Lib", "cofhlib-", "", false),
2022-03-22 12:46:52 +01:00
DRAGONAPI("DragonAPI", "dragonapi", "", false),
MFQM("More Fun Quicksand Mod", "morefunquicksandmod-", "", false);
2022-03-10 23:09:23 +01:00
public final String modName;
public final String jarNamePrefixLowercase;
public final String jarNameContainsLowercase;
public final boolean loadInDevelopment;
TargetedMod(String modName, String jarNamePrefix, String jarNameContains, boolean loadInDevelopment) {
this.modName = modName;
this.jarNamePrefixLowercase = jarNamePrefix.toLowerCase();
this.jarNameContainsLowercase = jarNameContains.toLowerCase();
this.loadInDevelopment = loadInDevelopment;
}
@SuppressWarnings("UnstableApiUsage")
public boolean isMatchingJar(Path path) {
val pathString = path.toString();
val nameLowerCase = Files.getNameWithoutExtension(pathString).toLowerCase();
val fileExtension = Files.getFileExtension(pathString);
return "jar".equals(fileExtension) && nameLowerCase.startsWith(jarNamePrefixLowercase) && nameLowerCase.contains(jarNameContainsLowercase);
}
@Override
public String toString() {
return "TargetedMod{" +
"modName='" + modName + '\'' +
", jarNamePrefixLowercase='" + jarNamePrefixLowercase + '\'' +
'}';
}
}