From 152cdc4469cb7ae0032180d5a2c79681a3d573d4 Mon Sep 17 00:00:00 2001 From: embeddedt <42941056+embeddedt@users.noreply.github.com> Date: Wed, 27 Dec 2023 15:19:13 -0500 Subject: [PATCH] Disable ModelDataManager fixes if Rubidium is installed Since legacy Rubidium versions only retrieve model data on a worker thread, the data will probably never be refreshed, causing rendering issues. --- .../modernfix/core/config/ModernFixEarlyConfig.java | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/common/src/main/java/org/embeddedt/modernfix/core/config/ModernFixEarlyConfig.java b/common/src/main/java/org/embeddedt/modernfix/core/config/ModernFixEarlyConfig.java index 8a6e3942..f40c07b7 100644 --- a/common/src/main/java/org/embeddedt/modernfix/core/config/ModernFixEarlyConfig.java +++ b/common/src/main/java/org/embeddedt/modernfix/core/config/ModernFixEarlyConfig.java @@ -231,6 +231,7 @@ public class ModernFixEarlyConfig { } checkBlockstateCacheRebuilds(); + checkModelDataManager(); } private void checkBlockstateCacheRebuilds() { @@ -246,6 +247,16 @@ public class ModernFixEarlyConfig { } } + private void checkModelDataManager() { + if(!isFabric && modPresent("rubidium") && !modPresent("embeddium")) { + Option option = this.options.get("mixin.bugfix.model_data_manager_cme"); + if(option != null) { + LOGGER.warn("ModelDataManager bugfixes have been disabled to prevent broken rendering with Rubidium installed. Please migrate to Embeddium."); + option.addModOverride(false, "rubidium"); + } + } + } + private void disableIfModPresent(String configName, String... ids) { for(String id : ids) { if(!ModernFixPlatformHooks.INSTANCE.isEarlyLoadingNormally() || modPresent(id)) {