From 7330a4dae7b0910de83fbd93b523cf71138fce89 Mon Sep 17 00:00:00 2001 From: Ennui Langeweile <85590273+EnnuiL@users.noreply.github.com> Date: Sat, 4 Jan 2025 01:43:45 -0300 Subject: [PATCH] Merge all Util classes into the mixin config plugins --- .../de/kb1000/notelemetry/FabricUtil.java | 23 ------------------ .../java/de/kb1000/notelemetry/ForgeUtil.java | 24 ------------------- .../de/kb1000/notelemetry/NeoForgeUtil.java | 24 ------------------- .../NoTelemetryFabricMixinConfigPlugin.java | 21 ++++++++++++---- .../NoTelemetryForgeMixinConfigPlugin.java | 22 +++++++++++++---- .../NoTelemetryNeoForgeMixinConfigPlugin.java | 16 ++++++++++++- 6 files changed, 50 insertions(+), 80 deletions(-) delete mode 100644 src/main/java/de/kb1000/notelemetry/FabricUtil.java delete mode 100644 src/main/java/de/kb1000/notelemetry/ForgeUtil.java delete mode 100644 src/main/java/de/kb1000/notelemetry/NeoForgeUtil.java diff --git a/src/main/java/de/kb1000/notelemetry/FabricUtil.java b/src/main/java/de/kb1000/notelemetry/FabricUtil.java deleted file mode 100644 index 8bbc152..0000000 --- a/src/main/java/de/kb1000/notelemetry/FabricUtil.java +++ /dev/null @@ -1,23 +0,0 @@ -/* - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at https://mozilla.org/MPL/2.0/. - * - * This Source Code Form is "Incompatible With Secondary Licenses", as - * defined by the Mozilla Public License, v. 2.0. - */ -package de.kb1000.notelemetry; - -import net.fabricmc.loader.api.FabricLoader; -import net.fabricmc.loader.api.SemanticVersion; -import net.fabricmc.loader.api.VersionParsingException; - -public class FabricUtil { - public 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); - } - } -} diff --git a/src/main/java/de/kb1000/notelemetry/ForgeUtil.java b/src/main/java/de/kb1000/notelemetry/ForgeUtil.java deleted file mode 100644 index 4e27f3a..0000000 --- a/src/main/java/de/kb1000/notelemetry/ForgeUtil.java +++ /dev/null @@ -1,24 +0,0 @@ -/* - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at https://mozilla.org/MPL/2.0/. - * - * This Source Code Form is "Incompatible With Secondary Licenses", as - * defined by the Mozilla Public License, v. 2.0. - */ -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; - -public class ForgeUtil { - public static boolean minecraftNewerThan(String version) { - try { - return VersionRange.createFromVersionSpec("[" + version + ",)").containsVersion(new DefaultArtifactVersion(FMLLoader.versionInfo().mcVersion())); - } catch (InvalidVersionSpecificationException e) { - throw new RuntimeException(e); - } - } -} diff --git a/src/main/java/de/kb1000/notelemetry/NeoForgeUtil.java b/src/main/java/de/kb1000/notelemetry/NeoForgeUtil.java deleted file mode 100644 index 1b67889..0000000 --- a/src/main/java/de/kb1000/notelemetry/NeoForgeUtil.java +++ /dev/null @@ -1,24 +0,0 @@ -/* - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at https://mozilla.org/MPL/2.0/. - * - * This Source Code Form is "Incompatible With Secondary Licenses", as - * defined by the Mozilla Public License, v. 2.0. - */ -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; - -public class NeoForgeUtil { - public static boolean minecraftNewerThan(String version) { - try { - return VersionRange.createFromVersionSpec("[" + version + ",)").containsVersion(new DefaultArtifactVersion(FMLLoader.versionInfo().mcVersion())); - } catch (InvalidVersionSpecificationException e) { - throw new RuntimeException(e); - } - } -} diff --git a/src/main/java/de/kb1000/notelemetry/NoTelemetryFabricMixinConfigPlugin.java b/src/main/java/de/kb1000/notelemetry/NoTelemetryFabricMixinConfigPlugin.java index 34bd3a8..494e095 100644 --- a/src/main/java/de/kb1000/notelemetry/NoTelemetryFabricMixinConfigPlugin.java +++ b/src/main/java/de/kb1000/notelemetry/NoTelemetryFabricMixinConfigPlugin.java @@ -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; @@ -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; }; } @@ -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); + } + } + } } diff --git a/src/main/java/de/kb1000/notelemetry/NoTelemetryForgeMixinConfigPlugin.java b/src/main/java/de/kb1000/notelemetry/NoTelemetryForgeMixinConfigPlugin.java index 3947aba..2c19f04 100644 --- a/src/main/java/de/kb1000/notelemetry/NoTelemetryForgeMixinConfigPlugin.java +++ b/src/main/java/de/kb1000/notelemetry/NoTelemetryForgeMixinConfigPlugin.java @@ -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; @@ -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"; } @@ -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; }; } @@ -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); + } + } + } } diff --git a/src/main/java/de/kb1000/notelemetry/NoTelemetryNeoForgeMixinConfigPlugin.java b/src/main/java/de/kb1000/notelemetry/NoTelemetryNeoForgeMixinConfigPlugin.java index d1dd112..9ee217f 100644 --- a/src/main/java/de/kb1000/notelemetry/NoTelemetryNeoForgeMixinConfigPlugin.java +++ b/src/main/java/de/kb1000/notelemetry/NoTelemetryNeoForgeMixinConfigPlugin.java @@ -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; @@ -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"; @@ -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); + } + } + } }