FramedBlocks

FramedBlocks

45M Downloads

[Mod Support]: Cannot get passed loading screen

WiggleWizard opened this issue ยท 3 comments

commented

The mod to integrate with

Custom mod in development

Describe the feature

I can't seem to get FramedBlocks to load past the loading screen, it crashes with the error provided down below. The mod I am developing doesn't use any of these mixins. I am using Minecraft 1.20.1 with Forge 47.3.1.

[23:58:01] [Server thread/FATAL] [MixinProcessor/]: /***********************************************************************************************************************************************************************/
[23:58:01] [Server thread/FATAL] [MixinProcessor/]: /*                                                                            Invalid Mixin                                                                            */
[23:58:01] [Server thread/FATAL] [MixinProcessor/]: /*---------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
[23:58:01] [Server thread/FATAL] [MixinProcessor/]: /*     Action : APPLY                                                                                                                                                  */
[23:58:01] [Server thread/FATAL] [MixinProcessor/]: /*      Mixin : xfacthd.framedblocks.mixin.MixinMapItemSavedData                                                                                                       */
[23:58:01] [Server thread/FATAL] [MixinProcessor/]: /*     Config : framedblocks.mixin.json                                                                                                                                */
[23:58:01] [Server thread/FATAL] [MixinProcessor/]: /*      Phase : DEFAULT                                                                                                                                                */
[23:58:01] [Server thread/FATAL] [MixinProcessor/]: /*---------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
[23:58:01] [Server thread/FATAL] [MixinProcessor/]: /*     org.spongepowered.asm.mixin.injection.throwables.InvalidInjectionException                                                                                      */
[23:58:01] [Server thread/FATAL] [MixinProcessor/]: /*---------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
[23:58:01] [Server thread/FATAL] [MixinProcessor/]: /*     Critical injection failure: @ModifyExpressionValue annotation on framedblocks$checkVanillaFramedOrCustomFramed could not find any targets matching              */
[23:58:01] [Server thread/FATAL] [MixinProcessor/]: /*     'Lnet/minecraft/world/level/saveddata/maps/MapItemSavedData;m_77918_(Lnet/minecraft/world/entity/player/Player;Lnet/minecraft/world/item/ItemStack;)V' in       */
[23:58:01] [Server thread/FATAL] [MixinProcessor/]: /*     net.minecraft.world.level.saveddata.maps.MapItemSavedData. Using refmap framedblocks.refmap.json [PREINJECT Applicator Phase ->                                 */
[23:58:01] [Server thread/FATAL] [MixinProcessor/]: /*     framedblocks.mixin.json:MixinMapItemSavedData -> Prepare Injections ->  ->                                                                                      */
[23:58:01] [Server thread/FATAL] [MixinProcessor/]: /*     modifyExpressionValue$zzb000$framedblocks$checkVanillaFramedOrCustomFramed(ZLnet/minecraft/world/entity/player/Player;Lnet/minecraft/world/item/ItemStack;)Z    */
[23:58:01] [Server thread/FATAL] [MixinProcessor/]: /*     -> Parse]                                                                                                                                                       */
[23:58:01] [Server thread/FATAL] [MixinProcessor/]: /*---------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
[23:58:01] [Server thread/FATAL] [MixinProcessor/]: /*     org.spongepowered.asm.mixin.injection.throwables.InvalidInjectionException: Critical injection failure: @ModifyExpressionValue annotation on                    */
[23:58:01] [Server thread/FATAL] [MixinProcessor/]: /*     framedblocks$checkVanillaFramedOrCustomFramed could not find any targets matching                                                                               */
[23:58:01] [Server thread/FATAL] [MixinProcessor/]: /*     'Lnet/minecraft/world/level/saveddata/maps/MapItemSavedData;m_77918_(Lnet/minecraft/world/entity/player/Player;Lnet/minecraft/world/item/ItemStack;)V' in       */
[23:58:01] [Server thread/FATAL] [MixinProcessor/]: /*     net.minecraft.world.level.saveddata.maps.MapItemSavedData. Using refmap framedblocks.refmap.json [PREINJECT Applicator Phase ->                                 */
[23:58:01] [Server thread/FATAL] [MixinProcessor/]: /*     framedblocks.mixin.json:MixinMapItemSavedData -> Prepare Injections ->  ->                                                                                      */
[23:58:01] [Server thread/FATAL] [MixinProcessor/]: /*     modifyExpressionValue$zzb000$framedblocks$checkVanillaFramedOrCustomFramed(ZLnet/minecraft/world/entity/player/Player;Lnet/minecraft/world/item/ItemStack;)Z    */
[23:58:01] [Server thread/FATAL] [MixinProcessor/]: /*     -> Parse]                                                                                                                                                       */
[23:58:01] [Server thread/FATAL] [MixinProcessor/]: /*         MC-BOOTSTRAP/org.spongepowered.mixin/org.spongepowered.asm.mixin.injection.struct.InjectionInfo.validateTargets(InjectionInfo.java:656)                     */
[23:58:01] [Server thread/FATAL] [MixinProcessor/]: /*         MC-BOOTSTRAP/org.spongepowered.mixin/org.spongepowered.asm.mixin.injection.struct.InjectionInfo.findTargets(InjectionInfo.java:587)                         */
[23:58:01] [Server thread/FATAL] [MixinProcessor/]: /*         MC-BOOTSTRAP/org.spongepowered.mixin/org.spongepowered.asm.mixin.injection.struct.InjectionInfo.readAnnotation(InjectionInfo.java:330)                      */
[23:58:01] [Server thread/FATAL] [MixinProcessor/]: /*         MC-BOOTSTRAP/org.spongepowered.mixin/org.spongepowered.asm.mixin.injection.struct.InjectionInfo.<init>(InjectionInfo.java:316)                              */
[23:58:01] [Server thread/FATAL] [MixinProcessor/]: /*         MC-BOOTSTRAP/org.spongepowered.mixin/org.spongepowered.asm.mixin.injection.struct.InjectionInfo.<init>(InjectionInfo.java:308)                              */
[23:58:01] [Server thread/FATAL] [MixinProcessor/]: /*         TRANSFORMER/[email protected]/com.llamalad7.mixinextras.injector.MixinExtrasInjectionInfo.<init>(MixinExtrasInjectionInfo.java:10)                          */
[23:58:01] [Server thread/FATAL] [MixinProcessor/]: /*         TRANSFORMER/[email protected]/com.llamalad7.mixinextras.injector.ModifyExpressionValueInjectionInfo.<init>(ModifyExpressionValueInjectionInfo.java:15)      */
[23:58:01] [Server thread/FATAL] [MixinProcessor/]: /*         java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)                                                                    */
[23:58:01] [Server thread/FATAL] [MixinProcessor/]: /*         java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77)                                             */
[23:58:01] [Server thread/FATAL] [MixinProcessor/]: /*         java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)                                     */
[23:58:01] [Server thread/FATAL] [MixinProcessor/]: /*         java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499)                                                                         */
[23:58:01] [Server thread/FATAL] [MixinProcessor/]: /*         java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480)                                                                                   */
[23:58:01] [Server thread/FATAL] [MixinProcessor/]: /*         MC-BOOTSTRAP/org.spongepowered.mixin/org.spongepowered.asm.mixin.injection.struct.InjectionInfo$InjectorEntry.create(InjectionInfo.java:149)                */
[23:58:01] [Server thread/FATAL] [MixinProcessor/]: /*         MC-BOOTSTRAP/org.spongepowered.mixin/org.spongepowered.asm.mixin.injection.struct.InjectionInfo.parse(InjectionInfo.java:708)                               */
[23:58:01] [Server thread/FATAL] [MixinProcessor/]: /*         MC-BOOTSTRAP/org.spongepowered.mixin/org.spongepowered.asm.mixin.transformer.MixinTargetContext.prepareInjections(MixinTargetContext.java:1311)             */
[23:58:01] [Server thread/FATAL] [MixinProcessor/]: /*         MC-BOOTSTRAP/org.spongepowered.mixin/org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.prepareInjections(MixinApplicatorStandard.java:1042)   */
[23:58:01] [Server thread/FATAL] [MixinProcessor/]: /*         MC-BOOTSTRAP/org.spongepowered.mixin/org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.applyMixin(MixinApplicatorStandard.java:393)           */
[23:58:01] [Server thread/FATAL] [MixinProcessor/]: /*         MC-BOOTSTRAP/org.spongepowered.mixin/org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.apply(MixinApplicatorStandard.java:325)                */
[23:58:01] [Server thread/FATAL] [MixinProcessor/]: /*         MC-BOOTSTRAP/org.spongepowered.mixin/org.spongepowered.asm.mixin.transformer.TargetClassContext.apply(TargetClassContext.java:383)                          */
[23:58:01] [Server thread/FATAL] [MixinProcessor/]: /*         MC-BOOTSTRAP/org.spongepowered.mixin/org.spongepowered.asm.mixin.transformer.TargetClassContext.applyMixins(TargetClassContext.java:365)                    */
[23:58:01] [Server thread/FATAL] [MixinProcessor/]: /*         MC-BOOTSTRAP/org.spongepowered.mixin/org.spongepowered.asm.mixin.transformer.MixinProcessor.applyMixins(MixinProcessor.java:363)                            */
[23:58:01] [Server thread/FATAL] [MixinProcessor/]: /*         MC-BOOTSTRAP/org.spongepowered.mixin/org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClass(MixinTransformer.java:250)                     */
[23:58:01] [Server thread/FATAL] [MixinProcessor/]: /*         MC-BOOTSTRAP/org.spongepowered.mixin/org.spongepowered.asm.service.modlauncher.MixinTransformationHandler.processClass(MixinTransformationHandler.java:131) */
[23:58:01] [Server thread/FATAL] [MixinProcessor/]: /*         MC-BOOTSTRAP/org.spongepowered.mixin/org.spongepowered.asm.launch.MixinLaunchPluginLegacy.processClass(MixinLaunchPluginLegacy.java:131)                    */
[23:58:01] [Server thread/FATAL] [MixinProcessor/]: /*         MC-BOOTSTRAP/[email protected]/cpw.mods.modlauncher.serviceapi.ILaunchPluginService.processClassWithFlags(ILaunchPluginService.java:156)          */
[23:58:01] [Server thread/FATAL] [MixinProcessor/]: /*         MC-BOOTSTRAP/[email protected]/cpw.mods.modlauncher.LaunchPluginHandler.offerClassNodeToPlugins(LaunchPluginHandler.java:88)                      */
[23:58:01] [Server thread/FATAL] [MixinProcessor/]: /*         MC-BOOTSTRAP/[email protected]/cpw.mods.modlauncher.ClassTransformer.transform(ClassTransformer.java:120)                                         */
[23:58:01] [Server thread/FATAL] [MixinProcessor/]: /*         MC-BOOTSTRAP/[email protected]/cpw.mods.modlauncher.TransformingClassLoader.maybeTransformClassBytes(TransformingClassLoader.java:50)             */
[23:58:01] [Server thread/FATAL] [MixinProcessor/]: /*         cpw.mods.securejarhandler/cpw.mods.cl.ModuleClassLoader.readerToClass(ModuleClassLoader.java:113)                                                           */
[23:58:01] [Server thread/FATAL] [MixinProcessor/]: /*         cpw.mods.securejarhandler/cpw.mods.cl.ModuleClassLoader.lambda$findClass$15(ModuleClassLoader.java:219)                                                     */
[23:58:01] [Server thread/FATAL] [MixinProcessor/]: /*         cpw.mods.securejarhandler/cpw.mods.cl.ModuleClassLoader.loadFromModule(ModuleClassLoader.java:229)                                                          */
[23:58:01] [Server thread/FATAL] [MixinProcessor/]: /*         cpw.mods.securejarhandler/cpw.mods.cl.ModuleClassLoader.findClass(ModuleClassLoader.java:219)                                                               */
[23:58:01] [Server thread/FATAL] [MixinProcessor/]: /*         cpw.mods.securejarhandler/cpw.mods.cl.ModuleClassLoader.loadClass(ModuleClassLoader.java:135)                                                               */
[23:58:01] [Server thread/FATAL] [MixinProcessor/]: /*         java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:525)                                                                                             */
[23:58:01] [Server thread/FATAL] [MixinProcessor/]: /*         TRANSFORMER/[email protected]/net.minecraft.server.MinecraftServer.createLevels(MinecraftServer.java:340)                                                    */
[23:58:01] [Server thread/FATAL] [MixinProcessor/]: /*         TRANSFORMER/[email protected]/net.minecraft.server.MinecraftServer.loadLevel(MinecraftServer.java:311)                                                       */
[23:58:01] [Server thread/FATAL] [MixinProcessor/]: /*         TRANSFORMER/[email protected]/net.minecraft.client.server.IntegratedServer.initServer(IntegratedServer.java:66)                                              */
[23:58:01] [Server thread/FATAL] [MixinProcessor/]: /*         TRANSFORMER/[email protected]/net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:652)                                                       */
[23:58:01] [Server thread/FATAL] [MixinProcessor/]: /*         TRANSFORMER/[email protected]/net.minecraft.server.MinecraftServer.lambda$spin$2(MinecraftServer.java:251)                                                   */
[23:58:01] [Server thread/FATAL] [MixinProcessor/]: /*         java.base/java.lang.Thread.run(Thread.java:840)                                                                                                             */
[23:58:01] [Server thread/FATAL] [MixinProcessor/]: /***********************************************************************************************************************************************************************/
commented

If I remember correctly, you need to add the mixin gradle plugin to your build.gradle (https://github.com/XFactHD/FramedBlocks/blob/1.20/build.gradle#L7), otherwise mixins from mods you depend on don't get remapped to the mappings you use in your dev environment, which causes the error you encountered. Please let me know whether that fixes it.

commented

Apologies. I haven't mentioned that I have my own mixins (using sponge). My own mixins don't tread on the feet of FramedBlocks from what I can see (I only have a single mixin on the player class). So I do have that entry in my grade build file.

My suspicion is that because I'm using a compiled FramedBlocks jar (from curse forge) and a decompiled and remapped Minecraft jar (which I assume is correct, when you're writing your own mod) that the mixins are struggling to map from FB?

Edit: Here's some more details about my build:

plugins {
    java
    idea
    id("net.minecraftforge.gradle") version "[6.0,6.2)"
    id("org.parchmentmc.librarian.forgegradle") version "1.2.0"
    id("org.spongepowered.mixin") version "0.7.38"
    id("com.github.johnrengelman.shadow") version "8.1.1"
}

runs {
register("client") {
            property("forge.enabledGameTestNamespaces", modId)
            jvmArgs("-ea", "-Xmx4G", "-Xms4G")
            
            property("mixin.env.remapRefMap", "true")
            property("mixin.env.refMapRemappingFile", "${layout.buildDirectory}/createSrgToMcp/output.srg")
        }
}

...

dependencies {
    annotationProcessor("org.spongepowered:mixin:0.8.5:processor")
    implementation(fg.deobf("curse.maven:framedblocks-441647:5399211"))
}

...

mixin {
    add(sourceSets.main.get(), "${modId}.mixins.refmap.json")
    config("${modId}.mixins.json")

    val debugProperties = debug as DynamicProperties
    debugProperties.setProperty("verbose", true)
    debugProperties.setProperty("export", true)
}
commented

Got it working.

I had this entry in my build Gradle file: property("mixin.env.refMapRemappingFile", "${layout.buildDirectory}/createSrgToMcp/output.srg"). I simply removed it and could get into the game and use FB correctly.

Awesome mod btw!