LeviLamina
Loading...
Searching...
No Matches
LayeredAbilities.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4#include "mc/world/actor/player/AbilitiesLayer.h"
5
6// auto generated inclusion list
7#include "mc/server/commands/CommandPermissionLevel.h"
8#include "mc/server/commands/PlayerPermissionLevel.h"
9#include "mc/world/actor/player/Abilities.h"
10#include "mc/world/actor/player/AbilitiesIndex.h"
11#include "mc/world/actor/player/AbilitiesLayer.h"
12#include "mc/world/actor/player/Ability.h"
13#include "mc/world/actor/player/PermissionsHandler.h"
14
15// auto generated forward declare list
16// clang-format off
17class Ability;
18class CompoundTag;
19// clang-format on
20
21class LayeredAbilities {
22public:
23 LLNDAPI Ability& getAbility(::AbilitiesIndex val);
24 LLNDAPI Ability& getAbility(::AbilitiesLayer layer, ::AbilitiesIndex val);
25 LLAPI bool setAbility(::AbilitiesIndex val, float value);
26 LLAPI bool setAbility(::AbilitiesIndex val, bool value);
27
28public:
29 // member variables
30 // NOLINTBEGIN
31 ::ll::TypedStorage<8, 24, ::PermissionsHandler> mPermissions;
32 ::ll::TypedStorage<4, 1440, ::std::array<::Abilities, 6>> mLayers;
33 // NOLINTEND
34
35public:
36 // member functions
37 // NOLINTBEGIN
38 MCAPI LayeredAbilities();
39
40 MCAPI LayeredAbilities(::LayeredAbilities const& other);
41
42 MCAPI void addSaveData(::CompoundTag& parentTag) const;
43
44 MCAPI void forEachAbility(
45 ::std::function<void(::Ability const&, char const*)> const& callback,
46 ::Ability::Options requiredOptions
47 ) const;
48
49 MCAPI void forEachAbility(
50 ::std::function<void(::Ability const&, ::AbilitiesIndex)> const& callback,
51 ::Ability::Options requiredOptions
52 ) const;
53
54 MCFOLD void forEachLayer(::std::function<void(::AbilitiesLayer, ::Abilities&)> const& callback);
55
56 MCFOLD void forEachLayer(::std::function<void(::AbilitiesLayer, ::Abilities const&)> const& callback) const;
57
58 MCAPI ::Ability const& getAbility(::AbilitiesIndex val) const;
59
60 MCAPI bool getBool(::AbilitiesIndex val) const;
61
62 MCAPI ::std::pair<bool, ::AbilitiesLayer> getBoolWithLayer(::AbilitiesIndex val) const;
63
64 MCFOLD ::CommandPermissionLevel getCommandPermissions() const;
65
66#ifdef LL_PLAT_C
67 MCAPI float getFloat(::AbilitiesIndex val) const;
68#endif
69
70 MCAPI ::std::pair<float, ::AbilitiesLayer> getFloatWithLayer(::AbilitiesIndex val) const;
71
72#ifdef LL_PLAT_C
73 MCFOLD ::Abilities const& getLayer(::AbilitiesLayer layer) const;
74#endif
75
76 MCFOLD ::Abilities& getLayer(::AbilitiesLayer layer);
77
78 MCFOLD ::PermissionsHandler& getPermissionsHandler();
79
80 MCFOLD ::PlayerPermissionLevel getPlayerPermissions() const;
81
82#ifdef LL_PLAT_C
83 MCAPI bool isOperator() const;
84#endif
85
86 MCAPI bool loadSaveData(::CompoundTag const& parentTag);
87
88#ifdef LL_PLAT_C
89 MCAPI void onSwitchToCustom();
90
91 MCAPI bool operator!=(::LayeredAbilities const& rhs) const;
92#endif
93
94 MCAPI ::LayeredAbilities& operator=(::LayeredAbilities const& rhs);
95
96 MCFOLD void setCommandPermissions(::CommandPermissionLevel permissions);
97
98 MCAPI void setPermissions(::PermissionsHandler const& permissions);
99
100 MCAPI void setPlayerPermissions(::PlayerPermissionLevel permissions);
101
102 MCAPI ~LayeredAbilities();
103 // NOLINTEND
104
105public:
106 // static functions
107 // NOLINTBEGIN
108#ifdef LL_PLAT_C
109 MCAPI static ::std::optional<::std::string> getDiff(::LayeredAbilities const& lhs, ::LayeredAbilities const& rhs);
110#endif
111 // NOLINTEND
112
113public:
114 // static variables
115 // NOLINTBEGIN
116 MCAPI static ::std::string const& DIFF_LAYER_AT();
117 // NOLINTEND
118
119public:
120 // constructor thunks
121 // NOLINTBEGIN
122 MCAPI void* $ctor();
123
124 MCAPI void* $ctor(::LayeredAbilities const& other);
125 // NOLINTEND
126
127public:
128 // destructor thunk
129 // NOLINTBEGIN
130 MCFOLD void $dtor();
131 // NOLINTEND
132};
Definition Abilities.h:15
Definition Ability.h:5
Definition CompoundTag.h:23
Definition PermissionsHandler.h:16