Can't runClient in a dev environment after adding architectury
uecasm opened this issue ยท 1 comments
The chain of dependencies is that I wanted the config GUI for JEI, which depends on ftb-gui-library, which in turn depends on architectury. This is in Minecraft 1.16.5, using JEI 1.16.4-7.6.0.53, ftb-gui-library-1605.2.1.37-forge, and architectury-1.5.105-forge.
However after adding these as a runtimeOnly dependency in the gradle build (via net.minecraftforge.gradle
from the standard Forge MDK template), it fails to runClient:
[00:58:38] [pool-3-thread-1/DEBUG] [mixin/]: Mixing MixinBlockEntity from architectury.mixins.json into net.minecraft.tileentity.TileEntity
[00:58:38] [pool-3-thread-1/FATAL] [mixin/]: Mixin apply failed architectury.mixins.json:MixinBlockEntity -> net.minecraft.tileentity.TileEntity: org.spongepowered.asm.mixin.injection.throwables.InvalidInjectionException Critical injection failure: @Inject annotation on getUpdatePacket could not find any targets matching 'Lnet/minecraft/tileentity/TileEntity;func_189518_D_()Lnet/minecraft/network/play/server/SUpdateTileEntityPacket;' in net.minecraft.tileentity.TileEntity. Using refmap architectury-forge-refmap.json [PREINJECT Applicator Phase -> architectury.mixins.json:MixinBlockEntity -> Prepare Injections -> -> handler$zza000$getUpdatePacket(Lorg/spongepowered/asm/mixin/injection/callback/CallbackInfoReturnable;)V -> Parse]
org.spongepowered.asm.mixin.injection.throwables.InvalidInjectionException: Critical injection failure: @Inject annotation on getUpdatePacket could not find any targets matching 'Lnet/minecraft/tileentity/TileEntity;func_189518_D_()Lnet/minecraft/network/play/server/SUpdateTileEntityPacket;' in net.minecraft.tileentity.TileEntity. Using refmap architectury-forge-refmap.json [PREINJECT Applicator Phase -> architectury.mixins.json:MixinBlockEntity -> Prepare Injections -> -> handler$zza000$getUpdatePacket(Lorg/spongepowered/asm/mixin/injection/callback/CallbackInfoReturnable;)V -> Parse]
at org.spongepowered.asm.mixin.injection.struct.InjectionInfo.findMethods(InjectionInfo.java:572) ~[mixin-0.8.2.jar:0.8.2+unknown-b0.git-unknown] {}
If I then try to set mixin.env.disableRefMap
to true (which is the only way I could find to resolve a similar problem when building a different mod), it instead fails with this:
[01:07:53] [pool-3-thread-1/DEBUG] [ne.mi.co.tr.CoreModBaseTransformer/COREMOD]: Transforming func_230280_a_ with desc (Lnet/minecraft/item/ShootableItem;)Z
[01:07:54] [pool-3-thread-1/DEBUG] [mixin/]: Mixing MobSpawnSettingsBuilderAccessor from architectury.mixins.json into net.minecraft.world.biome.MobSpawnInfo$Builder
[01:07:54] [pool-3-thread-1/FATAL] [mixin/]: Mixin apply failed architectury.mixins.json:MobSpawnSettingsBuilderAccessor -> net.minecraft.world.biome.MobSpawnInfo$Builder: org.spongepowered.asm.mixin.gen.throwables.InvalidAccessorException No candidates were found matching mobSpawnCosts:Ljava/util/Map; in net/minecraft/world/biome/MobSpawnInfo$Builder for architectury.mixins.json:MobSpawnSettingsBuilderAccessor->@Accessor[FIELD_GETTER]::getMobSpawnCosts()Ljava/util/Map; [INJECT Applicator Phase -> architectury.mixins.json:MobSpawnSettingsBuilderAccessor -> Apply Accessors -> -> Locate -> architectury.mixins.json:MobSpawnSettingsBuilderAccessor->@Accessor[FIELD_GETTER]::getMobSpawnCosts()Ljava/util/Map;]
org.spongepowered.asm.mixin.gen.throwables.InvalidAccessorException: No candidates were found matching mobSpawnCosts:Ljava/util/Map; in net/minecraft/world/biome/MobSpawnInfo$Builder for architectury.mixins.json:MobSpawnSettingsBuilderAccessor->@Accessor[FIELD_GETTER]::getMobSpawnCosts()Ljava/util/Map; [INJECT Applicator Phase -> architectury.mixins.json:MobSpawnSettingsBuilderAccessor -> Apply Accessors -> -> Locate -> architectury.mixins.json:MobSpawnSettingsBuilderAccessor->@Accessor[FIELD_GETTER]::getMobSpawnCosts()Ljava/util/Map;]
at org.spongepowered.asm.mixin.gen.AccessorInfo.findTarget(AccessorInfo.java:518) ~[mixin-0.8.2.jar:0.8.2+unknown-b0.git-unknown] {}
What is the path out of this trap? Please assume I know absolutely nothing (it's not far wrong).
Duplicate of SpongePowered/Mixin#462