LeviLamina
Loading...
Searching...
No Matches
BossComponent.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/platform/UUID.h"
7#include "mc/safety/RedactableString.h"
8#include "mc/world/actor/ai/util/BossBarColor.h"
9#include "mc/world/actor/ai/util/BossBarOverlay.h"
10#include "mc/world/actor/ai/util/BossEventUpdateType.h"
11
12// auto generated forward declare list
13// clang-format off
14class Actor;
15class CompoundTag;
16class DataLoadHelper;
17class Player;
18// clang-format on
19
20struct BossComponent {
21public:
22 // member variables
23 // NOLINTBEGIN
24 ::ll::TypedStorage<8, 72, ::Bedrock::Safety::RedactableString> mName;
25 ::ll::TypedStorage<1, 1, bool> mHealthBarVisible;
26 ::ll::TypedStorage<4, 4, float> mHealthPercent;
27 ::ll::TypedStorage<1, 1, bool> mShouldDarkenSky;
28 ::ll::TypedStorage<1, 1, bool> mCreateWorldFog;
29 ::ll::TypedStorage<4, 4, ::BossBarColor> mColor;
30 ::ll::TypedStorage<4, 4, ::BossBarOverlay> mOverlay;
31 ::ll::TypedStorage<4, 4, int> mPlayersRegistered;
32 ::ll::TypedStorage<4, 4, int> mLastHealth;
33 ::ll::TypedStorage<4, 4, int> mHudRangeSquared;
34 ::ll::TypedStorage<8, 8, ::std::chrono::steady_clock::time_point> mLastPlayerUpdate;
35 ::ll::TypedStorage<8, 64, ::std::unordered_map<::mce::UUID, int>> mPlayerParty;
36 // NOLINTEND
37
38public:
39 // member functions
40 // NOLINTBEGIN
41 MCAPI BossComponent();
42
43 MCAPI void _sendBossEvent(::Actor& owner, ::BossEventUpdateType type, ::Player* player);
44
45 MCAPI void addPlayerToParty(::mce::UUID id, int damage);
46
47 MCAPI void broadcastBossEvent(::Actor& owner, ::BossEventUpdateType type);
48
49 MCAPI void handleRegisterPlayers(::Actor& owner);
50
51 MCAPI void readAdditionalSaveData(::Actor& owner, ::CompoundTag const& tag, ::DataLoadHelper& dataLoadHelper);
52
53 MCAPI void registerPlayer(::Actor& owner, ::Player* player);
54
55 MCAPI void resendBossEventData(::Actor& owner, ::Player* player);
56
57 MCAPI void sendDeathTelemetry(::Actor& owner);
58
59 MCAPI void setColor(::Actor& owner, ::BossBarColor color);
60
61 MCAPI void setHealthBarVisible(::Actor& owner, bool visible);
62
63 MCAPI void setHealthPercent(::Actor& owner, float percent);
64
65 MCAPI void setName(::Actor& owner, ::Bedrock::Safety::RedactableString const& name);
66
67 MCAPI bool tryRemoveBoss(::Actor& owner, ::Player& player);
68
69 MCAPI void unRegisterPlayer(::Actor& owner, ::Player* player);
70
71 MCAPI ~BossComponent();
72 // NOLINTEND
73
74public:
75 // constructor thunks
76 // NOLINTBEGIN
77 MCAPI void* $ctor();
78 // NOLINTEND
79
80public:
81 // destructor thunk
82 // NOLINTBEGIN
83 MCFOLD void $dtor();
84 // NOLINTEND
85};
Definition Actor.h:125
Definition RedactableString.h:10
Definition CompoundTag.h:23
Definition DataLoadHelper.h:20
Definition Player.h:137
Definition UUID.h:7