Croptopia

Croptopia

30M Downloads

Compatibility issue with latest version of Falling Tree

BrekiTomasson opened this issue ยท 2 comments

commented

Mod Versions:

  • Croptopia: FABRIC-1.3.3
  • FallingTree: 2.11.2

After updating FallingTree to the most recently released version, a compatibility issue between it and Croptopia appeared, causing the client to crash on load. Disabling either mod will make the client work again, but considering it worked in previous versions of FallingTree with the current version of Croptopia, I suspect the problem is related to something introduced between FallingTree v2.11.0 and FallingTree v2.11.2.

The errors in the log include:

[19:32:15] [main/WARN]: Mixin apply failed Croptopia.mixins.json:VillagerMixin -> net.minecraft.class_1646: org.spongepowered.asm.mixin.injection.throwables.InvalidInjectionException Critical injection failure: @ModifyArg annotation on addSeedToPlant could not find any targets matching 'hasSeedToPlant' in net.minecraft.class_1646. Using refmap fabric-refmap.json [ -> modify$cjo000$addSeedToPlant(Ljava/util/Set;)Ljava/util/Set; -> Parse]
org.spongepowered.asm.mixin.injection.throwables.InvalidInjectionException: Critical injection failure: @ModifyArg annotation on addSeedToPlant could not find any targets matching 'hasSeedToPlant' in net.minecraft.class_1646. Using refmap fabric-refmap.json [ -> modify$cjo000$addSeedToPlant(Ljava/util/Set;)Ljava/util/Set; -> Parse]

[...]

[19:32:15] [main/WARN]: Mixin apply failed Croptopia.mixins.json:VillagerAccess -> net.minecraft.class_1646: org.spongepowered.asm.mixin.gen.throwables.InvalidAccessorException No candidates were found matching GATHERABLE_ITEMS:Ljava/util/Set; in net/minecraft/class_1646 for Croptopia.mixins.json:VillagerAccess->@Accessor[FIELD_GETTER]::getGatherableItems()Ljava/util/Set; [ -> Locate -> Croptopia.mixins.json:VillagerAccess->@Accessor[FIELD_GETTER]::getGatherableItems()Ljava/util/Set;]
org.spongepowered.asm.mixin.gen.throwables.InvalidAccessorException: No candidates were found matching GATHERABLE_ITEMS:Ljava/util/Set; in net/minecraft/class_1646 for Croptopia.mixins.json:VillagerAccess->@Accessor[FIELD_GETTER]::getGatherableItems()Ljava/util/Set; [ -> Locate -> Croptopia.mixins.json:VillagerAccess->@Accessor[FIELD_GETTER]::getGatherableItems()Ljava/util/Set;]

[...]

[19:32:18] [main/WARN]: Mixin apply failed Croptopia.mixins.json:AxeMixin -> net.minecraft.class_1743: org.spongepowered.asm.mixin.injection.throwables.InvalidInjectionException Critical injection failure: @Inject annotation on blockUse could not find any targets matching 'useOnBlock' in net.minecraft.class_1743. Using refmap fabric-refmap.json [ -> handler$cjm000$blockUse(Lnet/minecraft/class_1838;Lorg/spongepowered/asm/mixin/injection/callback/CallbackInfoReturnable;)V -> Parse]
org.spongepowered.asm.mixin.injection.throwables.InvalidInjectionException: Critical injection failure: @Inject annotation on blockUse could not find any targets matching 'useOnBlock' in net.minecraft.class_1743. Using refmap fabric-refmap.json [ -> handler$cjm000$blockUse(Lnet/minecraft/class_1838;Lorg/spongepowered/asm/mixin/injection/callback/CallbackInfoReturnable;)V -> Parse]

[...]

[19:32:18] [main/WARN]: Mixin apply failed Croptopia.mixins.json:AxeAccess -> net.minecraft.class_1743: org.spongepowered.asm.mixin.gen.throwables.InvalidAccessorException No candidates were found matching STRIPPED_BLOCKS:Ljava/util/Map; in net/minecraft/class_1743 for Croptopia.mixins.json:AxeAccess->@Accessor[FIELD_GETTER]::getStrippedBlocks()Ljava/util/Map; [ -> Locate -> Croptopia.mixins.json:AxeAccess->@Accessor[FIELD_GETTER]::getStrippedBlocks()Ljava/util/Map;]
org.spongepowered.asm.mixin.gen.throwables.InvalidAccessorException: No candidates were found matching STRIPPED_BLOCKS:Ljava/util/Map; in net/minecraft/class_1743 for Croptopia.mixins.json:AxeAccess->@Accessor[FIELD_GETTER]::getStrippedBlocks()Ljava/util/Map; [ -> Locate -> Croptopia.mixins.json:AxeAccess->@Accessor[FIELD_GETTER]::getStrippedBlocks()Ljava/util/Map;]

The final error, which crashes the client on load is this:

java.lang.RuntimeException: Could not execute entrypoint stage 'main' due to errors, provided by 'croptopia'!
	at Not Enough Crashes deobfuscated stack trace.(1.16.5+build.6)
	at net.fabricmc.loader.entrypoint.minecraft.hooks.EntrypointUtils.invoke0(EntrypointUtils.java:53)
	at net.fabricmc.loader.entrypoint.minecraft.hooks.EntrypointUtils.invoke(EntrypointUtils.java:36)
	at net.fabricmc.loader.entrypoint.minecraft.hooks.EntrypointClient.start(EntrypointClient.java:32)
	at net.minecraft.client.MinecraftClient.redirect$zla000$catchFabricInit(MinecraftClient:6877)
	at net.minecraft.client.MinecraftClient.<init>(MinecraftClient:437)
	at net.minecraft.client.main.Main.main(Main:177)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at net.fabricmc.loader.game.MinecraftGameProvider.launch(MinecraftGameProvider.java:226)
	at net.fabricmc.loader.launch.knot.Knot.launch(Knot.java:146)
	at net.fabricmc.loader.launch.knot.KnotClient.main(KnotClient.java:28)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.multimc.onesix.OneSixLauncher.launchWithMainClass(OneSixLauncher.java:196)
	at org.multimc.onesix.OneSixLauncher.launch(OneSixLauncher.java:231)
	at org.multimc.EntryPoint.listen(EntryPoint.java:143)
	at org.multimc.EntryPoint.main(EntryPoint.java:34)
Caused by: java.lang.NoSuchMethodError: net.minecraft.class_1646.getItemFoodValues_$md$ef02da$5()Ljava/util/Map;
	at me.thonk.croptopia.mixin.VillagerAccess.getItemFoodValues(VillagerAccess.java)
	at me.thonk.croptopia.Croptopia.modifyVillagerFoodItems(Croptopia.java:189)
	at me.thonk.croptopia.Croptopia.onInitialize(Croptopia.java:91)
	at net.fabricmc.loader.entrypoint.minecraft.hooks.EntrypointUtils.invoke0(EntrypointUtils.java:50)
	... 20 more

All errors point towards Croptopia, but like I said, it worked fine with no changes to Croptopia with a previous version of Falling Tree, and disabling Falling Tree makes everything work again.

commented

Opened RakambdaOrg/FallingTree#100 as well to get FallingTree's perspective on things.

commented

RakambdaOrg/FallingTree#100 (comment) confirms the compatibility error, which has been fixed in an unofficial release of Falling Tree, but might also offer a suggestion for how to avoid this kind of problem in the future for Croptopia as well.