修改击退mixin

This commit is contained in:
17146 2024-05-07 16:49:34 +08:00
parent 444e2566f2
commit 7c7b070cef

View file

@ -1,44 +1,30 @@
package net.mcreator.target.mixins; package net.mcreator.target.mixins;
import net.mcreator.target.entity.ProjectileEntity; import net.mcreator.target.init.TargetModDamageTypes;
import net.minecraft.world.damagesource.DamageSource; import net.minecraft.world.damagesource.DamageSource;
import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.entity.LivingEntity;
import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Unique;
import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject; import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.ModifyArg; import org.spongepowered.asm.mixin.injection.ModifyArg;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
/**
* Author: MrCrayfish
*/
@Mixin(LivingEntity.class) @Mixin(LivingEntity.class)
public class LivingEntityMixin public class LivingEntityMixin {
{ @Unique
private DamageSource source; private DamageSource target$source;
@Inject(method = "hurt", at = @At(value = "INVOKE", target = "Lnet/minecraft/world/entity/LivingEntity;knockback(DDD)V")) @Inject(method = "hurt", at = @At(value = "INVOKE", target = "Lnet/minecraft/world/entity/LivingEntity;knockback(DDD)V"))
private void capture(DamageSource source, float amount, CallbackInfoReturnable<Boolean> cir) private void capture(DamageSource source, float amount, CallbackInfoReturnable<Boolean> cir) {
{ this.target$source = source;
this.source = source;
} }
@ModifyArg(method = "hurt", at = @At(value = "INVOKE", target = "Lnet/minecraft/world/entity/LivingEntity;knockback(DDD)V"), index = 0) @ModifyArg(method = "hurt", at = @At(value = "INVOKE", target = "Lnet/minecraft/world/entity/LivingEntity;knockback(DDD)V"), index = 0)
private double modifyApplyKnockbackArgs(double original) private double modifyApplyKnockbackArgs(double original) {
{ if (this.target$source.is(TargetModDamageTypes.GUNFIRE)) {
if(this.source.getEntity() instanceof ProjectileEntity)
{
if(true)
{
return 0; return 0;
} }
double strength = 0;
if(strength > 0)
{
return strength;
}
}
return original; return original;
} }
} }