From 36673f275efa17e89e99eaf6a0ff4aec827b4d5f Mon Sep 17 00:00:00 2001 From: embeddedt <42941056+embeddedt@users.noreply.github.com> Date: Thu, 5 Oct 2023 14:29:28 -0400 Subject: [PATCH 1/3] Tweak dynamic resources injection point on Forge Related: #252 --- .../mixin/perf/dynamic_resources/ModelBakeryMixin.java | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/perf/dynamic_resources/ModelBakeryMixin.java b/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/perf/dynamic_resources/ModelBakeryMixin.java index 88fc3a5e..00ac0203 100644 --- a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/perf/dynamic_resources/ModelBakeryMixin.java +++ b/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/perf/dynamic_resources/ModelBakeryMixin.java @@ -52,6 +52,7 @@ import java.io.IOException; import java.util.*; import java.util.concurrent.TimeUnit; import java.util.function.BiConsumer; +import java.util.function.Consumer; import java.util.function.Function; import java.util.stream.Stream; @@ -209,13 +210,11 @@ public abstract class ModelBakeryMixin implements IExtendedModelBakery { loadedModels.put(MISSING_MODEL_LOCATION, missingModel); } - @Inject(method = "uploadTextures", at = @At(value = "FIELD", target = "Lnet/minecraft/client/resources/model/ModelBakery;topLevelModels:Ljava/util/Map;", ordinal = 0), cancellable = true) - private void skipBake(TextureManager resourceManager, ProfilerFiller profiler, CallbackInfoReturnable cir) { - profiler.pop(); + @Redirect(method = "uploadTextures", at = @At(value = "INVOKE", target = "Ljava/util/Set;forEach(Ljava/util/function/Consumer;)V", ordinal = 0)) + private void skipBake(Set instance, Consumer consumer, TextureManager resourceManager, ProfilerFiller profiler) { // ensure missing model is a permanent override this.bakedTopLevelModels.put(MISSING_MODEL_LOCATION, this.getBakedModel(MISSING_MODEL_LOCATION, BlockModelRotation.X0_Y0, this.atlasSet::getSprite)); DynamicBakedModelProvider.currentInstance = (DynamicBakedModelProvider)this.bakedTopLevelModels; - cir.setReturnValue(atlasSet); } /** From c45f83e8960e1458dc46d56d5fbec5ad48afa14e Mon Sep 17 00:00:00 2001 From: embeddedt <42941056+embeddedt@users.noreply.github.com> Date: Fri, 6 Oct 2023 09:48:59 -0400 Subject: [PATCH 2/3] Suppress latest.log warning about structures on 1.20+ --- .../embeddedt/modernfix/structure/CachingStructureManager.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/common/src/main/java/org/embeddedt/modernfix/structure/CachingStructureManager.java b/common/src/main/java/org/embeddedt/modernfix/structure/CachingStructureManager.java index cf3ef2d3..3b1c2101 100644 --- a/common/src/main/java/org/embeddedt/modernfix/structure/CachingStructureManager.java +++ b/common/src/main/java/org/embeddedt/modernfix/structure/CachingStructureManager.java @@ -76,11 +76,13 @@ public class CachingStructureManager { ModernFix.LOGGER.debug("Using cached upgraded version of {}", location); currentTag = cachedUpgraded; } else { + /* synchronized (laggyStructureMods) { if(laggyStructureMods.add(location.getNamespace())) { ModernFix.LOGGER.warn("The namespace {} contains an outdated structure file, which can cause worldgen lag. Please view debug.log for the full filename, determine which mod provides the structure, and report to the mod/datapack author, including the debug log.", location.getNamespace()); } } + */ ModernFix.LOGGER.debug("Structure {} is being run through DFU (hash {}), this will cause launch time delays", location, hash); currentTag = DataFixTypes.STRUCTURE.update(datafixer, currentTag, currentDataVersion, SharedConstants.getCurrentVersion().getDataVersion().getVersion()); From d877ab46f0002a3301bb3644f5008b7431b03cb9 Mon Sep 17 00:00:00 2001 From: embeddedt <42941056+embeddedt@users.noreply.github.com> Date: Fri, 6 Oct 2023 17:06:10 -0400 Subject: [PATCH 3/3] Remove reference to Component in NightConfigFixer --- .../embeddedt/modernfix/forge/config/NightConfigFixer.java | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/forge/src/main/java/org/embeddedt/modernfix/forge/config/NightConfigFixer.java b/forge/src/main/java/org/embeddedt/modernfix/forge/config/NightConfigFixer.java index ec27916e..c88c3888 100644 --- a/forge/src/main/java/org/embeddedt/modernfix/forge/config/NightConfigFixer.java +++ b/forge/src/main/java/org/embeddedt/modernfix/forge/config/NightConfigFixer.java @@ -2,12 +2,9 @@ package org.embeddedt.modernfix.forge.config; import com.electronwill.nightconfig.core.file.FileWatcher; import cpw.mods.modlauncher.api.LamdbaExceptionUtils; -import net.minecraft.client.Minecraft; -import net.minecraft.network.chat.TranslatableComponent; import net.minecraftforge.fml.common.ObfuscationReflectionHelper; import net.minecraftforge.fml.loading.FMLLoader; import org.embeddedt.modernfix.ModernFix; -import org.embeddedt.modernfix.ModernFixClient; import org.embeddedt.modernfix.core.ModernFixMixinPlugin; import org.embeddedt.modernfix.util.CommonModUtil; @@ -79,6 +76,7 @@ public class NightConfigFixer { private static boolean couldShowMessage = true; private static void triggerConfigMessage() { + /* if(false && couldShowMessage && Minecraft.getInstance().level != null && ModernFixClient.recipesUpdated && ModernFixClient.tagsUpdated) { Minecraft.getInstance().execute(() -> { if(Minecraft.getInstance().level != null) { @@ -87,6 +85,7 @@ public class NightConfigFixer { } }); } + */ } static class MonitoringConfigTracker implements Runnable {