// This Header is auto generated by BDSLiteLoader Toolchain
#pragma once
#define AUTO_GENERATED
#include "../Global.h"

#define BEFORE_EXTRA

#undef BEFORE_EXTRA

class SharedAttributes {

#define AFTER_EXTRA

#undef AFTER_EXTRA
#ifndef DISABLE_CONSTRUCTOR_PREVENTION_SHAREDATTRIBUTES
public:
    class SharedAttributes& operator=(class SharedAttributes const &) = delete;
    SharedAttributes(class SharedAttributes const &) = delete;
    SharedAttributes() = delete;
#endif

public:
#ifdef ENABLE_VIRTUAL_FAKESYMBOL_SHAREDATTRIBUTES
#endif
    MCAPI static class Attribute const ABSORPTION;
    MCAPI static class Attribute const ATTACK_DAMAGE;
    MCAPI static class Attribute const FOLLOW_RANGE;
    MCAPI static class Attribute const HEALTH;
    MCAPI static class Attribute const JUMP_STRENGTH;
    MCAPI static class Attribute const KNOCKBACK_RESISTANCE;
    MCAPI static class Attribute const LAVA_MOVEMENT_SPEED;
    MCAPI static class Attribute const LUCK;
    MCAPI static class Attribute const MOVEMENT_SPEED;
    MCAPI static class Attribute const UNDERWATER_MOVEMENT_SPEED;
    MCAPI static bool checkIsDeprecated(std::string &);
    MCAPI static class TemporalAttributeBuff loadAttributeBuff(class CompoundTag const &);
    MCAPI static class std::shared_ptr<class AttributeModifier> loadAttributeModifier(class CompoundTag const &);
    MCAPI static void loadAttributes(class BaseAttributeMap *, class ListTag const *);

//private:
    MCAPI static class AttributeInstance * _legacyGetInstance(class BaseAttributeMap &, std::string const &);
    MCAPI static std::string const & _legacyGetName(std::string const &);
    MCAPI static void _loadAttribute(class AttributeInstance &, class CompoundTag const *);
    MCAPI static std::unique_ptr<class CompoundTag> _saveAttribute(class AttributeInstance const &);
    MCAPI static std::unique_ptr<class CompoundTag> _saveAttributeModifier(class AttributeModifier const &);

private:

};