Skip to content
LeviMC
English
AutoLightDark
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 MCNAPI StructurePlacementInfo(::BlockPos const& size, ::BlockPos const& origin);
36
38
40
41 MCNAPI ::StructureBlockPlacementInfo const& getBlockPlacementInfo(::BlockPos const& pos) const;
42
43 MCNAPI ::StructurePlacementNeighbors getNeighbors(::BlockPos const& relativePos, ::Rotation rotation);
44
46 ::BlockSource& region,
47 ::BlockPos const& startPos,
48 ::BlockPos const& endPos,
49 ::Rotation rotation,
50 ::std::function<::BlockPos(::BlockPos const&)> const& getWorldPosition,
51 ::std::function<void(::BlockPos const&, ::BlockPos const&)> const& preHandleBlock
52 );
53
54 MCNAPI void
55 setBlockPlacementInfo(::BlockPos const& pos, ::Block const& block, ::NeighborAwareBlockUpdateType updateType);
56
58 // NOLINTEND
59
60public:
61 // constructor thunks
62 // NOLINTBEGIN
63 MCNAPI void* $ctor(::BlockPos const& size, ::BlockPos const& origin);
64 // NOLINTEND
65
66public:
67 // destructor thunk
68 // NOLINTBEGIN
69 MCNAPI void $dtor();
70 // NOLINTEND
71};
Definition BlockPos.h:14
Definition BlockSource.h:72
Definition Block.h:42
Definition StructureBlockPlacementInfo.h:9
MCAPI::StructureBlockPlacementInfo const & getBlockPlacementInfo(::BlockPos const &pos) const
MCAPI::StructurePlacementNeighbors getNeighbors(::BlockPos const &relativePos, ::Rotation rotation)
MCAPI void setBlockPlacementInfo(::BlockPos const &pos, ::Block const &block, ::NeighborAwareBlockUpdateType updateType)
MCAPI void * $ctor(::BlockPos const &size, ::BlockPos const &origin)
MCAPI void _setBlockPlacementInfo(::BlockPos const &pos, ::StructureBlockPlacementInfo const &info)
MCAPI void handlePostPlacedStructureForArea(::BlockSource &region, ::BlockPos const &startPos, ::BlockPos const &endPos, ::Rotation rotation, ::std::function<::BlockPos(::BlockPos const &)> const &getWorldPosition, ::std::function< void(::BlockPos const &, ::BlockPos const &)> const &preHandleBlock)
MCAPI uint _findOrInsertPlacementIndex(::StructureBlockPlacementInfo const &info)
MCAPI StructurePlacementInfo(::BlockPos const &size, ::BlockPos const &origin)
Definition StructurePlacementNeighbors.h:11