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

Create crashes when installed as a Gradle dependency #1795

Closed
alex210-1 opened this issue Jun 16, 2021 · 3 comments
Closed

Create crashes when installed as a Gradle dependency #1795

alex210-1 opened this issue Jun 16, 2021 · 3 comments

Comments

@alex210-1
Copy link

Exception: [18:17:14] [main/FATAL] [mixin/]: Mixin apply failed create.mixins.json:EntityContraptionInteractionMixin -> net.minecraft.entity.Entity: org.spongepowered.asm.mixin.injection.throwables.InvalidInjectionException Critical injection failure: @Inject annotation on movementMixin could not find any targets matching 'Lnet/minecraft/entity/Entity;func_213315_a(Lnet/minecraft/entity/MoverType;Lnet/minecraft/util/math/vector/Vector3d;)V' in net.minecraft.entity.Entity. Using refmap create.refmap.json [PREINJECT Applicator Phase -> create.mixins.json:EntityContraptionInteractionMixin -> Prepare Injections -> -> handler$zzi000$movementMixin(Lnet/minecraft/entity/MoverType;Lnet/minecraft/util/math/vector/Vector3d;Lorg/spongepowered/asm/mixin/injection/callback/CallbackInfo;)V -> Parse]

full crash log: https://pastebin.com/HCPBa1ii
build.gradle: https://pastebin.com/ZV1zt0PB

I am using

  • mappings channel: 'snapshot', version: '20200920-mixed-1.16.3'
  • minecraft 'net.minecraftforge:forge:1.16.5-36.1.0'
  • implementation fg.deobf("curse.maven:create-328085:3278516")
  • gradle 5.6.3
  • java 1.8.0_271

I have also tried different versions of all of them on windows and linux without success

The error appears to be specific to the create mod as it did not occur with any other mods I tried

@alex210-1
Copy link
Author

alex210-1 commented Jun 16, 2021

Ok, apparently this is because EntityContraptionInteractionMixin:89

@Inject(at = @At(value = "JUMP", opcode = 154, // IFNE line 587 injecting before `!blockstate.isAir(this.world, blockpos)`
	ordinal = 4), method = "move")
private void movementMixin(MoverType mover, Vector3d movement, CallbackInfo ci) {

uses a hardcoded jump address

@LordGrimmauld
Copy link
Member

This is not an issue with that particular mixin. It is your dev environment knowing names with a mapping, but create being compiled to searge names (func_...) for the users environment. So you have to tell it it should remap that map of references to point to proper names again
You do that by enabeling the refmap remap property in your run configurations (something like SpongePowered/Mixin#462 (comment)) and, when starting from ide, regenerating that IDEs run cofiguration

@alex210-1
Copy link
Author

Thank you very much

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