diff --git a/src/main/java/net/shadowfacts/simplemultipart/mixin/client/MixinBakedModelManager.java b/src/main/java/net/shadowfacts/simplemultipart/mixin/client/MixinBakedModelManager.java deleted file mode 100644 index 0524608..0000000 --- a/src/main/java/net/shadowfacts/simplemultipart/mixin/client/MixinBakedModelManager.java +++ /dev/null @@ -1,28 +0,0 @@ -package net.shadowfacts.simplemultipart.mixin.client; - -import net.minecraft.client.render.model.BakedModel; -import net.minecraft.client.render.model.BakedModelManager; -import net.minecraft.client.render.model.ModelLoader; -import net.minecraft.client.util.ModelIdentifier; -import net.minecraft.util.Identifier; -import net.shadowfacts.simplemultipart.client.MultipartContainerBakedModel; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.Redirect; - -import java.util.Map; - -/** - * @author shadowfacts - */ -@Mixin(BakedModelManager.class) -public class MixinBakedModelManager { - - @Redirect(method = "onResourceReload", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/render/model/ModelLoader;getBakedModelMap()Ljava/util/Map;")) - public Map getBakedModelMap(ModelLoader loader) { - Map map = loader.getBakedModelMap(); - map.put(new ModelIdentifier("simplemultipart:container#"), new MultipartContainerBakedModel()); - return map; - } - -} diff --git a/src/main/java/net/shadowfacts/simplemultipart/mixin/client/MixinModelLoader.java b/src/main/java/net/shadowfacts/simplemultipart/mixin/client/MixinModelLoader.java new file mode 100644 index 0000000..d9c84d7 --- /dev/null +++ b/src/main/java/net/shadowfacts/simplemultipart/mixin/client/MixinModelLoader.java @@ -0,0 +1,32 @@ +package net.shadowfacts.simplemultipart.mixin.client; + +import net.minecraft.client.render.model.BakedModel; +import net.minecraft.client.render.model.ModelLoader; +import net.minecraft.client.texture.SpriteAtlasTexture; +import net.minecraft.client.util.ModelIdentifier; +import net.minecraft.resource.ResourceManager; +import net.minecraft.util.Identifier; +import net.shadowfacts.simplemultipart.client.MultipartContainerBakedModel; +import org.spongepowered.asm.mixin.Mixin; +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; + +import java.util.Map; + +/** + * @author shadowfacts + */ +@Mixin(ModelLoader.class) +public class MixinModelLoader { + + @Shadow + private Map bakedModels; + + @Inject(method = "", at = @At("RETURN")) + public void addMultipartModel(ResourceManager manager, SpriteAtlasTexture texture, CallbackInfo info) { + bakedModels.put(new ModelIdentifier("simplemultipart:container#"), new MultipartContainerBakedModel()); + } + +} diff --git a/src/main/resources/simplemultipart.client.json b/src/main/resources/simplemultipart.client.json index a7a9f6c..1734d00 100644 --- a/src/main/resources/simplemultipart.client.json +++ b/src/main/resources/simplemultipart.client.json @@ -3,8 +3,8 @@ "package": "net.shadowfacts.simplemultipart.mixin.client", "compatibilityLevel": "JAVA_8", "mixins": [ - "MixinBakedModelManager", - "MixinBlockRenderManager" + "MixinBlockRenderManager", + "MixinModelLoader" ], "injectors": { "defaultRequire": 1