Package net.minecraft.world.effect
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
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final intprivate final Map<Holder<Attribute>, MobEffect.AttributeTemplate> Contains a Map of the AttributeModifiers registered by potionsprivate intprivate final MobEffectCategoryprivate final intprivate Stringprivate final Function<MobEffectInstance, ParticleOptions> private FeatureFlagSetprivate Optional<SoundEvent> static final StreamCodec<RegistryFriendlyByteBuf, Holder<MobEffect>> Fields inherited from interface net.minecraft.world.flag.FeatureElement
FILTERED_REGISTRIES -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedMobEffect(MobEffectCategory category, int color) protectedMobEffect(MobEffectCategory category, int color, Function<MobEffectInstance, ParticleOptions> particleFactory) Neo: Constructor that can take in the particle factory as a function of theMobEffectInstance.protectedMobEffect(MobEffectCategory category, int color, ParticleOptions particle) -
Method Summary
Modifier and TypeMethodDescriptionaddAttributeModifier(Holder<Attribute> attribute, ResourceLocation id, double amount, AttributeModifier.Operation operation) 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.voidaddAttributeModifiers(AttributeMap attributeMap, int amplifier) booleanapplyEffectTick(ServerLevel level, LivingEntity entity, int amplifier) voidapplyInstantenousEffect(ServerLevel level, Entity source, Entity indirectSource, LivingEntity entity, int amplifier, double health) voidcreateModifiers(int amplifier, BiConsumer<Holder<Attribute>, AttributeModifier> output) intintgetColor()protected StringbooleanbooleanvoidonEffectAdded(LivingEntity entity, int amplifier) voidonEffectStarted(LivingEntity entity, int amplifier) voidonMobHurt(ServerLevel level, LivingEntity entity, int amplifier, DamageSource damageSource, float amount) voidonMobRemoved(ServerLevel level, LivingEntity entity, int amplifier, Entity.RemovalReason reason) voidremoveAttributeModifiers(AttributeMap attributeMap) requiredFeatures(FeatureFlag... requiredFeatures) setBlendDuration(int blendDuration) booleanshouldApplyEffectTickThisTick(int duration, int amplifier) withSoundOnAdded(SoundEvent sound) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface net.minecraft.world.flag.FeatureElement
isEnabledMethods inherited from interface net.neoforged.neoforge.common.extensions.IMobEffectExtension
getSortOrder
-
Field Details
-
CODEC
-
STREAM_CODEC
-
AMBIENT_ALPHA
private static final int AMBIENT_ALPHA -
attributeModifiers
Contains a Map of the AttributeModifiers registered by potions -
category
-
color
private final int color -
particleFactory
-
descriptionId
-
blendDurationTicks
private int blendDurationTicks -
soundOnAdded
-
requiredFeatures
-
-
Constructor Details
-
MobEffect
-
MobEffect
-
MobEffect
protected MobEffect(MobEffectCategory category, int color, Function<MobEffectInstance, ParticleOptions> particleFactory) Neo: Constructor that can take in the particle factory as a function of theMobEffectInstance. This should be used if the desiredParticleOptionsdepends on the presence of other registry entries.
-
-
Method Details
-
getBlendDurationTicks
public int getBlendDurationTicks() -
applyEffectTick
-
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
-
onEffectAdded
-
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
-
getDescriptionId
-
getDisplayName
-
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 modifierid- ID of the modifieroperation- Operation of the modifiercurve- A function mapping effect instance amplifier to modifier amount
-
setBlendDuration
-
createModifiers
-
removeAttributeModifiers
-
addAttributeModifiers
-
isBeneficial
public boolean isBeneficial() -
createParticleOptions
-
withSoundOnAdded
-
requiredFeatures
-
requiredFeatures
- Specified by:
requiredFeaturesin interfaceFeatureElement
-