![Improved Damage Framework](https://media.forgecdn.net/avatars/thumbnails/661/891/256/256/638060529358069786.png)
Incompatibility with DragonSurvival
MrRain139 opened this issue ยท 2 comments
When trying to run the game with your mod I found that it is not compatible with Dragon Survival. https://www.curseforge.com/minecraft/mc-mods/dragons-survival
Error: [17Dec2023 10:04:48.511] [main/FATAL] [mixin/]: Mixin apply failed dragonsurvival.mixins.json:MixinLivingEntity -> net.minecraft.world.entity.LivingEntity: org.spongepowered.asm.mixin.injection.throwables.InvalidInjectionException Specified index 0 for @ModifyArg is invalid for args (Lnet/minecraft/world/entity/LivingEntity;DDD), expected D on net/minecraft/world/entity/LivingEntity::disableKnockbackForMagic [INJECT Applicator Phase -> dragonsurvival.mixins.json:MixinLivingEntity -> Apply Injections -> -> Inject -> dragonsurvival.mixins.json:MixinLivingEntity->@ModifyArg::disableKnockbackForMagic(D)D]
org.spongepowered.asm.mixin.injection.throwables.InvalidInjectionException: Specified index 0 for @ModifyArg is invalid for args (Lnet/minecraft/world/entity/LivingEntity;DDD), expected D on net/minecraft/world/entity/LivingEntity::disableKnockbackForMagic [INJECT Applicator Phase -> dragonsurvival.mixins.json:MixinLivingEntity -> Apply Injections -> -> Inject -> dragonsurvival.mixins.json:MixinLivingEntity->@ModifyArg::disableKnockbackForMagic(D)D]
Here's the error plot from the DragonSurvival mod:
@ModifyArg(method = "hurt", at = @At(value = "INVOKE", target = "Lnet/minecraft/world/entity/LivingEntity;knockback(DDD)V"), index = 0)
public double disableKnockbackForMagic(double strength) {
if (dragonSurvival$damageSource instanceof EntityDamageSource) {
String id = dragonSurvival$damageSource.msgId;
if (id.equals("onFire") || id.equals("magic")) {
return 0;
}
}
return strength;
}
In your mod, index 0 causes an error because that one is not a double, but in your method:
@Redirect(method = "hurt", at = @At(value = "INVOKE", target = "Lnet/minecraft/world/entity/LivingEntity;knockback(DDD)V"))
private void voidKnockback(LivingEntity instance, double strength, double x, double z) {
}