Skip to content

Commit

Permalink
Merge all Util classes into the mixin config plugins
Browse files Browse the repository at this point in the history
  • Loading branch information
EnnuiL committed Jan 4, 2025
1 parent 94df1fe commit 7330a4d
Show file tree
Hide file tree
Showing 6 changed files with 50 additions and 80 deletions.
23 changes: 0 additions & 23 deletions src/main/java/de/kb1000/notelemetry/FabricUtil.java

This file was deleted.

24 changes: 0 additions & 24 deletions src/main/java/de/kb1000/notelemetry/ForgeUtil.java

This file was deleted.

24 changes: 0 additions & 24 deletions src/main/java/de/kb1000/notelemetry/NeoForgeUtil.java

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,9 @@
*/
package de.kb1000.notelemetry;

import net.fabricmc.loader.api.FabricLoader;
import net.fabricmc.loader.api.SemanticVersion;
import net.fabricmc.loader.api.VersionParsingException;
import org.objectweb.asm.tree.ClassNode;
import org.spongepowered.asm.mixin.extensibility.IMixinConfigPlugin;
import org.spongepowered.asm.mixin.extensibility.IMixinInfo;
Expand All @@ -29,13 +32,13 @@ public String getRefMapperConfig() {
public boolean shouldApplyMixin(String targetClassName, String mixinClassName) {
return switch (mixinClassName) {
case "de.kb1000.notelemetry.mixin.YggdrasilUserApiServiceMixin" ->
!FabricUtil.minecraftNewerThan("1.18-beta.3");
!Util.minecraftNewerThan("1.18-beta.3");
case "de.kb1000.notelemetry.mixin.NewYggdrasilUserApiServiceMixin" ->
FabricUtil.minecraftNewerThan("1.18-beta.3");
Util.minecraftNewerThan("1.18-beta.3");
case "de.kb1000.notelemetry.mixin.Pre1193TelemetryManagerMixin" ->
!FabricUtil.minecraftNewerThan("1.19.3-alpha.22.46.a");
!Util.minecraftNewerThan("1.19.3-alpha.22.46.a");
case "de.kb1000.notelemetry.mixin.MinecraftClientMixin", "de.kb1000.notelemetry.mixin.OptionsScreenMixin",
"de.kb1000.notelemetry.mixin.Post1193TelemetryManagerMixin" -> FabricUtil.minecraftNewerThan("1.19.3-alpha.22.46.a");
"de.kb1000.notelemetry.mixin.Post1193TelemetryManagerMixin" -> Util.minecraftNewerThan("1.19.3-alpha.22.46.a");
default -> true;
};
}
Expand All @@ -56,4 +59,14 @@ public void preApply(String targetClassName, ClassNode targetClass, String mixin
@Override
public void postApply(String targetClassName, ClassNode targetClass, String mixinClassName, IMixinInfo mixinInfo) {
}

static class Util {
private static boolean minecraftNewerThan(String version) {
try {
return FabricLoader.getInstance().getModContainer("minecraft").orElseThrow().getMetadata().getVersion().compareTo(SemanticVersion.parse(version)) >= 0;
} catch (VersionParsingException e) {
throw new RuntimeException(e);
}
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,10 @@
*/
package de.kb1000.notelemetry;

import net.minecraftforge.fml.loading.FMLLoader;
import org.apache.maven.artifact.versioning.DefaultArtifactVersion;
import org.apache.maven.artifact.versioning.InvalidVersionSpecificationException;
import org.apache.maven.artifact.versioning.VersionRange;
import org.objectweb.asm.tree.ClassNode;
import org.spongepowered.asm.mixin.extensibility.IMixinConfigPlugin;
import org.spongepowered.asm.mixin.extensibility.IMixinInfo;
Expand All @@ -29,9 +33,9 @@ public String getRefMapperConfig() {
return null;
}

if (ForgeUtil.minecraftNewerThan("1.21")) {
if (Util.minecraftNewerThan("1.21")) {
return "no-telemetry-mojank-refmap.json";
} else if (ForgeUtil.minecraftNewerThan("1.20.5")) {
} else if (Util.minecraftNewerThan("1.20.5")) {
return "no-telemetry-mojank-1.20-refmap.json";
}

Expand All @@ -48,9 +52,9 @@ public boolean shouldApplyMixin(String targetClassName, String mixinClassName) {
// You can't use snapshots on Forge!
case "de.kb1000.notelemetry.mixin.YggdrasilUserApiServiceMixin" -> false;
case "de.kb1000.notelemetry.mixin.Pre1193TelemetryManagerMixin" ->
!ForgeUtil.minecraftNewerThan("1.19.3-alpha.22.46.a");
!Util.minecraftNewerThan("1.19.3-alpha.22.46.a");
case "de.kb1000.notelemetry.mixin.MinecraftClientMixin", "de.kb1000.notelemetry.mixin.OptionsScreenMixin",
"de.kb1000.notelemetry.mixin.Post1193TelemetryManagerMixin" -> ForgeUtil.minecraftNewerThan("1.19.3-alpha.22.46.a");
"de.kb1000.notelemetry.mixin.Post1193TelemetryManagerMixin" -> Util.minecraftNewerThan("1.19.3-alpha.22.46.a");
default -> true;
};
}
Expand All @@ -71,4 +75,14 @@ public void preApply(String targetClassName, ClassNode targetClass, String mixin
@Override
public void postApply(String targetClassName, ClassNode targetClass, String mixinClassName, IMixinInfo mixinInfo) {
}

private static class Util {
private static boolean minecraftNewerThan(String version) {
try {
return VersionRange.createFromVersionSpec("[" + version + ",)").containsVersion(new DefaultArtifactVersion(FMLLoader.versionInfo().mcVersion()));
} catch (InvalidVersionSpecificationException e) {
throw new RuntimeException(e);
}
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,10 @@
*/
package de.kb1000.notelemetry;

import net.neoforged.fml.loading.FMLLoader;
import org.apache.maven.artifact.versioning.DefaultArtifactVersion;
import org.apache.maven.artifact.versioning.InvalidVersionSpecificationException;
import org.apache.maven.artifact.versioning.VersionRange;
import org.objectweb.asm.tree.ClassNode;
import org.spongepowered.asm.mixin.extensibility.IMixinConfigPlugin;
import org.spongepowered.asm.mixin.extensibility.IMixinInfo;
Expand All @@ -22,7 +26,7 @@ public void onLoad(String mixinPackage) {

@Override
public String getRefMapperConfig() {
if (NeoForgeUtil.minecraftNewerThan("1.21")) {
if (Util.minecraftNewerThan("1.21")) {
return "no-telemetry-mojank-refmap.json";
} else {
return "no-telemetry-mojank-1.20-refmap.json";
Expand Down Expand Up @@ -51,4 +55,14 @@ public void preApply(String targetClassName, ClassNode targetClass, String mixin
@Override
public void postApply(String targetClassName, ClassNode targetClass, String mixinClassName, IMixinInfo mixinInfo) {
}

private static class Util {
private static boolean minecraftNewerThan(String version) {
try {
return VersionRange.createFromVersionSpec("[" + version + ",)").containsVersion(new DefaultArtifactVersion(FMLLoader.versionInfo().mcVersion()));
} catch (InvalidVersionSpecificationException e) {
throw new RuntimeException(e);
}
}
}
}

0 comments on commit 7330a4d

Please sign in to comment.