Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Can't runClient in a dev environment after adding architectury #41

Closed
uecasm opened this issue Feb 8, 2021 · 1 comment
Closed

Can't runClient in a dev environment after adding architectury #41

uecasm opened this issue Feb 8, 2021 · 1 comment

Comments

@uecasm
Copy link

uecasm commented Feb 8, 2021

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).

@shedaniel
Copy link
Member

Duplicate of SpongePowered/Mixin#462

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants