OverlordsIII / VillagerNames

A mod that adds names to villagers and golems
https://www.curseforge.com/minecraft/mc-mods/villager-names-for-fabric/
Creative Commons Zero v1.0 Universal
8 stars 7 forks source link

Crash on world create on 1.20.1 #61

Open Treetrain1 opened 10 months ago

Treetrain1 commented 10 months ago

The inclusion of cardinal components level results in the following error when pressing "Create World" on the creation screen.

This is most likely due to mixins not being remapped on build time.

Version: 4.5.2 Does not happen on <4.5.2

[17:43:36] [Worker-ResourceReload-5/ERROR]:
 Mixin apply for mod cardinal-components-level failed mixins.cardinal_components_level.json:common.MixinLevelProperties from mod cardinal-components-level -> net.minecraft.world.level.storage.PrimaryLevelData: org.spongepowered.asm.mixin.injection.throwables.InvalidInjectionException Critical injection failure: @Inject annotation on initComponents could not find any targets matching 'Lnet/minecraft/world/level/storage/PrimaryLevelData;<init>(Lnet/minecraft/nbt/CompoundTag;ZIIIFJJIIIZIZZZLnet/minecraft/world/level/border/WorldBorder$Settings;IILjava/util/UUID;Ljava/util/Set;Ljava/util/Set;Lnet/minecraft/world/level/timers/TimerQueue;Lnet/minecraft/nbt/CompoundTag;Lnet/minecraft/world/level/dimension/end/EndDragonFight$Data;Lnet/minecraft/world/level/LevelSettings;Lnet/minecraft/world/level/levelgen/WorldOptions;Lnet/minecraft/world/level/storage/PrimaryLevelData$SpecialWorldProperty;Lcom/mojang/serialization/Lifecycle;)V' in net.minecraft.world.level.storage.PrimaryLevelData. Using refmap cardinal-components-level-refmap.json [PREINJECT Applicator Phase -> mixins.cardinal_components_level.json:common.MixinLevelProperties from mod cardinal-components-level -> Prepare Injections ->  -> handler$bfi000$cardinal-components-level$initComponents(Lnet/minecraft/nbt/CompoundTag;ZIIIFJJIIIZIZZZLnet/minecraft/world/level/border/WorldBorder$Settings;IILjava/util/UUID;Ljava/util/Set;Ljava/util/Set;Lnet/minecraft/world/level/timers/TimerQueue;Lnet/minecraft/nbt/CompoundTag;Lnet/minecraft/world/level/dimension/end/EndDragonFight$Data;Lnet/minecraft/world/level/LevelSettings;Lnet/minecraft/world/level/levelgen/WorldOptions;Lnet/minecraft/world/level/storage/PrimaryLevelData$SpecialWorldProperty;Lcom/mojang/serialization/Lifecycle;Lorg/spongepowered/asm/mixin/injection/callback/CallbackInfo;)V -> Parse]
org.spongepowered.asm.mixin.injection.throwables.InvalidInjectionException: Critical injection failure: @Inject annotation on initComponents could not find any targets matching 'Lnet/minecraft/world/level/storage/PrimaryLevelData;<init>(Lnet/minecraft/nbt/CompoundTag;ZIIIFJJIIIZIZZZLnet/minecraft/world/level/border/WorldBorder$Settings;IILjava/util/UUID;Ljava/util/Set;Ljava/util/Set;Lnet/minecraft/world/level/timers/TimerQueue;Lnet/minecraft/nbt/CompoundTag;Lnet/minecraft/world/level/dimension/end/EndDragonFight$Data;Lnet/minecraft/world/level/LevelSettings;Lnet/minecraft/world/level/levelgen/WorldOptions;Lnet/minecraft/world/level/storage/PrimaryLevelData$SpecialWorldProperty;Lcom/mojang/serialization/Lifecycle;)V' in net.minecraft.world.level.storage.PrimaryLevelData. Using refmap cardinal-components-level-refmap.json [PREINJECT Applicator Phase -> mixins.cardinal_components_level.json:common.MixinLevelProperties from mod cardinal-components-level -> Prepare Injections ->  -> handler$bfi000$cardinal-components-level$initComponents(Lnet/minecraft/nbt/CompoundTag;ZIIIFJJIIIZIZZZLnet/minecraft/world/level/border/WorldBorder$Settings;IILjava/util/UUID;Ljava/util/Set;Ljava/util/Set;Lnet/minecraft/world/level/timers/TimerQueue;Lnet/minecraft/nbt/CompoundTag;Lnet/minecraft/world/level/dimension/end/EndDragonFight$Data;Lnet/minecraft/world/level/LevelSettings;Lnet/minecraft/world/level/levelgen/WorldOptions;Lnet/minecraft/world/level/storage/PrimaryLevelData$SpecialWorldProperty;Lcom/mojang/serialization/Lifecycle;Lorg/spongepowered/asm/mixin/injection/callback/CallbackInfo;)V -> Parse]
    at org.spongepowered.asm.mixin.injection.struct.InjectionInfo.validateTargets(InjectionInfo.java:656) ~[sponge-mixin-0.12.5+mixin.0.8.5.jar:0.12.5+mixin.0.8.5]
    at org.spongepowered.asm.mixin.injection.struct.InjectionInfo.findTargets(InjectionInfo.java:587) ~[sponge-mixin-0.12.5+mixin.0.8.5.jar:0.12.5+mixin.0.8.5]
    at org.spongepowered.asm.mixin.injection.struct.InjectionInfo.readAnnotation(InjectionInfo.java:330) ~[sponge-mixin-0.12.5+mixin.0.8.5.jar:0.12.5+mixin.0.8.5]
    at org.spongepowered.asm.mixin.injection.struct.InjectionInfo.<init>(InjectionInfo.java:316) ~[sponge-mixin-0.12.5+mixin.0.8.5.jar:0.12.5+mixin.0.8.5]
    at org.spongepowered.asm.mixin.injection.struct.InjectionInfo.<init>(InjectionInfo.java:308) ~[sponge-mixin-0.12.5+mixin.0.8.5.jar:0.12.5+mixin.0.8.5]
    at org.spongepowered.asm.mixin.injection.struct.CallbackInjectionInfo.<init>(CallbackInjectionInfo.java:46) ~[sponge-mixin-0.12.5+mixin.0.8.5.jar:0.12.5+mixin.0.8.5]
    at jdk.internal.reflect.DirectConstructorHandleAccessor.newInstance(DirectConstructorHandleAccessor.java:62) ~[?:?]
    at java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:502) ~[?:?]
    at java.lang.reflect.Constructor.newInstance(Constructor.java:486) ~[?:?]
    at org.spongepowered.asm.mixin.injection.struct.InjectionInfo$InjectorEntry.create(InjectionInfo.java:149) ~[sponge-mixin-0.12.5+mixin.0.8.5.jar:0.12.5+mixin.0.8.5]
    at org.spongepowered.asm.mixin.injection.struct.InjectionInfo.parse(InjectionInfo.java:708) ~[sponge-mixin-0.12.5+mixin.0.8.5.jar:0.12.5+mixin.0.8.5]
    at org.spongepowered.asm.mixin.transformer.MixinTargetContext.prepareInjections(MixinTargetContext.java:1329) ~[sponge-mixin-0.12.5+mixin.0.8.5.jar:0.12.5+mixin.0.8.5]
    at org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.prepareInjections(MixinApplicatorStandard.java:1053) ~[sponge-mixin-0.12.5+mixin.0.8.5.jar:0.12.5+mixin.0.8.5]
    at org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.applyMixin(MixinApplicatorStandard.java:395) ~[sponge-mixin-0.12.5+mixin.0.8.5.jar:0.12.5+mixin.0.8.5]
    at org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.apply(MixinApplicatorStandard.java:327) ~[sponge-mixin-0.12.5+mixin.0.8.5.jar:0.12.5+mixin.0.8.5]
    at org.spongepowered.asm.mixin.transformer.TargetClassContext.apply(TargetClassContext.java:421) ~[sponge-mixin-0.12.5+mixin.0.8.5.jar:0.12.5+mixin.0.8.5]
    at org.spongepowered.asm.mixin.transformer.TargetClassContext.applyMixins(TargetClassContext.java:403) ~[sponge-mixin-0.12.5+mixin.0.8.5.jar:0.12.5+mixin.0.8.5]
    at org.spongepowered.asm.mixin.transformer.MixinProcessor.applyMixins(MixinProcessor.java:363) ~[sponge-mixin-0.12.5+mixin.0.8.5.jar:0.12.5+mixin.0.8.5]
    at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClass(MixinTransformer.java:234) ~[sponge-mixin-0.12.5+mixin.0.8.5.jar:0.12.5+mixin.0.8.5]
    at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClassBytes(MixinTransformer.java:202) ~[sponge-mixin-0.12.5+mixin.0.8.5.jar:0.12.5+mixin.0.8.5]
    at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.getPostMixinClassByteArray(KnotClassDelegate.java:422) ~[fabric-loader-0.15.3.jar:?]
    at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.tryLoadClass(KnotClassDelegate.java:323) ~[fabric-loader-0.15.3.jar:?]
    at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.loadClass(KnotClassDelegate.java:218) ~[fabric-loader-0.15.3.jar:?]
    at net.fabricmc.loader.impl.launch.knot.KnotClassLoader.loadClass(KnotClassLoader.java:119) ~[fabric-loader-0.15.3.jar:?]
    at java.lang.ClassLoader.loadClass(ClassLoader.java:526) ~[?:?]
    at java.lang.Class.forName0(Native Method) ~[?:?]
    at java.lang.Class.forName(Class.java:534) ~[?:?]
    at java.lang.Class.forName(Class.java:513) ~[?:?]
    at net.fabricmc.loader.impl.launch.knot.MixinServiceKnot.findClass(MixinServiceKnot.java:96) ~[fabric-loader-0.15.3.jar:?]
    at org.spongepowered.asm.mixin.transformer.MixinProcessor.audit(MixinProcessor.java:254) ~[sponge-mixin-0.12.5+mixin.0.8.5.jar:0.12.5+mixin.0.8.5]
OverlordsIII commented 10 months ago

That's very odd. I can't seem to reproduce with Villager Names 4.5.2 on 1.20.1 using a standalone instance. I'm not sure why they're not being remapped. If you're using MultiMC, could you make sure your intermediary mappings are up to date (Or update your fabric loader if you aren't on MMC).

Treetrain1 commented 10 months ago

I'm using the Modrinth App using the latest commit on their repo

OverlordsIII commented 10 months ago

It seems to work for me in the Modrinth App as well. I've only uploaded a 1.20.4 version of Villager Names 4.5.2 onto modrinth. Using the 1.20.1 version from curseforge, it works just fine. Here's the link: https://www.curseforge.com/minecraft/mc-mods/villager-names-fabric/files/4738277

Treetrain1 commented 10 months ago

could you upload that version to Modrinth, as I'm including this mod in a Modrinth modpack, and curseforge mods dont work too well with it

TaiDak commented 7 months ago

Yes, the modrinth app thinks that the latest version is compatible with 1.20.1, game versions it list as compatible go from 1.20 to 1.20.4. Version 4.5.1 on modrinth or 4.5.2 from curforge workd fine and creates my world.

If 4.5.2 only change was that you removed create compatibility in order to make it work on 1.20.4, we can still use 4.5.1 safely right?

Nvm lol, 4.5.1 from modrinth works fine in 1.20.1 client, but crashes on a server, i just downloaded the curseforge version.

OverlordsIII commented 7 months ago

Sorry about that, just marked version 4.5.2 to be for 1.20.4 only.

Nvm lol, 4.5.1 from modrinth works fine in 1.20.1 client, but crashes on a server, i just downloaded the curseforge version.

That's odd - could you send a crash report? There shouldn't be any difference in 4.5.1 from Modrinth and Curseforge. Could you send me the links you downloaded both versions from?