LeviLamina
Loading...
Searching...
No Matches
BlockTypePlacementProcessor.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/util/Random.h"
7
8// auto generated forward declare list
9// clang-format off
10class Block;
11class BlockPos;
12class BlockSource;
16// clang-format on
17
18class BlockTypePlacementProcessor {
19public:
20 // member variables
21 // NOLINTBEGIN
22 ::ll::TypedStorage<4, 4, float> mChance;
23 ::ll::TypedStorage<8, 2544, ::Random> mRandom;
24 ::ll::TypedStorage<1, 1, bool> mHasGravity;
25 ::ll::TypedStorage<8, 8, ::std::vector<::std::unique_ptr<::StructurePoolBlockRule>> const*> mBlockRules;
26 ::ll::TypedStorage<8, 8, ::std::vector<::std::unique_ptr<::StructurePoolBlockTagRule>> const*> mBlockTagRules;
27 // NOLINTEND
28
29public:
30 // prevent constructor by default
31 BlockTypePlacementProcessor();
32
33public:
34 // member functions
35 // NOLINTBEGIN
36 MCAPI explicit BlockTypePlacementProcessor(::LegacyStructureSettings const& settings);
37
38 MCAPI ::Block const*
39 applyBlockRules(::BlockSource& region, ::BlockPos& pos, ::Block const* blockToPlace, ::BlockPos const& refPos);
40
41 MCAPI ::BlockPos& applyGravity(::BlockSource& region, int yOffset, ::BlockPos& pos) const;
42 // NOLINTEND
43
44public:
45 // constructor thunks
46 // NOLINTBEGIN
47 MCAPI void* $ctor(::LegacyStructureSettings const& settings);
48 // NOLINTEND
49};
Definition BlockPos.h:21
Definition BlockSource.h:73
Definition Block.h:69
Definition LegacyStructureSettings.h:22
Definition StructurePoolBlockRule.h:16
Definition StructurePoolBlockTagRule.h:13