public class ModifiableAttributeInstance
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
private Attribute |
attribute |
private double |
baseValue |
private double |
cachedValue |
private boolean |
dirty |
private java.util.Map<java.util.UUID,AttributeModifier> |
modifierById |
private java.util.Map<AttributeModifier.Operation,java.util.Set<AttributeModifier>> |
modifiersByOperation |
private java.util.function.Consumer<ModifiableAttributeInstance> |
onDirty |
private java.util.Set<AttributeModifier> |
permanentModifiers |
Constructor and Description |
---|
ModifiableAttributeInstance(Attribute p_i231501_1_,
java.util.function.Consumer<ModifiableAttributeInstance> p_i231501_2_) |
private final Attribute attribute
private final java.util.Map<AttributeModifier.Operation,java.util.Set<AttributeModifier>> modifiersByOperation
private final java.util.Map<java.util.UUID,AttributeModifier> modifierById
private final java.util.Set<AttributeModifier> permanentModifiers
private double baseValue
private boolean dirty
private double cachedValue
private final java.util.function.Consumer<ModifiableAttributeInstance> onDirty
public ModifiableAttributeInstance(Attribute p_i231501_1_, java.util.function.Consumer<ModifiableAttributeInstance> p_i231501_2_)
public Attribute getAttribute()
public double getBaseValue()
public void setBaseValue(double p_111128_1_)
public java.util.Set<AttributeModifier> getModifiers(AttributeModifier.Operation p_225504_1_)
public java.util.Set<AttributeModifier> getModifiers()
@Nullable public AttributeModifier getModifier(java.util.UUID p_111127_1_)
public boolean hasModifier(AttributeModifier p_180374_1_)
private void addModifier(AttributeModifier p_111121_1_)
public void addTransientModifier(AttributeModifier p_233767_1_)
public void addPermanentModifier(AttributeModifier p_233769_1_)
protected void setDirty()
public void removeModifier(AttributeModifier p_111124_1_)
public void removeModifier(java.util.UUID p_188479_1_)
public boolean removePermanentModifier(java.util.UUID p_233770_1_)
public void removeModifiers()
public double getValue()
private double calculateValue()
private java.util.Collection<AttributeModifier> getModifiersOrEmpty(AttributeModifier.Operation p_220370_1_)
public void replaceFrom(ModifiableAttributeInstance p_233763_1_)
public CompoundNBT save()
public void load(CompoundNBT p_233765_1_)