LeviLamina
Loading...
Searching...
No Matches
StructurePlacementInfo.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/util/Rotation.h"
7#include "mc/world/level/BlockPos.h"
8#include "mc/world/level/chunk/NeighborAwareBlockUpdateType.h"
9
10// auto generated forward declare list
11// clang-format off
12class Block;
13class BlockSource;
16// clang-format on
17
18class StructurePlacementInfo {
19public:
20 // member variables
21 // NOLINTBEGIN
22 ::ll::TypedStorage<4, 12, ::BlockPos const> mSize;
23 ::ll::TypedStorage<4, 12, ::BlockPos const> mOrigin;
24 ::ll::TypedStorage<8, 24, ::std::vector<uint>> mBlockVolume;
25 ::ll::TypedStorage<8, 24, ::std::vector<::StructureBlockPlacementInfo>> mBlockPlacementInfos;
26 // NOLINTEND
27
28public:
29 // prevent constructor by default
30 StructurePlacementInfo();
31
32public:
33 // member functions
34 // NOLINTBEGIN
35 MCAPI StructurePlacementInfo(::BlockPos const& size, ::BlockPos const& origin);
36
37 MCAPI uint _findOrInsertPlacementIndex(::StructureBlockPlacementInfo const& info);
38
39 MCAPI ::StructureBlockPlacementInfo const& getBlockPlacementInfo(::BlockPos const& pos) const;
40
41 MCAPI ::StructurePlacementNeighbors getNeighbors(::BlockPos const& relativePos, ::Rotation rotation);
42
43 MCAPI void handlePostPlacedStructureForArea(
44 ::BlockSource& region,
45 ::BlockPos const& startPos,
46 ::BlockPos const& endPos,
47 ::Rotation rotation,
48 ::std::function<::BlockPos(::BlockPos const&)> const& getWorldPosition,
49 ::std::function<void(::BlockPos const&, ::BlockPos const&)> const& preHandleBlock
50 );
51
52 MCAPI void
53 setBlockPlacementInfo(::BlockPos const& pos, ::Block const& block, ::NeighborAwareBlockUpdateType updateType);
54
55 MCAPI ~StructurePlacementInfo();
56 // NOLINTEND
57
58public:
59 // constructor thunks
60 // NOLINTBEGIN
61 MCAPI void* $ctor(::BlockPos const& size, ::BlockPos const& origin);
62 // NOLINTEND
63
64public:
65 // destructor thunk
66 // NOLINTBEGIN
67 MCFOLD void $dtor();
68 // NOLINTEND
69};
Definition BlockPos.h:21
Definition BlockSource.h:73
Definition Block.h:69
Definition StructureBlockPlacementInfo.h:9
Definition StructurePlacementNeighbors.h:11