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 void _handleBlockPostPlacedStructure(
40 ::BlockSource& region,
41 ::BlockPos const& localPosition,
42 ::BlockPos const& worldPosition,
43 ::Rotation rotation
44 );
45
46 MCAPI void _setBlockPlacementInfo(::BlockPos const& pos, ::StructureBlockPlacementInfo const& info);
47
48 MCAPI ::StructurePlacementNeighbors getNeighbors(::BlockPos const& relativePos, ::Rotation rotation);
49
50 MCAPI void
51 setBlockPlacementInfo(::BlockPos const& pos, ::Block const& block, ::NeighborAwareBlockUpdateType updateType);
52
53 MCAPI ~StructurePlacementInfo();
54 // NOLINTEND
55
56public:
57 // constructor thunks
58 // NOLINTBEGIN
59 MCAPI void* $ctor(::BlockPos const& size, ::BlockPos const& origin);
60 // NOLINTEND
61
62public:
63 // destructor thunk
64 // NOLINTBEGIN
65 MCAPI void $dtor();
66 // NOLINTEND
67};
Definition BlockPos.h:19
Definition BlockSource.h:68
Definition Block.h:43
Definition StructureBlockPlacementInfo.h:9
Definition StructurePlacementNeighbors.h:11