LeviLamina
Loading...
Searching...
No Matches
EndGatewayBlockActor.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/world/level/BlockPos.h"
7#include "mc/world/level/block/actor/BlockActor.h"
8
9// auto generated forward declare list
10// clang-format off
11class Actor;
13class BlockSource;
14class BlockVolume;
15class CompoundTag;
16class DataLoadHelper;
17class ILevel;
18class SaveContext;
19class WorldGenerator;
20// clang-format on
21
22class EndGatewayBlockActor : public ::BlockActor {
23public:
24 // member variables
25 // NOLINTBEGIN
26 ::ll::TypedStorage<4, 4, int> mAge;
27 ::ll::TypedStorage<4, 4, int> mTeleportCooldown;
28 ::ll::TypedStorage<4, 12, ::BlockPos> mExitPortal;
29 ::ll::TypedStorage<1, 1, bool> mNeedsExitGeneration;
30 ::ll::TypedStorage<1, 1, bool> mTeleportTriggered;
31 ::ll::TypedStorage<1, 1, bool> mNeedsExitPositionVerification;
32 ::ll::TypedStorage<1, 1, bool> mExitPositionVerified;
33 ::ll::TypedStorage<1, 1, bool> mEndGatewayBadPosResetRequired;
34 // NOLINTEND
35
36public:
37 // virtual functions
38 // NOLINTBEGIN
39 virtual void load(::ILevel& level, ::CompoundTag const& tag, ::DataLoadHelper& dataLoadHelper) /*override*/;
40
41 virtual bool save(::CompoundTag& tag, ::SaveContext const& saveContext) const /*override*/;
42
43 virtual void tick(::BlockSource& region) /*override*/;
44
45 virtual void onChanged(::BlockSource& region) /*override*/;
46
47 virtual bool hasAlphaLayer() const /*override*/;
48
49 virtual void triggerEvent(int b0, int b1) /*override*/;
50
51 virtual ::std::unique_ptr<::BlockActorDataPacket> _getUpdatePacket(::BlockSource&) /*override*/;
52 // NOLINTEND
53
54public:
55 // member functions
56 // NOLINTBEGIN
57#ifdef LL_PLAT_C
58 MCAPI float getCooldownPercentage() const;
59#endif
60
61 MCAPI int getParticleAmount(::BlockSource& region, ::BlockPos const& pos) const;
62
63#ifdef LL_PLAT_C
64 MCAPI float getSpawnPercentage() const;
65
66 MCAPI bool isCoolingDown() const;
67
68 MCAPI bool isSpawning() const;
69#endif
70
71 MCAPI void setExitPosition(::BlockPos const& exitPosition);
72
73 MCAPI void teleportEntity(::Actor& entity);
74 // NOLINTEND
75
76public:
77 // static functions
78 // NOLINTBEGIN
79 MCAPI static int _getHighestSection(::WorldGenerator& endGenerator, ::BlockVolume& box, ::BlockPos const& pos);
80
81 MCAPI static bool _isSafeToTeleport(::BlockSource const& region, ::BlockPos const& pos);
82
83 MCAPI static ::BlockPos findExitPortal(::WorldGenerator& endGenerator, ::BlockPos const& origin);
84
85 MCAPI static ::BlockPos
86 findTallestBlock(::BlockSource& region, ::BlockPos const& around, int dist, bool allowBedrock);
87
88 MCAPI static ::BlockPos findValidSpawnAround(
89 ::BlockSource& region,
90 ::BlockPos const& around,
91 bool searchForEndStoneOnly,
92 int searchRadius,
93 bool searchAboveBlock
94 );
95 // NOLINTEND
96
97public:
98 // virtual function thunks
99 // NOLINTBEGIN
100 MCAPI void $load(::ILevel& level, ::CompoundTag const& tag, ::DataLoadHelper& dataLoadHelper);
101
102 MCAPI bool $save(::CompoundTag& tag, ::SaveContext const& saveContext) const;
103
104 MCAPI void $tick(::BlockSource& region);
105
106 MCFOLD void $onChanged(::BlockSource& region);
107
108 MCFOLD bool $hasAlphaLayer() const;
109
110 MCAPI void $triggerEvent(int b0, int b1);
111
112 MCFOLD ::std::unique_ptr<::BlockActorDataPacket> $_getUpdatePacket(::BlockSource&);
113
114
115 // NOLINTEND
116
117public:
118 // vftables
119 // NOLINTBEGIN
120 MCNAPI static void** $vftable();
121 // NOLINTEND
122};
Definition Actor.h:125
Definition BlockActorDataPacket.h:19
Definition BlockPos.h:21
Definition BlockSource.h:73
Definition BlockVolume.h:14
Definition CompoundTag.h:23
Definition DataLoadHelper.h:20
Definition EndGatewayBlockActor.h:22
static MCAPI void ** $vftable()
Definition ILevel.h:219
Definition SaveContext.h:5
Definition WorldGenerator.h:31