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 pCategory, int pColor) protectedMobEffect(MobEffectCategory pCategory, int pColor, ParticleOptions pParticle) -
Method Summary
Modifier and TypeMethodDescriptionaddAttributeModifier(Holder<Attribute> pAttribute, ResourceLocation pId, double pAmount, AttributeModifier.Operation pOperation) 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 pAttributeMap, int pAmplifier) booleanapplyEffectTick(LivingEntity pLivingEntity, int pAmplifier) voidapplyInstantenousEffect(Entity pSource, Entity pIndirectSource, LivingEntity pLivingEntity, int pAmplifier, double pHealth) voidcreateModifiers(int pAmplifier, BiConsumer<Holder<Attribute>, AttributeModifier> pOutput) createParticleOptions(MobEffectInstance pEffect) intintgetColor()protected StringvoidinitializeClient(Consumer<IClientMobEffectExtensions> consumer) Deprecated, for removal: This API element is subject to removal in a future version.booleanbooleanvoidonEffectAdded(LivingEntity pLivingEntity, int pAmplifier) voidonEffectStarted(LivingEntity pLivingEntity, int pAmplifier) voidonMobHurt(LivingEntity pLivingEntity, int pAmplifier, DamageSource pDamageSource, float pAmount) voidonMobRemoved(LivingEntity pLivingEntity, int pAmplifier, Entity.RemovalReason pReason) voidremoveAttributeModifiers(AttributeMap pAttributeMap) requiredFeatures(FeatureFlag... pRequiredFeatures) setBlendDuration(int pBlendDuration) booleanshouldApplyEffectTickThisTick(int pDuration, int pAmplifier) withSoundOnAdded(SoundEvent pSound) 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
fillEffectCures, 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
-
-
Method Details
-
getBlendDurationTicks
public int getBlendDurationTicks() -
applyEffectTick
-
applyInstantenousEffect
public void applyInstantenousEffect(@Nullable Entity pSource, @Nullable Entity pIndirectSource, LivingEntity pLivingEntity, int pAmplifier, double pHealth) -
shouldApplyEffectTickThisTick
public boolean shouldApplyEffectTickThisTick(int pDuration, int pAmplifier) -
onEffectStarted
-
onEffectAdded
-
onMobRemoved
-
onMobHurt
public void onMobHurt(LivingEntity pLivingEntity, int pAmplifier, DamageSource pDamageSource, float pAmount) -
isInstantenous
public boolean isInstantenous() -
getOrCreateDescriptionId
-
getDescriptionId
-
getDisplayName
-
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 modifierid- ID of the modifieroperation- Operation of the modifiercurve- A function mapping effect instance amplifier to modifier amount
-
setBlendDuration
-
createModifiers
public void createModifiers(int pAmplifier, BiConsumer<Holder<Attribute>, AttributeModifier> pOutput) -
removeAttributeModifiers
-
addAttributeModifiers
-
isBeneficial
public boolean isBeneficial() -
createParticleOptions
-
withSoundOnAdded
-
requiredFeatures
-
requiredFeatures
- Specified by:
requiredFeaturesin interfaceFeatureElement
-
initializeClient
@Deprecated(forRemoval=true, since="1.21") public void initializeClient(Consumer<IClientMobEffectExtensions> consumer) Deprecated, for removal: This API element is subject to removal in a future version.UseRegisterClientExtensionsEventinsteadNeo: Allowing mods to define client behavior for their MobEffects
-
RegisterClientExtensionsEventinstead