LeviLamina
Loading...
Searching...
No Matches
SpikeFeature.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/levelgen/feature/Feature.h"
8#include "mc/world/phys/AABB.h"
9
10// auto generated forward declare list
11// clang-format off
12class Actor;
13class BlockSource;
14class Random;
15// clang-format on
16
17class SpikeFeature : public ::Feature {
18public:
19 // SpikeFeature inner types declare
20 // clang-format off
21 class EndSpike;
22 // clang-format on
23
24 // SpikeFeature inner types define
25 class EndSpike {
26 public:
27 // member variables
28 // NOLINTBEGIN
29 ::ll::TypedStorage<4, 4, int const> mCenterX;
30 ::ll::TypedStorage<4, 4, int const> mCenterZ;
31 ::ll::TypedStorage<4, 4, int const> mRadius;
32 ::ll::TypedStorage<4, 4, int const> mHeight;
33 ::ll::TypedStorage<1, 1, bool const> mGuarded;
34 ::ll::TypedStorage<4, 24, ::AABB const> mTopBoundingBox;
35 // NOLINTEND
36
37 public:
38 // prevent constructor by default
39 EndSpike();
40
41 public:
42 // member functions
43 // NOLINTBEGIN
44 MCAPI EndSpike(int centerX, int centerZ, int radius, int height, bool guarded);
45
46 MCFOLD int getCenterX() const;
47
48 MCFOLD int getCenterZ() const;
49
50 MCFOLD int getHeight() const;
51
52 MCAPI ::AABB getTopBoundingBox() const;
53
54 MCAPI bool startsInChunk(::BlockPos const& chunkOrigin) const;
55 // NOLINTEND
56
57 public:
58 // constructor thunks
59 // NOLINTBEGIN
60 MCAPI void* $ctor(int centerX, int centerZ, int radius, int height, bool guarded);
61 // NOLINTEND
62 };
63
64public:
65 // member variables
66 // NOLINTBEGIN
67 ::ll::TypedStorage<8, 8, ::SpikeFeature::EndSpike const&> mSpike;
68 ::ll::TypedStorage<4, 12, ::BlockPos> mCrystalBeamTarget;
69 ::ll::TypedStorage<1, 1, bool> mCrystalInvulnerable;
70 // NOLINTEND
71
72public:
73 // prevent constructor by default
74 SpikeFeature& operator=(SpikeFeature const&);
75 SpikeFeature(SpikeFeature const&);
76 SpikeFeature();
77
78public:
79 // virtual functions
80 // NOLINTBEGIN
81 virtual bool place(::BlockSource& region, ::BlockPos const& pos, ::Random&) const /*override*/;
82 // NOLINTEND
83
84public:
85 // member functions
86 // NOLINTBEGIN
87 MCAPI explicit SpikeFeature(::SpikeFeature::EndSpike const& spike);
88
89 MCAPI bool placeManually(::BlockSource& region, ::BlockPos const& pos, ::Random& random, ::Actor* placer);
90
91 MCAPI void postProcessMobsAt(::BlockSource& region, ::BlockPos const& pos, ::Random& random) const;
92
93 MCFOLD void setCrystalBeamTarget(::BlockPos const& target);
94
95 MCFOLD void setCrystalInvulnerable(bool invulnerable);
96 // NOLINTEND
97
98public:
99 // constructor thunks
100 // NOLINTBEGIN
101 MCAPI void* $ctor(::SpikeFeature::EndSpike const& spike);
102 // NOLINTEND
103
104public:
105 // virtual function thunks
106 // NOLINTBEGIN
107 MCAPI bool $place(::BlockSource& region, ::BlockPos const& pos, ::Random&) const;
108
109
110 // NOLINTEND
111
112public:
113 // vftables
114 // NOLINTBEGIN
115 MCNAPI static void** $vftable();
116 // NOLINTEND
117};
Definition Actor.h:125
Definition BlockPos.h:21
Definition BlockSource.h:73
Definition Random.h:10
Definition SpikeFeature.h:25
static MCAPI void ** $vftable()