Luke100000 / minecraft-comes-alive

Replaces Minecraft's villagers with humans, who can be interacted with.
GNU General Public License v3.0
70 stars 49 forks source link

Support for 1.20.4? #852

Closed ellet0 closed 5 months ago

ellet0 commented 5 months ago

Just like title, can we in fabric or forge use this amazing mod in 1.20.4?

For now we can't, the following exception is thrown:

[03:46:55] [main/ERROR]: Mixin apply for mod mca failed fabric-mca.mixin.json:MixinCriteria from mod mca -> net.minecraft.class_174: org.spongepowered.asm.mixin.gen.throwables.InvalidAccessorException No candidates were found matching method_767(Lnet/minecraft/class_179;)Lnet/minecraft/class_179; in net/minecraft/class_174 for fabric-mca.mixin.json:MixinCriteria from mod mca->@Invoker[METHOD_PROXY]::register(Lnet/minecraft/class_179;)Lnet/minecraft/class_179; [INJECT Applicator Phase -> fabric-mca.mixin.json:MixinCriteria from mod mca -> Apply Accessors ->  -> Locate -> fabric-mca.mixin.json:MixinCriteria from mod mca->@Invoker[METHOD_PROXY]::register(Lnet/minecraft/class_179;)Lnet/minecraft/class_179;]
org.spongepowered.asm.mixin.gen.throwables.InvalidAccessorException: No candidates were found matching method_767(Lnet/minecraft/class_179;)Lnet/minecraft/class_179; in net/minecraft/class_174 for fabric-mca.mixin.json:MixinCriteria from mod mca->@Invoker[METHOD_PROXY]::register(Lnet/minecraft/class_179;)Lnet/minecraft/class_179; [INJECT Applicator Phase -> fabric-mca.mixin.json:MixinCriteria from mod mca -> Apply Accessors ->  -> Locate -> fabric-mca.mixin.json:MixinCriteria from mod mca->@Invoker[METHOD_PROXY]::register(Lnet/minecraft/class_179;)Lnet/minecraft/class_179;]
    at org.spongepowered.asm.mixin.gen.InvokerInfo.findTargetMethod(InvokerInfo.java:120) ~[sponge-mixin-0.12.5+mixin.0.8.5.jar:0.12.5+mixin.0.8.5]
    at org.spongepowered.asm.mixin.gen.InvokerInfo.locate(InvokerInfo.java:103) ~[sponge-mixin-0.12.5+mixin.0.8.5.jar:0.12.5+mixin.0.8.5]
    at org.spongepowered.asm.mixin.transformer.MixinTargetContext.generateAccessors(MixinTargetContext.java:1411) ~[sponge-mixin-0.12.5+mixin.0.8.5.jar:0.12.5+mixin.0.8.5]
    at org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.applyAccessors(MixinApplicatorStandard.java:1071) ~[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:400) ~[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.5.jar:?]
    at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.tryLoadClass(KnotClassDelegate.java:323) ~[fabric-loader-0.15.5.jar:?]
    at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.loadClass(KnotClassDelegate.java:218) ~[fabric-loader-0.15.5.jar:?]
    at net.fabricmc.loader.impl.launch.knot.KnotClassLoader.loadClass(KnotClassLoader.java:119) ~[fabric-loader-0.15.5.jar:?]
    at java.lang.ClassLoader.loadClass(ClassLoader.java:525) ~[?:?]
    at net.minecraft.class_7923.<clinit>(class_7923.java:195) ~[client-intermediary.jar:?]
    at net.minecraft.class_2966.method_12851(class_2966.java:50) ~[client-intermediary.jar:?]
    at net.minecraft.client.main.Main.main(Main.java:170) ~[minecraft-1.20.4-client.jar:?]
    at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:470) ~[fabric-loader-0.15.5.jar:?]
    at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:74) ~[fabric-loader-0.15.5.jar:?]
    at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23) ~[fabric-loader-0.15.5.jar:?]
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?]
    at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
    at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?]
    at org.polymc.impl.OneSixLauncher.invokeMain(OneSixLauncher.java:104) ~[NewLaunch.jar:?]
    at org.polymc.impl.OneSixLauncher.launchWithMainClass(OneSixLauncher.java:176) ~[NewLaunch.jar:?]
    at org.polymc.impl.OneSixLauncher.launch(OneSixLauncher.java:186) ~[NewLaunch.jar:?]
    at org.polymc.EntryPoint.listen(EntryPoint.java:144) ~[NewLaunch.jar:?]
    at org.polymc.EntryPoint.main(EntryPoint.java:74) ~[NewLaunch.jar:?]
[03:46:56] [main/WARN]: Failed to get system info for GL Caps
java.lang.IllegalStateException: Rendersystem called from wrong thread
    at com.mojang.blaze3d.systems.RenderSystem.constructThreadException(RenderSystem.java:185) ~[client-intermediary.jar:?]
    at com.mojang.blaze3d.systems.RenderSystem.assertOnRenderThread(RenderSystem.java:174) ~[client-intermediary.jar:?]
    at com.mojang.blaze3d.systems.RenderSystem.getCapsString(RenderSystem.java:874) ~[client-intermediary.jar:?]
    at net.minecraft.class_6396.method_37123(class_6396.java:66) ~[client-intermediary.jar:?]
    at net.minecraft.class_310.method_37274(class_310.java:2609) ~[client-intermediary.jar:?]
    at net.minecraft.class_310.method_22681(class_310.java:2580) ~[client-intermediary.jar:?]
    at net.minecraft.client.main.Main.main(Main.java:178) ~[minecraft-1.20.4-client.jar:?]
    at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:470) ~[fabric-loader-0.15.5.jar:?]
    at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:74) ~[fabric-loader-0.15.5.jar:?]
    at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23) ~[fabric-loader-0.15.5.jar:?]
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?]
    at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
    at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?]
    at org.polymc.impl.OneSixLauncher.invokeMain(OneSixLauncher.java:104) ~[NewLaunch.jar:?]
    at org.polymc.impl.OneSixLauncher.launchWithMainClass(OneSixLauncher.java:176) ~[NewLaunch.jar:?]
    at org.polymc.impl.OneSixLauncher.launch(OneSixLauncher.java:186) ~[NewLaunch.jar:?]
    at org.polymc.EntryPoint.listen(EntryPoint.java:144) ~[NewLaunch.jar:?]
    at org.polymc.EntryPoint.main(EntryPoint.java:74) ~[NewLaunch.jar:?]
---- Minecraft Crash Report ----
// Don't do that.
Time: 2024-01-29 03:46:56
Description: Bootstrap
java.lang.BootstrapMethodError: java.lang.RuntimeException: Mixin transformation of net.minecraft.class_174 failed
    at net.minecraft.class_7923.<clinit>(class_7923.java:195)
    at net.minecraft.class_2966.method_12851(class_2966.java:50)
    at net.minecraft.client.main.Main.main(Main.java:170)
    at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:470)
    at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:74)
    at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:568)
    at org.polymc.impl.OneSixLauncher.invokeMain(OneSixLauncher.java:104)
    at org.polymc.impl.OneSixLauncher.launchWithMainClass(OneSixLauncher.java:176)
    at org.polymc.impl.OneSixLauncher.launch(OneSixLauncher.java:186)
    at org.polymc.EntryPoint.listen(EntryPoint.java:144)
    at org.polymc.EntryPoint.main(EntryPoint.java:74)
Caused by: java.lang.RuntimeException: Mixin transformation of net.minecraft.class_174 failed
    at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.getPostMixinClassByteArray(KnotClassDelegate.java:427)
    at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.tryLoadClass(KnotClassDelegate.java:323)
    at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.loadClass(KnotClassDelegate.java:218)
    at net.fabricmc.loader.impl.launch.knot.KnotClassLoader.loadClass(KnotClassLoader.java:119)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:525)
    ... 15 more
Caused by: org.spongepowered.asm.mixin.transformer.throwables.MixinTransformerError: An unexpected critical error was encountered
    at org.spongepowered.asm.mixin.transformer.MixinProcessor.applyMixins(MixinProcessor.java:392)
    at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClass(MixinTransformer.java:234)
    at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClassBytes(MixinTransformer.java:202)
    at net.fabricmc.loader.impl.launch.knot.KnotClassDelegate.getPostMixinClassByteArray(KnotClassDelegate.java:422)
    ... 19 more
Caused by: org.spongepowered.asm.mixin.throwables.MixinApplyError: Mixin [fabric-mca.mixin.json:MixinCriteria from mod mca] from phase [DEFAULT] in config [fabric-mca.mixin.json] FAILED during APPLY
    at org.spongepowered.asm.mixin.transformer.MixinProcessor.handleMixinError(MixinProcessor.java:638)
    at org.spongepowered.asm.mixin.transformer.MixinProcessor.handleMixinApplyError(MixinProcessor.java:589)
    at org.spongepowered.asm.mixin.transformer.MixinProcessor.applyMixins(MixinProcessor.java:379)
    ... 22 more
Caused by: org.spongepowered.asm.mixin.gen.throwables.InvalidAccessorException: No candidates were found matching method_767(Lnet/minecraft/class_179;)Lnet/minecraft/class_179; in net/minecraft/class_174 for fabric-mca.mixin.json:MixinCriteria from mod mca->@Invoker[METHOD_PROXY]::register(Lnet/minecraft/class_179;)Lnet/minecraft/class_179; [INJECT Applicator Phase -> fabric-mca.mixin.json:MixinCriteria from mod mca -> Apply Accessors ->  -> Locate -> fabric-mca.mixin.json:MixinCriteria from mod mca->@Invoker[METHOD_PROXY]::register(Lnet/minecraft/class_179;)Lnet/minecraft/class_179;]
    at org.spongepowered.asm.mixin.gen.InvokerInfo.findTargetMethod(InvokerInfo.java:120)
    at org.spongepowered.asm.mixin.gen.InvokerInfo.locate(InvokerInfo.java:103)
    at org.spongepowered.asm.mixin.transformer.MixinTargetContext.generateAccessors(MixinTargetContext.java:1411)
    at org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.applyAccessors(MixinApplicatorStandard.java:1071)
    at org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.applyMixin(MixinApplicatorStandard.java:400)
    at org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.apply(MixinApplicatorStandard.java:327)
    at org.spongepowered.asm.mixin.transformer.TargetClassContext.apply(TargetClassContext.java:421)
    at org.spongepowered.asm.mixin.transformer.TargetClassContext.applyMixins(TargetClassContext.java:403)
    at org.spongepowered.asm.mixin.transformer.MixinProcessor.applyMixins(MixinProcessor.java:363)
    ... 22 more
A detailed walkthrough of the error, its code path and all known details is as follows:
---------------------------------------------------------------------------------------
-- Head --
Thread: main
Stacktrace:
    at net.minecraft.class_7923.<clinit>(class_7923.java:195)
    at net.minecraft.class_2966.method_12851(class_2966.java:50)
-- Initialization --
Luke100000 commented 5 months ago

Please don't open issues for version ports, I port once it makes sense and I have time :)

ellet0 commented 5 months ago

Please don't open issues for version ports, I port once it makes sense and I have time :)

I get it about the time

But I really need this mod in 1.20.4

I'm willing yo pay you to update it or at least tell me how to make a workaround, the exception

I'm more than familiar with java

So, in that case, can we have a solution to this issue?

Luke100000 commented 5 months ago

If you buy me a coffee at https://www.patreon.com/conczin I will port today after work ^^

ellet0 commented 5 months ago

If you buy me a coffee at https://www.patreon.com/conczin I will port today after work ^^

Done, MCA supporter

ellet0 commented 5 months ago

I still can't use 1.20.4

error:

[Worker-Main-11/ERROR]: Couldn't load tag mca:plants as it is missing following references: minecraft:grass (from mca)

That's because 1.20.3 is also a breaking change

Luke100000 commented 5 months ago

Yes, I'm not done yet, stop using wrong versions ^^ You can generally assume that no medium sized mod is compatible across versions.

I am still battling with Mojangs decision to rework advancements (again). I should be able to finish by today.

Can't promise its stability tho, Mojang changed data storage related stuff I can not test within that short time.

ellet0 commented 5 months ago

Good luck

EnchiladaOne commented 5 months ago

Thanks Luke! I just found this gem today and I'm excited to hear an update is coming. If you need testing for compat or vanilla installs let me know.

Luke100000 commented 5 months ago

Alright now its uploaded, but only for fabric, forge decided to die. That happens when porting to too recent versions ^^

EnchiladaOne commented 5 months ago

No worries, I switched to fabric recently and haven't looked back. I'll give it a go!

ellet0 commented 5 months ago

Alright now its uploaded, but only for fabric, forge decided to die. That happens when porting to too recent versions ^^

Thanks. Do I have to build it from source? Because I still can't see on websites and the GitHub action of deploy didn't run

Luke100000 commented 5 months ago

You can fetch it from https://modrinth.com/mod/minecraft-comes-alive-reborn/version/7.5.12+1.20.4 Or the GitHub action: https://github.com/Luke100000/minecraft-comes-alive/actions/runs/7718363518 Curseforge antivirus got triggered again which causes some delay.

ellet0 commented 5 months ago

Do you have any why this error showed?


[01:55:25] [Render thread/ERROR]: No data fixer registered for mca:tombstone
[01:55:25] [Render thread/ERROR]: No data fixer registered for mca:male_villager
[01:55:25] [Download-1/WARN]: Couldn't look up profile properties for bc9fae9b-462f-49f2-9d88-861bc8991758
com.mojang.authlib.exceptions.MinecraftClientException: Failed to read from https://sessionserver.mojang.com/session/minecraft/profile/<PROFILE ID>?unsigned=false due to Connection reset
    at com.mojang.authlib.minecraft.client.MinecraftClient.readInputStream(MinecraftClient.java:108) ~[authlib-6.0.52.jar:?]
    at com.mojang.authlib.minecraft.client.MinecraftClient.get(MinecraftClient.java:57) ~[authlib-6.0.52.jar:?]
    at com.mojang.authlib.yggdrasil.YggdrasilMinecraftSessionService.fetchProfileUncached(YggdrasilMinecraftSessionService.java:201) ~[authlib-6.0.52.jar:?]
    at com.mojang.authlib.yggdrasil.YggdrasilMinecraftSessionService.fetchProfile(YggdrasilMinecraftSessionService.java:171) ~[authlib-6.0.52.jar:?]
    at net.minecraft.class_310.method_53464(class_310.java:463) ~[client-intermediary.jar:?]
    at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1768) ~[?:?]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) ~[?:?]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) ~[?:?]
    at java.lang.Thread.run(Thread.java:840) ~[?:?]
Caused by: java.net.SocketException: Connection reset
    at sun.nio.ch.NioSocketImpl.implRead(NioSocketImpl.java:328) ~[?:?]
    at sun.nio.ch.NioSocketImpl.read(NioSocketImpl.java:355) ~[?:?]
    at sun.nio.ch.NioSocketImpl$1.read(NioSocketImpl.java:808) ~[?:?]
    at java.net.Socket$SocketInputStream.read(Socket.java:966) ~[?:?]
    at sun.security.ssl.SSLSocketInputRecord.read(SSLSocketInputRecord.java:484) ~[?:?]
    at sun.security.ssl.SSLSocketInputRecord.readHeader(SSLSocketInputRecord.java:478) ~[?:?]
    at sun.security.ssl.SSLSocketInputRecord.decode(SSLSocketInputRecord.java:160) ~[?:?]
    at sun.security.ssl.SSLTransport.decode(SSLTransport.java:111) ~[?:?]
    at sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:1510) ~[?:?]
    at sun.security.ssl.SSLSocketImpl.readHandshakeRecord(SSLSocketImpl.java:1425) ~[?:?]
    at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:455) ~[?:?]
    at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:426) ~[?:?]
    at sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:589) ~[?:?]
    at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:187) ~[?:?]
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1665) ~[?:?]
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1589) ~[?:?]
    at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:529) ~[?:?]
    at sun.net.www.protocol.https.HttpsURLConnectionImpl.getResponseCode(HttpsURLConnectionImpl.java:308) ~[?:?]
    at com.mojang.authlib.minecraft.client.MinecraftClient.readInputStream(MinecraftClient.java:84) ~[authlib-6.0.52.jar:?]
    ... 8 more
[01:55:25] [Render thread/ERROR]: No data fixer registered for mca:female_villager
[01:55:25] [Render thread/ERROR]: No data fixer registered for mca:male_zombie_villager
[01:55:25] [Render thread/ERROR]: No data fixer registered for mca:female_zombie_villager
[01:55:25] [Render thread/ERROR]: No data fixer registered for mca:grim_reaper
Luke100000 commented 5 months ago

Missing datafixers is not an error, and the exception is usually when you connect without a valid account. Both are not critical.

ellet0 commented 5 months ago

No worries, I switched to fabric recently and haven't looked back. I'll give it a go!

I know this is not the subject nor the place, but may I know why you switched to fabric? I'm curious that's all

EnchiladaOne commented 5 months ago

It's been a lot less problematic running multiple mods. I also run shaders and fabric+sodium has been the better performer on my my rig. 7950X3D, 3080ti, 128GB ram.

@Luke100000 I just did testing on this with 130 mods running and it's stable.

ellet0 commented 5 months ago

Issue solved