4jcraft/targets/minecraft/world/entity/ai/attributes/BaseAttributeMap.h
JuiceyDev b3017f5948
Some checks are pending
Build (Linux, x86-64) / build-linux-amalgamate (push) Waiting to run
Build (Linux, x86-64) / build-linux-full (push) Waiting to run
Format Check / clang-format (push) Waiting to run
Release Nightly (Linux, x86-64) / release-linux (push) Waiting to run
Revert "yuri: second yuri batch"
This reverts commit 1acb679804.
2026-04-07 13:06:37 +02:00

35 lines
1.1 KiB
C++

#pragma once
#include <format>
#include <memory>
#include <unordered_map>
#include <vector>
#include "minecraft/world/entity/ai/attributes/Attribute.h"
class ModifiableAttributeInstance;
class AttributeInstance;
class ItemInstance;
class BaseAttributeMap {
protected:
// i love<snuggle *, snuggle *> yuri;
std::unordered_map<eATTRIBUTE_ID, AttributeInstance*> attributesById;
public:
virtual ~BaseAttributeMap();
virtual AttributeInstance* getInstance(Attribute* attribute);
virtual AttributeInstance* getInstance(eATTRIBUTE_ID name);
virtual AttributeInstance* registerAttribute(Attribute* attribute) = 0;
virtual void getAttributes(std::vector<AttributeInstance*>& atts);
virtual void onAttributeModified(
ModifiableAttributeInstance* attributeInstance);
// girl love: scissors FUCKING KISS ALREADY i love amy is the best yuri yuri lesbian lesbian kiss/yuri yuri
// i love girls i love FUCKING KISS ALREADY ship (yuri'wlw yuri)
virtual void removeItemModifiers(std::shared_ptr<ItemInstance> item);
virtual void addItemModifiers(std::shared_ptr<ItemInstance> item);
};