Fabric Shield Lib

Fabric Shield Lib

3M Downloads

1.7-pre1: Resource loader stuck in loop due to rendererMixin.

lospejos opened this issue ยท 7 comments

commented

Mods installed:

fabric-api-0.69.1+1.19.3
modmenu-5.0.2
FabricShieldLib-1.7.0-pre1-1.19

When started, MC is eternally loops.
No crashdump generated.
Logs attached here:
latest.log

Video of this loop is here:

mc_fabric_shield_lib_error_2022-12-23.18-56-13-879.mp4

If I remove FabricShieldLib-1.7.0-pre1-1.19 mod, Minecraft loads successfully.

Please assist. Thanks.

commented

This is an issue we've encountered before, but I am not sure of the cause this time around. I found this in the log:

Caught error loading resourcepacks, removing all selected resourcepacks
java.util.concurrent.CompletionException: java.lang.AbstractMethodError: Receiver class de.guntram.mcmod.crowdintranslate.CTResourcePack does not define or inherit an implementation of the resolved method 'abstract void method_14408(net.minecraft.class_3264, java.lang.String, java.lang.String, net.minecraft.class_3262$class_7664)' of interface net.minecraft.class_3262.

Yeah we have definitely had this problem before... I can't remember exactly how we fixed it but I know it has to do with the render mixin that we use to register the texture for the banner shield models

commented
public interface ShieldSetModelCallback {

    /**
     * Handle event listeners
     */
    Event<ShieldSetModelCallback> EVENT = EventFactory.createArrayBacked(ShieldSetModelCallback.class, 
            (listeners) -> (loader) -> {
                for (ShieldSetModelCallback listener : listeners) {
                    ActionResult result = listener.setModel(loader);

                    if (result != ActionResult.PASS) {
                        return result;
                    }
                }

                return ActionResult.PASS;
            });

    ActionResult setModel(EntityModelLoader loader);
}

It has something to do with how this loops & it's like not terminating correctly which is causing the bootloop

commented

This is an issue we've encountered before, but I am not sure of the cause this time around.
I found this in the log:

Caught error loading resourcepacks, removing all selected resourcepacks
java.util.concurrent.CompletionException: java.lang.AbstractMethodError: Receiver class de.guntram.mcmod.crowdintranslate.CTResourcePack does not define or inherit an implementation of the resolved method 'abstract void method_14408(net.minecraft.class_3264, java.lang.String, java.lang.String, net.minecraft.class_3262$class_7664)' of interface net.minecraft.class_3262.
commented

I think If we look more into how regular entity models have their texture registered & create our own duplicate of the ShieldEntityModel & change it around to act as a template like the FabricShieldBannerItem class we might be able to just remove the renderer mixin & use the regular method for registering the texture?

Entity rendering documentation:
https://fabricmc.net/wiki/tutorial:entity#registering_entity_renderer

commented

@lospejos does this still occur? On my end, in a dev environment, I cannot replicate this

commented

nvm, i replicated it, it only happens outside of the dev environment

commented

this was simply a problem with crowdlin translate, so I will remove it from the mod and release a new version