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
12class Actor;
13class BlockSource;
14class DataLoadHelper;
15class ILevel;
16class SaveContext;
17// clang-format on
18
19class BeehiveBlockActor : public ::BlockActor {
20public:
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
53public:
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
60public:
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
72public:
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
88public:
89 // static variables
90 // NOLINTBEGIN
91 MCAPI_C static uint const& MAX_OCCUPANCY();
92 // NOLINTEND
93
94public:
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
106public:
107 // vftables
108 // NOLINTBEGIN
109 MCAPI static void** $vftable();
110 // NOLINTEND
111};
Definition Actor.h:105
Definition BeehiveBlockActor.h:19
Definition BlockSource.h:68
Definition CompoundTag.h:23
Definition DataLoadHelper.h:20
Definition ILevel.h:214
Definition SaveContext.h:5
Definition ActorDefinitionIdentifier.h:15
Definition BeehiveBlockActor.h:27