LeviLamina
Loading...
Searching...
No Matches
BlockPatternMatcher.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/platform/brstd/function_ref.h"
7
8// auto generated forward declare list
9// clang-format off
10class Block;
11class BlockPos;
12class BlockSource;
13struct BlockPatternData;
14struct BuildMatch;
15// clang-format on
16
17class BlockPatternMatcher {
18public:
19 // member variables
20 // NOLINTBEGIN
21 ::ll::TypedStorage<8, 8, ::BlockSource&> mRegion;
22 ::ll::TypedStorage<8, 8, ::BlockPatternData const&> mData;
23 // NOLINTEND
24
25public:
26 // prevent constructor by default
27 BlockPatternMatcher& operator=(BlockPatternMatcher const&);
28 BlockPatternMatcher(BlockPatternMatcher const&);
29 BlockPatternMatcher();
30
31public:
32 // member functions
33 // NOLINTBEGIN
34 MCAPI BlockPatternMatcher(::BlockSource& region, ::BlockPatternData const& data);
35
36 MCAPI ::BuildMatch match(::BlockPos const& pos) const;
37
38 MCAPI ::BuildMatch match(::BlockPos const& pos, int subPattern, int rowIndex) const;
39
40 MCAPI ::BuildMatch match(::BlockPos const& pos, int subPattern, int rowIndex, uchar forward, uchar up) const;
41
42 MCAPI void replaceBlocks(
43 char subPattern,
44 ::BuildMatch const& buildMatch,
45 ::Block const& block,
46 ::brstd::function_ref<void(::Block const&, ::BlockPos const&)> preReplaceCallback
47 ) const;
48 // NOLINTEND
49
50public:
51 // static functions
52 // NOLINTBEGIN
53 MCFOLD static void noopCallback(::Block const&, ::BlockPos const&);
54 // NOLINTEND
55
56public:
57 // constructor thunks
58 // NOLINTBEGIN
59 MCFOLD void* $ctor(::BlockSource& region, ::BlockPatternData const& data);
60 // NOLINTEND
61};
Definition BlockPos.h:21
Definition BlockSource.h:73
Definition Block.h:69
Definition function_ref.h:60
Definition BlockPatternData.h:16
Definition BuildMatch.h:9