From 8702ff29714e15b5cfc951ac14c57c25386bcbcb Mon Sep 17 00:00:00 2001 From: embeddedt <42941056+embeddedt@users.noreply.github.com> Date: Fri, 24 Feb 2023 17:53:08 -0500 Subject: [PATCH] Add branding and revamp version control --- build.gradle | 3 ++- .../modernfix/core/ModernFixMixinPlugin.java | 1 + .../core/config/ModernFixEarlyConfig.java | 1 + .../branding/BrandingControlMixin.java | 24 +++++++++++++++++++ src/main/resources/modernfix.mixins.json | 1 + 5 files changed, 29 insertions(+), 1 deletion(-) create mode 100644 src/main/java/org/embeddedt/modernfix/mixin/feature/branding/BrandingControlMixin.java diff --git a/build.gradle b/build.gradle index 912043b0..f5ed29e1 100644 --- a/build.gradle +++ b/build.gradle @@ -2,12 +2,13 @@ plugins { id "dev.architectury.loom" version "1.0.312" id "maven-publish" id 'com.matthewprenger.cursegradle' version '1.4.0' + id 'com.palantir.git-version' version '1.0.0' } sourceCompatibility = targetCompatibility = JavaVersion.VERSION_1_8 group = 'org.embeddedt' -version = '1.7.0' +version = gitVersion() java { archivesBaseName = 'modernfix-mc' + minecraft_version diff --git a/src/main/java/org/embeddedt/modernfix/core/ModernFixMixinPlugin.java b/src/main/java/org/embeddedt/modernfix/core/ModernFixMixinPlugin.java index 31ccf154..37c436a7 100644 --- a/src/main/java/org/embeddedt/modernfix/core/ModernFixMixinPlugin.java +++ b/src/main/java/org/embeddedt/modernfix/core/ModernFixMixinPlugin.java @@ -4,6 +4,7 @@ import com.google.common.io.Resources; import cpw.mods.modlauncher.*; import cpw.mods.modlauncher.api.LamdbaExceptionUtils; import net.minecraftforge.fml.common.ObfuscationReflectionHelper; +import net.minecraftforge.fml.loading.LoadingModList; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.embeddedt.modernfix.classloading.ModernFixResourceFinder; diff --git a/src/main/java/org/embeddedt/modernfix/core/config/ModernFixEarlyConfig.java b/src/main/java/org/embeddedt/modernfix/core/config/ModernFixEarlyConfig.java index 9e6844ba..81db63e6 100644 --- a/src/main/java/org/embeddedt/modernfix/core/config/ModernFixEarlyConfig.java +++ b/src/main/java/org/embeddedt/modernfix/core/config/ModernFixEarlyConfig.java @@ -17,6 +17,7 @@ public class ModernFixEarlyConfig { // Defines the default rules which can be configured by the user or other mods. // You must manually add a rule for any new mixins not covered by an existing package rule. this.addMixinRule("core", true); // TODO: Don't actually allow the user to disable this + this.addMixinRule("feature.branding", true); this.addMixinRule("feature.measure_time", true); this.addMixinRule("feature.reduce_loading_screen_freezes", false); this.addMixinRule("perf.fast_registry_validation", true); diff --git a/src/main/java/org/embeddedt/modernfix/mixin/feature/branding/BrandingControlMixin.java b/src/main/java/org/embeddedt/modernfix/mixin/feature/branding/BrandingControlMixin.java new file mode 100644 index 00000000..83f59aa4 --- /dev/null +++ b/src/main/java/org/embeddedt/modernfix/mixin/feature/branding/BrandingControlMixin.java @@ -0,0 +1,24 @@ +package org.embeddedt.modernfix.mixin.feature.branding; + +import com.google.common.collect.ImmutableList; +import net.minecraftforge.fml.BrandingControl; +import net.minecraftforge.fml.ModContainer; +import net.minecraftforge.fml.ModList; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Inject; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; +import org.spongepowered.asm.mixin.injection.callback.LocalCapture; + +import java.util.List; +import java.util.Optional; + +@Mixin(value = BrandingControl.class, remap = false) +public class BrandingControlMixin { + @Inject(method = "computeBranding", at = @At(value = "INVOKE", target = "Lnet/minecraftforge/fml/ModList;get()Lnet/minecraftforge/fml/ModList;"), locals = LocalCapture.CAPTURE_FAILHARD) + private static void addModernFixBranding(CallbackInfo ci, ImmutableList.Builder builder) { + Optional mfContainer = ModList.get().getModContainerById("modernfix"); + if(mfContainer.isPresent()) + builder.add("ModernFix " + mfContainer.get().getModInfo().getVersion().toString()); + } +} diff --git a/src/main/resources/modernfix.mixins.json b/src/main/resources/modernfix.mixins.json index fff767e2..87383a7c 100644 --- a/src/main/resources/modernfix.mixins.json +++ b/src/main/resources/modernfix.mixins.json @@ -42,6 +42,7 @@ "feature.measure_time.BootstrapMixin", "feature.measure_time.SimpleReloadableResourceManagerMixin", "feature.measure_time.ProfiledReloadInstanceMixin", + "feature.branding.BrandingControlMixin", "perf.kubejs.TagIngredientJSMixin", "perf.kubejs.TagWrapperMixin", "perf.kubejs.RecipeEventJSMixin",