LeviLamina
Loading...
Searching...
No Matches
RuinedPortalPiece.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/world/level/levelgen/structure/BoundingBox.h"
7#include "mc/world/level/levelgen/structure/StructurePiece.h"
8#include "mc/world/level/levelgen/structure/StructurePieceType.h"
9
10// auto generated forward declare list
11// clang-format off
12class Biome;
13class BiomeRegistry;
14class Block;
15class BlockPos;
16class BlockSource;
17class Random;
19// clang-format on
20
21class RuinedPortalPiece : public ::StructurePiece {
22public:
23 // RuinedPortalPiece inner types declare
24 // clang-format off
25 struct LocalRegistry;
26 // clang-format on
27
28 // RuinedPortalPiece inner types define
29 struct LocalRegistry {
30 public:
31 // member variables
32 // NOLINTBEGIN
33 ::ll::TypedStorage<8, 8, ::Block const&> mCrackedStoneBrick;
34 ::ll::TypedStorage<8, 8, ::Block const&> mMossyStoneBrick;
35 ::ll::TypedStorage<8, 8, ::Block const&> mPolishedBlackstoneBricks;
36 ::ll::TypedStorage<8, 8, ::Block const&> mCrackedPolishedBlackstoneBricks;
37 ::ll::TypedStorage<8, 8, ::Block const&> mAirBlock;
38 // NOLINTEND
39
40 public:
41 // prevent constructor by default
42 LocalRegistry& operator=(LocalRegistry const&);
43 LocalRegistry(LocalRegistry const&);
44 LocalRegistry();
45 };
46
47public:
48 // member variables
49 // NOLINTBEGIN
50 ::ll::TypedStorage<4, 4, int> mStructureOriginX;
51 ::ll::TypedStorage<4, 4, int> mStructureOriginZ;
52 ::ll::TypedStorage<4, 24, ::BoundingBox> mStructureBounds;
53 ::ll::TypedStorage<8, 8, ::BiomeRegistry&> mBiomeRegistry;
54 ::ll::TypedStorage<8, 8, ::Biome const&> mBiome;
55 ::ll::TypedStorage<8, 40, ::RuinedPortalPiece::LocalRegistry> mLocalRegistry;
56 // NOLINTEND
57
58public:
59 // prevent constructor by default
60 RuinedPortalPiece& operator=(RuinedPortalPiece const&);
61 RuinedPortalPiece(RuinedPortalPiece const&);
62 RuinedPortalPiece();
63
64public:
65 // virtual functions
66 // NOLINTBEGIN
67 virtual ::StructurePieceType getType() const /*override*/;
68
69 virtual bool postProcess(::BlockSource& region, ::Random& random, ::BoundingBox const& chunkBB) /*override*/;
70 // NOLINTEND
71
72public:
73 // member functions
74 // NOLINTBEGIN
75 MCAPI RuinedPortalPiece(int west, int north, ::BiomeRegistry& registry, ::Biome const& biome, short surfaceHeight);
76
77 MCAPI void _addNetherrackDripColumn(::Random& random, ::BlockSource& region, ::BlockPos pos);
78
79 MCAPI void _addNetherrackDripColumnsBelowPortal(::Random& random, ::BlockSource& region);
80
81 MCAPI bool _hasAtLeastOneCornerUnderWater(::BlockSource& region);
82
83 MCAPI void _maybeReplaceBlock(
84 ::Random& random,
85 ::BlockSource& region,
86 ::BlockPos pos,
87 ::PortalEnvironmentModifiers const& modifiers
88 );
89
90 MCAPI void _maybeReplaceFullStoneBlock(
91 ::Random& random,
92 ::BlockSource& region,
93 ::BlockPos pos,
94 ::Block const& block,
95 ::PortalEnvironmentModifiers const& modifiers
96 );
97
98 MCAPI void _maybeReplaceGoldBlock(::Random& random, ::BlockSource& region, ::BlockPos pos);
99
100 MCAPI void
101 _maybeReplaceIronBars(::BlockSource& region, ::BlockPos pos, ::PortalEnvironmentModifiers const& modifiers);
102
103 MCAPI void _maybeReplaceLava(
104 ::Random& random,
105 ::BlockSource& region,
106 ::BlockPos pos,
107 ::PortalEnvironmentModifiers const& modifiers
108 );
109
110 MCAPI void _maybeReplaceNetherrack(
111 ::Random& random,
112 ::BlockSource& region,
113 ::BlockPos pos,
114 ::PortalEnvironmentModifiers const& modifiers
115 );
116
117 MCAPI void _maybeReplaceObsidian(::Random& random, ::BlockSource& region, ::BlockPos pos);
118
119 MCAPI void _maybeReplaceSlab(
120 ::Random& random,
121 ::BlockSource& region,
122 ::BlockPos pos,
123 ::PortalEnvironmentModifiers const& modifiers
124 );
125
126 MCAPI void _maybeReplaceStairs(
127 ::Random& random,
128 ::BlockSource& region,
129 ::BlockPos pos,
130 ::PortalEnvironmentModifiers const& modifiers
131 );
132
133 MCAPI void _maybeReplaceWall(
134 ::Random& random,
135 ::BlockSource& region,
136 ::BlockPos pos,
137 ::PortalEnvironmentModifiers const& modifiers
138 );
139
140 MCAPI void _moveStructureBoundsToSuitableY(
141 ::Random& random,
142 ::BlockSource& region,
143 ::PortalEnvironmentModifiers const& modifiers
144 );
145
146 MCAPI void
147 _spreadNetherrack(::Random& random, ::BlockSource& region, ::PortalEnvironmentModifiers const& modifiers);
148
149 MCAPI bool _threeCornersOnSolidGround(::BlockSource& region, ::PortalEnvironmentModifiers const& modifiers);
150 // NOLINTEND
151
152public:
153 // static functions
154 // NOLINTBEGIN
155 MCAPI static bool _isLava(::BlockSource& region, ::BlockPos pos);
156
157 MCAPI static bool _willLavaFlowIn(::BlockSource& region, ::BlockPos pos);
158 // NOLINTEND
159
160public:
161 // constructor thunks
162 // NOLINTBEGIN
163 MCAPI void* $ctor(int west, int north, ::BiomeRegistry& registry, ::Biome const& biome, short surfaceHeight);
164 // NOLINTEND
165
166public:
167 // virtual function thunks
168 // NOLINTBEGIN
169 MCAPI ::StructurePieceType $getType() const;
170
171 MCAPI bool $postProcess(::BlockSource& region, ::Random& random, ::BoundingBox const& chunkBB);
172
173
174 // NOLINTEND
175
176public:
177 // vftables
178 // NOLINTBEGIN
179 MCNAPI static void** $vftable();
180 // NOLINTEND
181};
Definition BiomeRegistry.h:37
Definition Biome.h:24
Definition BlockPos.h:21
Definition BlockSource.h:73
Definition Block.h:69
Definition BoundingBox.h:13
Definition Random.h:10
static MCAPI void ** $vftable()
Definition StructurePiece.h:21
Definition PortalEnvironmentModifiers.h:5
Definition RuinedPortalPiece.h:29