Update
This commit is contained in:
parent
804cd04778
commit
ad1df59c18
|
|
@ -50,7 +50,7 @@ dependencies {
|
|||
modIncludeImplementation(fabricApi.module("fabric-screen-api-v1", rootProject.fabric_api_version)) { exclude group: 'net.fabricmc', module: 'fabric-loader' }
|
||||
modIncludeImplementation(fabricApi.module("fabric-command-api-v2", rootProject.fabric_api_version)) { exclude group: 'net.fabricmc', module: 'fabric-loader' }
|
||||
modImplementation("net.fabricmc.fabric-api:fabric-models-v0:0.42.42+db7ad43d77") { exclude group: 'net.fabricmc', module: 'fabric-loader' }
|
||||
modIncludeImplementation("net.fabricmc.fabric-api:fabric-model-loading-api-v1:1.0.0+5544c20277") { exclude group: 'net.fabricmc', module: 'fabric-loader' }
|
||||
modIncludeImplementation("net.fabricmc.fabric-api:fabric-model-loading-api-v1:1.0.0+97993eed77") { exclude group: 'net.fabricmc', module: 'fabric-loader' }
|
||||
modImplementation(fabricApi.module("fabric-resource-loader-v0", rootProject.fabric_api_version)) { exclude group: 'net.fabricmc', module: 'fabric-loader' }
|
||||
modImplementation(fabricApi.module("fabric-data-generation-api-v1", rootProject.fabric_api_version)) { exclude group: 'net.fabricmc', module: 'fabric-loader' }
|
||||
modImplementation("com.terraformersmc:modmenu:${rootProject.modmenu_version}") { transitive false }
|
||||
|
|
|
|||
|
|
@ -20,7 +20,6 @@ import org.embeddedt.modernfix.api.entrypoint.ModernFixClientIntegration;
|
|||
import org.embeddedt.modernfix.duck.IExtendedModelBakery;
|
||||
import org.embeddedt.modernfix.dynamicresources.DynamicBakedModelProvider;
|
||||
import org.embeddedt.modernfix.dynamicresources.ModelBakeryHelpers;
|
||||
import org.embeddedt.modernfix.util.CommonModUtil;
|
||||
import org.objectweb.asm.Opcodes;
|
||||
import org.slf4j.Logger;
|
||||
import org.spongepowered.asm.mixin.Final;
|
||||
|
|
@ -35,7 +34,6 @@ import org.spongepowered.asm.mixin.injection.*;
|
|||
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
||||
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
|
||||
|
||||
import java.lang.reflect.Field;
|
||||
import java.util.*;
|
||||
import java.util.concurrent.ConcurrentMap;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
|
@ -78,15 +76,15 @@ public abstract class ModelBakeryMixin implements IExtendedModelBakery {
|
|||
|
||||
private boolean ignoreModelLoad;
|
||||
|
||||
// disable fabric recursion
|
||||
@SuppressWarnings("unused")
|
||||
private boolean fabric_enableGetOrLoadModelGuard;
|
||||
|
||||
|
||||
@Redirect(method = "<init>", at = @At(value = "FIELD", opcode = Opcodes.PUTFIELD, target = "Lnet/minecraft/client/resources/model/ModelBakery;blockColors:Lnet/minecraft/client/color/block/BlockColors;"))
|
||||
private void replaceTopLevelBakedModels(ModelBakery bakery, BlockColors val) {
|
||||
// TODO remove terrible reflection hack
|
||||
CommonModUtil.runWithoutCrash(() -> {
|
||||
Field f = ModelBakery.class.getDeclaredField("fabric_guardGetOrLoadModel");
|
||||
f.setAccessible(true);
|
||||
f.setInt((Object)this, -1000);
|
||||
}, "reflection hack to remove recursion exception");
|
||||
// we can handle recursion in getModel without issues
|
||||
fabric_enableGetOrLoadModelGuard = false;
|
||||
this.blockColors = val;
|
||||
this.ignoreModelLoad = true;
|
||||
this.loadedBakedModels = CacheBuilder.newBuilder()
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user