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