aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/mixin/TargetedMod.java
diff options
context:
space:
mode:
authorRaven Szewczyk <git@eigenraven.me>2024-05-26 22:40:25 +0100
committerGitHub <noreply@github.com>2024-05-26 23:40:25 +0200
commitf3df59d9f730d7d777346c454c43e28157d1f60f (patch)
treefff0ca6f093f071ec6a926ea5e80476a5c6919fd /src/main/java/gregtech/mixin/TargetedMod.java
parentd96dbdb8d58b646c3f3dda174b8dd87724327d7f (diff)
downloadGT5-Unofficial-f3df59d9f730d7d777346c454c43e28157d1f60f.tar.gz
GT5-Unofficial-f3df59d9f730d7d777346c454c43e28157d1f60f.tar.bz2
GT5-Unofficial-f3df59d9f730d7d777346c454c43e28157d1f60f.zip
Asm->Mixin conversion (#2620)
* Set up early and late mixins hodgepodge-style * Port bartworks asm to mixins * Wire up bartworks asm configs * Fix wrong mixin targets * Remove the coremod dependency * update deps --------- Co-authored-by: Martin Robertz <dream-master@gmx.net>
Diffstat (limited to 'src/main/java/gregtech/mixin/TargetedMod.java')
-rw-r--r--src/main/java/gregtech/mixin/TargetedMod.java86
1 files changed, 59 insertions, 27 deletions
diff --git a/src/main/java/gregtech/mixin/TargetedMod.java b/src/main/java/gregtech/mixin/TargetedMod.java
index 0f402d1947..d8e1018f17 100644
--- a/src/main/java/gregtech/mixin/TargetedMod.java
+++ b/src/main/java/gregtech/mixin/TargetedMod.java
@@ -1,43 +1,75 @@
package gregtech.mixin;
-import java.nio.file.Path;
-
-import com.google.common.io.Files;
+import cpw.mods.fml.common.Mod;
public enum TargetedMod {
- VANILLA("Minecraft", "unused", true),
-
- ;
+ // NOTE: This doesn't work - late mods need a modid, not a coremod class
+ ADVANCED_SOLAR_PANELS("Advanced Solar Panels", null, "AdvancedSolarPanel"),
+ ANGELICA("Angelica", "com.gtnewhorizons.angelica.loading.AngelicaTweaker", "angelica"),
+ ARCHAICFIX("ArchaicFix", "org.embeddedt.archaicfix.ArchaicCore", "archaicfix"),
+ AUTOMAGY("Automagy", null, "Automagy"),
+ BAUBLES("Baubles", null, "Baubles"),
+ BETTERHUD("Better HUD", null, "hud"),
+ BIBLIOCRAFT("Bibliocraft", null, "BiblioCraft"),
+ BOP("BiomesOPlenty", null, "BiomesOPlenty"),
+ BUGTORCH("BugTorch", "jss.bugtorch.mixinplugin.BugTorchEarlyMixins", "bugtorch"),
+ BUKKIT("Bukkit/Thermos", "Bukkit", null),
+ COFH_CORE("CoFHCore", "cofh.asm.LoadingPlugin", "CoFHCore"),
+ DAMAGE_INDICATORS("Damage Indicators", null, "DamageIndicatorsMod"),
+ EXTRATIC("ExtraTiC", null, "ExtraTiC"),
+ EXTRA_UTILITIES("ExtraUtilities", null, "ExtraUtilities"),
+ FASTCRAFT("FastCraft", "fastcraft.Tweaker"),
+ GALACTICRAFT_CORE("GalacticraftCore", "micdoodle8.mods.galacticraft.core.asm.GCLoadingPlugin", "GalacticraftCore"),
+ GT5U("GregTech5u", null, "gregtech"), // Also matches GT6.
+ GT6("GregTech6", "gregtech.asm.GT_ASM", "gregapi"), // Can be used to exclude GT6 from the GT5U target.
+ GTNHLIB("GTNHLib", "com.gtnewhorizon.gtnhlib.core.GTNHLibCore", "gtnhlib"),
+ HARVESTCRAFT("harvestcraft", null, "harvestcraft"),
+ HARVESTTHENETHER("harvestthenether", null, "harvestthenether"),
+ HUNGER_OVERHAUL("HungerOverhaul", null, "HungerOverhaul"),
+ IC2("IC2", "ic2.core.coremod.IC2core", "IC2"),
+ IMMERSIVE_ENGINENEERING("Immersive Engineering", null, "ImmersiveEngineering"),
+ JOURNEYMAP("JourneyMap", null, "journeymap"),
+ LOTR("The Lord of the rings mod", "lotr.common.coremod.LOTRLoadingPlugin", "lotr"),
+ LWJGL3IFY("lwjgl3ify", "me.eigenraven.lwjgl3ify.core.Lwjgl3ifyCoremod", "lwjgl3ify"),
+ MINECHEM("Minechem", null, "minechem"),
+ MINEFACTORY_RELOADED("MineFactory Reloaded", null, "MineFactoryReloaded"),
+ MRTJPCORE("MrTJPCore", null, "MrTJPCoreMod"),
+ NOTENOUGHITEMS("NotEnoughItems", "codechicken.nei.asm.NEICorePlugin", "NotEnoughItems"),
+ OPTIFINE("Optifine", "optifine.OptiFineForgeTweaker", "Optifine"),
+ PORTAL_GUN("PortalGun", null, "PortalGun"),
+ PROJECTE("ProjectE", null, "ProjectE"),
+ RAILCRAFT("Railcraft", null, "Railcraft"),
+ THAUMCRAFT("Thaumcraft", null, "Thaumcraft"), // "thaumcraft.codechicken.core.launch.DepLoader"
+ THERMALDYNAMICS("Thermal Dynamics", null, "ThermalDynamics"),
+ THERMALEXPANSION("Thermal Expansion", null, "ThermalExpansion"),
+ TINKERSCONSTRUCT("TConstruct", null, "TConstruct"),
+ TRAVELLERSGEAR("TravellersGear", null, "TravellersGear"),
+ VANILLA("Minecraft", null),
+ VOXELMAP("VoxelMap", "com.thevoxelbox.voxelmap.litemod.VoxelMapTransformer", "voxelmap"),
+ WITCHERY("Witchery", null, "witchery"),
+ XAEROWORLDMAP("Xaero's World Map", null, "XaeroWorldMap"),
+ ZTONES("ZTones", null, "Ztones");
+ /** The "name" in the {@link Mod @Mod} annotation */
public final String modName;
- public final String jarNamePrefixLowercase;
- public final boolean loadInDevelopment;
+ /** Class that implements the IFMLLoadingPlugin interface */
+ public final String coreModClass;
+ /** The "modid" in the {@link Mod @Mod} annotation */
+ public final String modId;
- TargetedMod(String modName, String jarNamePrefix, boolean loadInDevelopment) {
- this.modName = modName;
- this.jarNamePrefixLowercase = jarNamePrefix.toLowerCase();
- this.loadInDevelopment = loadInDevelopment;
+ TargetedMod(String modName, String coreModClass) {
+ this(modName, coreModClass, null);
}
- @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);
+ TargetedMod(String modName, String coreModClass, String modId) {
+ this.modName = modName;
+ this.coreModClass = coreModClass;
+ this.modId = modId;
}
@Override
public String toString() {
- return "TargetedMod{" + "modName='"
- + modName
- + '\''
- + ", jarNamePrefixLowercase='"
- + jarNamePrefixLowercase
- + '\''
- + '}';
+ return "TargetedMod{modName='" + modName + "', coreModClass='" + coreModClass + "', modId='" + modId + "'}";
}
}