LeviLamina
Loading...
Searching...
No Matches
BeehiveBlockActor.h
1
#pragma once
2
3
#include "mc/_HeaderOutputPredefine.h"
4
5
// auto generated inclusion list
6
#include "mc/nbt/CompoundTag.h"
7
#include "mc/world/actor/ActorDefinitionIdentifier.h"
8
#include "mc/world/level/block/actor/BlockActor.h"
9
10
// auto generated forward declare list
11
// clang-format off
12
class
Actor
;
13
class
BlockSource
;
14
class
DataLoadHelper
;
15
class
ILevel
;
16
class
SaveContext
;
17
// clang-format on
18
19
class
BeehiveBlockActor
:
public
::BlockActor {
20
public
:
21
// BeehiveBlockActor inner types declare
22
// clang-format off
23
struct
Occupant
;
24
// clang-format on
25
26
// BeehiveBlockActor inner types define
27
struct
Occupant {
28
public
:
29
// member variables
30
// NOLINTBEGIN
31
::ll::TypedStorage<8, 176, ::ActorDefinitionIdentifier> mActorIdentifier;
32
::ll::TypedStorage<8, 24, ::CompoundTag> mSaveData;
33
::ll::TypedStorage<4, 4, uint> mTicksLeftToStay;
34
// NOLINTEND
35
36
public
:
37
// prevent constructor by default
38
Occupant();
39
40
public
:
41
// member functions
42
// NOLINTBEGIN
43
MCAPI Occupant(
::ActorDefinitionIdentifier
actorIdentifier,
::CompoundTag
saveData, uint ticksLeftToStay);
44
// NOLINTEND
45
46
public
:
47
// constructor thunks
48
// NOLINTBEGIN
49
MCAPI
void
* $ctor(
::ActorDefinitionIdentifier
actorIdentifier,
::CompoundTag
saveData, uint ticksLeftToStay);
50
// NOLINTEND
51
};
52
53
public
:
54
// member variables
55
// NOLINTBEGIN
56
::ll::TypedStorage<8, 24, ::std::vector<::BeehiveBlockActor::Occupant>> mOccupants;
57
::ll::TypedStorage<1, 1, bool> mShouldSpawnBees;
58
// NOLINTEND
59
60
public
:
61
// virtual functions
62
// NOLINTBEGIN
63
virtual
void
tick(
::BlockSource
& region)
/*override*/
;
64
65
virtual
void
load(
::ILevel
& level,
::CompoundTag
const
& tag,
::DataLoadHelper
& dataLoadHelper)
/*override*/
;
66
67
virtual
bool
save(
::CompoundTag
& tag,
::SaveContext
const
& saveContext)
const
/*override*/
;
68
69
virtual
~BeehiveBlockActor
()
/*override*/
=
default
;
70
// NOLINTEND
71
72
public
:
73
// member functions
74
// NOLINTBEGIN
75
MCAPI ::Actor* _revive(
::BlockSource
& region,
::BeehiveBlockActor::Occupant
const
& occupant, uchar spawnDirection);
76
77
MCAPI
bool
_tickOccupant(
::BlockSource
& region,
::BeehiveBlockActor::Occupant
& occupant);
78
79
MCAPI
void
_trySpawnBees(
::BlockSource
& region);
80
81
MCAPI
void
evictAll(
::BlockSource
& region,
bool
angry);
82
83
MCAPI
void
saveUserData(
::CompoundTag
& tag)
const
;
84
85
MCAPI
bool
tryAdmit(
::Actor
& actor);
86
// NOLINTEND
87
88
public
:
89
// static variables
90
// NOLINTBEGIN
91
MCAPI_C
static
uint
const
& MAX_OCCUPANCY();
92
// NOLINTEND
93
94
public
:
95
// virtual function thunks
96
// NOLINTBEGIN
97
MCAPI
void
$tick(
::BlockSource
& region);
98
99
MCAPI
void
$load(
::ILevel
& level,
::CompoundTag
const
& tag,
::DataLoadHelper
& dataLoadHelper);
100
101
MCAPI
bool
$save(
::CompoundTag
& tag,
::SaveContext
const
& saveContext)
const
;
102
103
104
// NOLINTEND
105
106
public
:
107
// vftables
108
// NOLINTBEGIN
109
MCAPI
static
void
** $vftable();
110
// NOLINTEND
111
};
Actor
Definition
Actor.h:105
BeehiveBlockActor
Definition
BeehiveBlockActor.h:19
BlockSource
Definition
BlockSource.h:68
CompoundTag
Definition
CompoundTag.h:23
DataLoadHelper
Definition
DataLoadHelper.h:20
ILevel
Definition
ILevel.h:214
SaveContext
Definition
SaveContext.h:5
ActorDefinitionIdentifier
Definition
ActorDefinitionIdentifier.h:15
BeehiveBlockActor::Occupant
Definition
BeehiveBlockActor.h:27
src
mc
world
level
block
actor
BeehiveBlockActor.h
Generated on
for LeviLamina by
1.16.1