Class MobEffect

java.lang.Object
net.minecraft.world.effect.MobEffect
All Implemented Interfaces:
FeatureElement, IMobEffectExtension
Direct Known Subclasses:
AbsorptionMobEffect, BadOmenMobEffect, HungerMobEffect, InfestedMobEffect, InstantenousMobEffect, OozingMobEffect, PoisonMobEffect, RaidOmenMobEffect, RegenerationMobEffect, WeavingMobEffect, WindChargedMobEffect, WitherMobEffect

public class MobEffect extends Object implements FeatureElement, IMobEffectExtension
  • Field Details

  • Constructor Details

  • Method Details

    • getBlendInDurationTicks

      public int getBlendInDurationTicks()
    • getBlendOutDurationTicks

      public int getBlendOutDurationTicks()
    • getBlendOutAdvanceTicks

      public int getBlendOutAdvanceTicks()
    • applyEffectTick

      public boolean applyEffectTick(ServerLevel pLevel, LivingEntity pEntity, int pAmplifier)
    • applyInstantenousEffect

      public void applyInstantenousEffect(ServerLevel pLevel, @Nullable Entity pSource, @Nullable Entity pIndirectSource, LivingEntity pEntity, int pAmplifier, double pHealth)
    • shouldApplyEffectTickThisTick

      public boolean shouldApplyEffectTickThisTick(int pDuration, int pAmplifier)
    • onEffectStarted

      public void onEffectStarted(LivingEntity pEntity, int pAmplifier)
    • onEffectAdded

      public void onEffectAdded(LivingEntity pEntity, int pAmplifier)
    • onMobRemoved

      public void onMobRemoved(ServerLevel pLevel, LivingEntity pEntity, int pAmplifier, Entity.RemovalReason pReason)
    • onMobHurt

      public void onMobHurt(ServerLevel pLevel, LivingEntity pEntity, int pAmplifier, DamageSource pDamageSource, float pAmount)
    • isInstantenous

      public boolean isInstantenous()
    • getOrCreateDescriptionId

      protected String getOrCreateDescriptionId()
    • getDescriptionId

      public String getDescriptionId()
    • getDisplayName

      public Component getDisplayName()
    • getCategory

      public MobEffectCategory getCategory()
    • getColor

      public int getColor()
    • addAttributeModifier

      public MobEffect addAttributeModifier(Holder<Attribute> pAttribute, ResourceLocation pId, double pAmount, AttributeModifier.Operation pOperation)
    • addAttributeModifier

      public MobEffect addAttributeModifier(Holder<Attribute> attribute, ResourceLocation id, AttributeModifier.Operation operation, it.unimi.dsi.fastutil.ints.Int2DoubleFunction curve)
      Neo: attribute template with custom level curve, for mob effects providing non-linear attribute modifiers.
      Parameters:
      attribute - The attribute of the modifier
      id - ID of the modifier
      operation - Operation of the modifier
      curve - A function mapping effect instance amplifier to modifier amount
    • setBlendDuration

      public MobEffect setBlendDuration(int pBlendDuration)
    • setBlendDuration

      public MobEffect setBlendDuration(int pBlendInDurationTicks, int pBlendOutDurationTicks, int pBlendOutAdvanceTicks)
    • createModifiers

      public void createModifiers(int pAmplifier, BiConsumer<Holder<Attribute>,AttributeModifier> pOutput)
    • removeAttributeModifiers

      public void removeAttributeModifiers(AttributeMap pAttributeMap)
    • addAttributeModifiers

      public void addAttributeModifiers(AttributeMap pAttributeMap, int pAmplifier)
    • isBeneficial

      public boolean isBeneficial()
    • createParticleOptions

      public ParticleOptions createParticleOptions(MobEffectInstance pEffect)
    • withSoundOnAdded

      public MobEffect withSoundOnAdded(SoundEvent pSound)
    • requiredFeatures

      public MobEffect requiredFeatures(FeatureFlag... pRequiredFeatures)
    • requiredFeatures

      public FeatureFlagSet requiredFeatures()
      Specified by:
      requiredFeatures in interface FeatureElement