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 level, LivingEntity entity, int amplifier)
    • applyInstantenousEffect

      public void applyInstantenousEffect(ServerLevel level, @Nullable Entity source, @Nullable Entity indirectSource, LivingEntity entity, int amplifier, double health)
    • shouldApplyEffectTickThisTick

      public boolean shouldApplyEffectTickThisTick(int duration, int amplifier)
    • onEffectStarted

      public void onEffectStarted(LivingEntity entity, int amplifier)
    • onEffectAdded

      public void onEffectAdded(LivingEntity entity, int amplifier)
    • onMobRemoved

      public void onMobRemoved(ServerLevel level, LivingEntity entity, int amplifier, Entity.RemovalReason reason)
    • onMobHurt

      public void onMobHurt(ServerLevel level, LivingEntity entity, int amplifier, DamageSource damageSource, float amount)
    • 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> attribute, ResourceLocation id, double amount, AttributeModifier.Operation operation)
    • 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 blendDuration)
    • setBlendDuration

      public MobEffect setBlendDuration(int blendInDurationTicks, int blendOutDurationTicks, int blendOutAdvanceTicks)
    • createModifiers

      public void createModifiers(int amplifier, BiConsumer<Holder<Attribute>,AttributeModifier> output)
    • removeAttributeModifiers

      public void removeAttributeModifiers(AttributeMap attributeMap)
    • addAttributeModifiers

      public void addAttributeModifiers(AttributeMap attributeMap, int amplifier)
    • isBeneficial

      public boolean isBeneficial()
    • createParticleOptions

      public ParticleOptions createParticleOptions(MobEffectInstance effect)
    • withSoundOnAdded

      public MobEffect withSoundOnAdded(SoundEvent sound)
    • requiredFeatures

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

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