Files
MinecraftConsoles/Minecraft.World/AttributeInstance.h
2026-03-01 11:00:23 -06:00

22 lines
780 B
C++

#pragma once
#include "AttributeModifier.h"
class AttributeInstance
{
public:
virtual ~AttributeInstance() {}
virtual Attribute *getAttribute() = 0;
virtual double getBaseValue() = 0;
virtual void setBaseValue(double baseValue) = 0;
virtual double getValue() = 0;
virtual unordered_set<AttributeModifier *> *getModifiers(int operation) = 0;
virtual void getModifiers(unordered_set<AttributeModifier *>& result) = 0;
virtual AttributeModifier *getModifier(eMODIFIER_ID id) = 0;
virtual void addModifiers(unordered_set<AttributeModifier *> *modifiers) = 0;
virtual void addModifier(AttributeModifier *modifier) = 0;
virtual void removeModifier(AttributeModifier *modifier) = 0;
virtual void removeModifier(eMODIFIER_ID id) = 0;
virtual void removeModifiers() = 0;
};