diff --git a/arclight-common/src/main/java/io/izzel/arclight/common/mixin/core/util/IndirectEntityDamageSourceMixin.java b/arclight-common/src/main/java/io/izzel/arclight/common/mixin/core/util/IndirectEntityDamageSourceMixin.java index 7cf84a57..d5cf250b 100644 --- a/arclight-common/src/main/java/io/izzel/arclight/common/mixin/core/util/IndirectEntityDamageSourceMixin.java +++ b/arclight-common/src/main/java/io/izzel/arclight/common/mixin/core/util/IndirectEntityDamageSourceMixin.java @@ -2,14 +2,21 @@ package io.izzel.arclight.common.mixin.core.util; import net.minecraft.entity.Entity; import net.minecraft.util.IndirectEntityDamageSource; +import org.spongepowered.asm.mixin.Final; import org.spongepowered.asm.mixin.Mixin; import io.izzel.arclight.common.bridge.util.IndirectEntityDamageSourceBridge; +import org.spongepowered.asm.mixin.Shadow; @Mixin(IndirectEntityDamageSource.class) public class IndirectEntityDamageSourceMixin extends DamageSourceMixin implements IndirectEntityDamageSourceBridge { + // @formatter:off + @Shadow @Final private Entity indirectEntity; + // @formatter:on + public Entity getProximateDamageSource() { - return super.getTrueSource(); + Entity trueSource = super.getTrueSource(); + return trueSource == null ? this.indirectEntity : trueSource; } @Override