LeviLamina
Loading...
Searching...
No Matches
Abilities.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/server/commands/PlayerPermissionLevel.h"
7#include "mc/world/actor/player/AbilitiesIndex.h"
8#include "mc/world/actor/player/Ability.h"
9
10// auto generated forward declare list
11// clang-format off
12class CompoundTag;
13// clang-format on
14
15class Abilities {
16public:
17 // member variables
18 // NOLINTBEGIN
19 ::ll::TypedStorage<4, 240, ::std::array<::Ability, 20>> mAbilities;
20 // NOLINTEND
21
22public:
23 // member functions
24 // NOLINTBEGIN
25 MCAPI_S void _initAbilityOptions();
26
27 MCAPI void addSaveData(::CompoundTag& parentTag) const;
28
29 MCAPI bool loadSaveData(::CompoundTag const& parentTag);
30
31 MCAPI void setFromPermissions(::PlayerPermissionLevel permissions);
32 // NOLINTEND
33
34public:
35 // static functions
36 // NOLINTBEGIN
37 MCAPI static ::Ability const& getDefault(::AbilitiesIndex abilityIndex);
38
39 MCAPI_C static ::std::optional<::std::string> getDiff(::Abilities const& lhs, ::Abilities const& rhs);
40 // NOLINTEND
41
42public:
43 // static variables
44 // NOLINTBEGIN
45 MCAPI static ::std::array<char const*, 20>& ABILITY_NAMES();
46
47 MCAPI static ::std::string const& DIFF_ABILITIY_AT();
48
49 MCAPI static ::Ability& INVALID_ABILITY();
50
51 MCAPI static ::std::string const& SERIALIZATION_TAG();
52 // NOLINTEND
53};
Definition Abilities.h:15
Definition CompoundTag.h:23