Skip to content
LeviMC
English
AutoLightDark
LeviLamina
Loading...
Searching...
No Matches
RaidBossComponent.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/legacy/ActorUniqueID.h"
7#include "mc/safety/RedactableString.h"
8#include "mc/world/actor/ai/util/BossEventUpdateType.h"
9#include "mc/world/phys/AABB.h"
10
11// auto generated forward declare list
12// clang-format off
13class Actor;
14class Mob;
15class Player;
16class Village;
17// clang-format on
18
19class RaidBossComponent {
20public:
21 // member variables
22 // NOLINTBEGIN
23 ::ll::TypedStorage<8, 16, ::std::weak_ptr<::Village>> mVillage;
24 ::ll::TypedStorage<8, 8, ::ActorUniqueID> mOwnerID;
25 ::ll::TypedStorage<8, 72, ::Bedrock::Safety::RedactableString> mName;
26 ::ll::TypedStorage<8, 32, ::std::string> mProgress;
27 ::ll::TypedStorage<4, 4, int> mPlayersRegistered;
28 ::ll::TypedStorage<1, 1, bool> mWaveStarted;
29 ::ll::TypedStorage<1, 1, bool> mRaidInProgress;
30 ::ll::TypedStorage<1, 1, bool> mHealthBarVisible;
31 ::ll::TypedStorage<4, 4, float> mHealthPercent;
32 ::ll::TypedStorage<4, 24, ::AABB> mBossBarVisibleBounds;
33 ::ll::TypedStorage<8, 8, ::std::chrono::steady_clock::time_point> mLastPlayerUpdate;
34 // NOLINTEND
35
36public:
37 // prevent constructor by default
38 RaidBossComponent& operator=(RaidBossComponent const&);
39 RaidBossComponent();
40
41public:
42 // member functions
43 // NOLINTBEGIN
44 MCNAPI RaidBossComponent(::RaidBossComponent const&);
45
46 MCNAPI void _broadcastBossEvent(::BossEventUpdateType type, ::Actor& owner);
47
48 MCNAPI void _handleRegisterPlayers(::Actor& owner);
49
50 MCNAPI void _sendBossEvent(::BossEventUpdateType type, ::Player& player);
51
52 MCNAPI ::Bedrock::Safety::RedactableString getName();
53
54 MCNAPI bool isWithinRange(::Mob const& player);
55
56 MCNAPI void registerPlayer(::Player* player);
57
58 MCNAPI void resendRaidBossEventData(::Player& player);
59
60 MCNAPI void sendRegistryMessages(::Actor& owner);
61
62 MCNAPI bool tryRemoveBoss(::Actor& owner, ::Player& player);
63
64 MCNAPI void unRegisterPlayer(::Player* player);
65
66 MCNAPI void updateHealthBarVisible(bool visible, ::Actor& owner);
67 // NOLINTEND
68
69public:
70 // constructor thunks
71 // NOLINTBEGIN
72 MCNAPI void* $ctor(::RaidBossComponent const&);
73 // NOLINTEND
74};
Definition Actor.h:116
Definition Mob.h:58
Definition Player.h:131
MCAPI void _broadcastBossEvent(::BossEventUpdateType type, ::Actor &owner)
MCAPI void registerPlayer(::Player *player)
MCAPI void unRegisterPlayer(::Player *player)
MCAPI RaidBossComponent(::RaidBossComponent const &)
MCAPI void _handleRegisterPlayers(::Actor &owner)
MCAPI::Bedrock::Safety::RedactableString getName()
MCAPI void updateHealthBarVisible(bool visible, ::Actor &owner)
MCAPI void sendRegistryMessages(::Actor &owner)
MCAPI void * $ctor(::RaidBossComponent const &)
MCAPI bool isWithinRange(::Mob const &player)
MCAPI void _sendBossEvent(::BossEventUpdateType type, ::Player &player)
MCAPI void resendRaidBossEventData(::Player &player)
MCAPI bool tryRemoveBoss(::Actor &owner, ::Player &player)
Definition Village.h:31