Class PrioritizedLivingEntityMixin

java.lang.Object
net.minecraft.entity.Entity
io.github.xrickastley.sevenelements.mixin.PrioritizedLivingEntityMixin
All Implemented Interfaces:
dev.onyxstudios.cca.api.v3.component.ComponentAccess, ILivingEntity, AttachmentTarget, CommandOutput, Nameable, EntityLike

public abstract class PrioritizedLivingEntityMixin extends Entity implements ILivingEntity
  • Field Details

    • lastDamageTaken

      protected float lastDamageTaken
    • activeStatusEffects

      private Map<StatusEffect,StatusEffectInstance> activeStatusEffects
    • sevenelements$reactions

      private List<ElementalReaction> sevenelements$reactions
    • sevenelements$plannedAttacker

      @Nullable private @Nullable Entity sevenelements$plannedAttacker
    • sevenelements$plannedDamageSource

      @Nullable private @Nullable DamageSource sevenelements$plannedDamageSource
  • Constructor Details

  • Method Details

    • onStatusEffectRemoved

      protected abstract void onStatusEffectRemoved(StatusEffectInstance effect)
    • isDead

      public abstract boolean isDead()
    • hasStatusEffect

      public abstract boolean hasStatusEffect(StatusEffect effect)
    • removeStatusEffect

      public abstract boolean removeStatusEffect(StatusEffect effect)
    • sevenelements$getPlannedAttacker

      @Nullable public @Nullable Entity sevenelements$getPlannedAttacker()
      Description copied from interface: ILivingEntity
      Gets the "planned" attacker. This is updated at the very start of the damage method, meaning that the attacker may not be able to attack after all succeeding conditions are checked.

      This is the attacker of the most recent DamageSource passed through LivingEntity#damage.
      Specified by:
      sevenelements$getPlannedAttacker in interface ILivingEntity
      See Also:
    • sevenelements$getPlannedDamageSource

      @Nullable public @Nullable DamageSource sevenelements$getPlannedDamageSource()
      Description copied from interface: ILivingEntity
      Gets the "planned" damage source. This is updated at the very start of the damage method, meaning that the damage source may not be applied after all succeeding conditions are checked.

      This is the most recent DamageSource passed through LivingEntity#damage.
      Specified by:
      sevenelements$getPlannedDamageSource in interface ILivingEntity
    • forceElementEffects

      private void forceElementEffects(StatusEffectInstance effect, org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable<Boolean> cir)
    • preventElementEffectRemoval

      private void preventElementEffectRemoval(StatusEffect effect, org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable<StatusEffectInstance> cir)
    • removeForcedEffectsOnDeath

      private void removeForcedEffectsOnDeath(DamageSource damageSource, org.spongepowered.asm.mixin.injection.callback.CallbackInfo ci)
    • removeExpiredElementEffects

      private void removeExpiredElementEffects(org.spongepowered.asm.mixin.injection.callback.CallbackInfo ci)
    • persistElementEffectsOnClear

      private Iterator<StatusEffectInstance> persistElementEffectsOnClear(Iterator<StatusEffectInstance> value)
    • setPlannedAttacker

      private void setPlannedAttacker(DamageSource source, float amount, org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable<Boolean> cir)
    • preventDamageWhenFrozen

      private void preventDamageWhenFrozen(DamageSource source, float amount, org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable<Boolean> cir)
    • applyElementalInfusions

      private DamageSource applyElementalInfusions(DamageSource source)
    • applyDMGModifiers

      private float applyDMGModifiers(float amount, DamageSource source)
    • applyReactionAmplifiers

      private float applyReactionAmplifiers(float amount, DamageSource source)