From d510d1bc1ce0a774dfdf8db762a20f3aa26ff47e Mon Sep 17 00:00:00 2001 From: Waiting Idly <25394029+WaitingIdly@users.noreply.github.com> Date: Wed, 27 May 2026 09:12:54 -0700 Subject: [PATCH] skip checking url --- README.md | 3 +- .../universaltweaks/config/UTConfigMods.java | 5 +++ .../universaltweaks/core/UTMixinLoader.java | 3 +- .../mixin/UTModSourceAdapterMixin.java | 35 +++++++++++++++++++ ...erlib.json => mixins.hammerlib.color.json} | 0 .../mixins/mods/mixins.hammerlib.url.json | 7 ++++ 6 files changed, 51 insertions(+), 2 deletions(-) create mode 100644 src/main/java/mod/acgaming/universaltweaks/mods/hammerlib/mixin/UTModSourceAdapterMixin.java rename src/main/resources/mixins/mods/{mixins.hammerlib.json => mixins.hammerlib.color.json} (100%) create mode 100644 src/main/resources/mixins/mods/mixins.hammerlib.url.json diff --git a/README.md b/README.md index 4695f2e5..7728cc13 100644 --- a/README.md +++ b/README.md @@ -481,7 +481,8 @@ Available in flavors [**Cleanroom**](https://www.curseforge.com/minecraft/modpac * **Gaia Dimension** * **Fix Restructurer Crash:** Safely access a nullable value when checking recipes in the Restructurer * **HammerLib** - * **Optimized ItemColorHelper Rendering** Optimizes HammerLib's item color rendering performance, increasing FPS when rendering ItemStacks + * **Optimized ItemColorHelper Rendering:** Optimizes HammerLib's item color rendering performance, increasing FPS when rendering ItemStacks + * **Skip Checking URL:** Prevent checking the stopmodreposts api, as it is blocked in some regions and can cause timeouts or significant delays in starting * **HWYLA** * **Keybindings Fix:** Fixes crashes in all menus when changing HWYLA keybindings to unsupported values * **Immersive Engineering** diff --git a/src/main/java/mod/acgaming/universaltweaks/config/UTConfigMods.java b/src/main/java/mod/acgaming/universaltweaks/config/UTConfigMods.java index efff7d47..ac81d69f 100644 --- a/src/main/java/mod/acgaming/universaltweaks/config/UTConfigMods.java +++ b/src/main/java/mod/acgaming/universaltweaks/config/UTConfigMods.java @@ -1051,6 +1051,11 @@ public static class HammerLibCategory @Config.Name("Optimized ItemColorHelper Rendering") @Config.Comment("Optimizes HammerLib's item color rendering performance, increasing FPS when rendering ItemStacks") public boolean utOptimizeItemColorHelper = true; + + @Config.RequiresMcRestart + @Config.Name("Skip Checking URL") + @Config.Comment("Prevent checking the stopmodreposts api, as it is blocked in some regions and can cause timeouts or significant delays in starting") + public boolean utSkipURLCheck = false; } public static class ImmersiveEngineeringCategory diff --git a/src/main/java/mod/acgaming/universaltweaks/core/UTMixinLoader.java b/src/main/java/mod/acgaming/universaltweaks/core/UTMixinLoader.java index f9291367..9eab3795 100644 --- a/src/main/java/mod/acgaming/universaltweaks/core/UTMixinLoader.java +++ b/src/main/java/mod/acgaming/universaltweaks/core/UTMixinLoader.java @@ -45,7 +45,8 @@ public class UTMixinLoader implements ILateMixinLoader put("mixins/mods/mixins.electroblobswizardry.json", c -> c.isModPresent("ebwizardry") && c.isModPresent("conarm") && UTConfigMods.ELECTROBLOBS_WIZARDRY.utConstructsArmoryFixToggle); put("mixins/mods/mixins.enderio.itemrender.json", c -> c.isModPresent("enderio") && UTConfigMods.ENDER_IO.utReplaceItemRenderer); put("mixins/mods/mixins.fpsreducer.json", c -> c.isModPresent("fpsreducer") && UTConfigMods.FPS_REDUCER.utCorrectFpsValue); - put("mixins/mods/mixins.hammerlib.json", c -> c.isModPresent("hammercore") && UTConfigMods.HAMMER_LIB.utOptimizeItemColorHelper); + put("mixins/mods/mixins.hammerlib.color.json", c -> c.isModPresent("hammercore") && UTConfigMods.HAMMER_LIB.utOptimizeItemColorHelper); + put("mixins/mods/mixins.hammerlib.url.json", c -> c.isModPresent("hammercore") && UTConfigMods.HAMMER_LIB.utSkipURLCheck); put("mixins/mods/mixins.hwyla.json", c -> c.isModPresent("waila")); put("mixins/mods/mixins.ironchests.json", c -> c.isModPresent("ironchest") && UTConfigMods.IRON_CHESTS.utReplaceItemRenderer); put("mixins/mods/mixins.modularmagic.nullingredient.json", c -> c.isModPresent("modularmagic") && UTConfigMods.MODULAR_MAGIC.utEnsureIngredientNotNull); diff --git a/src/main/java/mod/acgaming/universaltweaks/mods/hammerlib/mixin/UTModSourceAdapterMixin.java b/src/main/java/mod/acgaming/universaltweaks/mods/hammerlib/mixin/UTModSourceAdapterMixin.java new file mode 100644 index 00000000..425c31a7 --- /dev/null +++ b/src/main/java/mod/acgaming/universaltweaks/mods/hammerlib/mixin/UTModSourceAdapterMixin.java @@ -0,0 +1,35 @@ +package mod.acgaming.universaltweaks.mods.hammerlib.mixin; + +import java.util.ArrayList; +import java.util.List; + +import com.zeitheron.hammercore.utils.java.io.win32.ModSourceAdapter; +import org.spongepowered.asm.mixin.Final; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.Mutable; +import org.spongepowered.asm.mixin.Shadow; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Inject; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; + +// Courtesy of WaitingIdly +@Mixin(value = ModSourceAdapter.class, remap = false) +public abstract class UTModSourceAdapterMixin +{ + @Mutable + @Shadow + @Final + public static List ILLEGAL_SITES; + + /** + * @author WaitingIdly + * @reason Prevent timeouts when attempting to load the url + * from a location that has it blocked. + */ + @Inject(method = "", at = @At("HEAD"), cancellable = true) + private static void utSkipURLCheck(CallbackInfo ci) + { + ILLEGAL_SITES = new ArrayList<>(); + ci.cancel(); + } +} diff --git a/src/main/resources/mixins/mods/mixins.hammerlib.json b/src/main/resources/mixins/mods/mixins.hammerlib.color.json similarity index 100% rename from src/main/resources/mixins/mods/mixins.hammerlib.json rename to src/main/resources/mixins/mods/mixins.hammerlib.color.json diff --git a/src/main/resources/mixins/mods/mixins.hammerlib.url.json b/src/main/resources/mixins/mods/mixins.hammerlib.url.json new file mode 100644 index 00000000..b58687ba --- /dev/null +++ b/src/main/resources/mixins/mods/mixins.hammerlib.url.json @@ -0,0 +1,7 @@ +{ + "package": "mod.acgaming.universaltweaks.mods.hammerlib.mixin", + "refmap": "universaltweaks.refmap.json", + "minVersion": "0.8", + "compatibilityLevel": "JAVA_8", + "client": ["UTModSourceAdapterMixin"] +} \ No newline at end of file