LeviLamina
Loading...
Searching...
No Matches
FeatureTerrainAdjustments.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4#include "mc/world/level/ChunkPos.h"
5
6// auto generated inclusion list
7#include "mc/world/level/ChunkPos.h"
8
9// auto generated forward declare list
10// clang-format off
13class BlockPos;
14class BoundingBox;
15class BuryDescription;
16struct BeardKernel;
17// clang-format on
18
20public:
21 // FeatureTerrainAdjustments inner types declare
22 // clang-format off
23 struct Descriptions;
24 // clang-format on
25
26 // FeatureTerrainAdjustments inner types define
27 struct Descriptions {
28 public:
29 // member variables
30 // NOLINTBEGIN
31 ::ll::TypedStorage<8, 24, ::std::vector<::std::pair<::BeardDescription, ::std::weak_ptr<bool>>>> mBeardifiers;
32 ::ll::TypedStorage<8, 24, ::std::vector<::std::pair<::BeardAndShaverDescription, ::std::weak_ptr<bool>>>>
33 mBeardAndShavers;
34 ::ll::TypedStorage<8, 24, ::std::vector<::std::pair<::BuryDescription, ::std::weak_ptr<bool>>>> mBurys;
35 // NOLINTEND
36
37 public:
38 // prevent constructor by default
39 Descriptions& operator=(Descriptions const&);
40 Descriptions(Descriptions const&);
41
42 public:
43 // member functions
44 // NOLINTBEGIN
45 MCAPI Descriptions();
46
47 MCAPI ::FeatureTerrainAdjustments::Descriptions& operator=(::FeatureTerrainAdjustments::Descriptions&& other);
48
49 MCAPI ~Descriptions();
50 // NOLINTEND
51
52 public:
53 // constructor thunks
54 // NOLINTBEGIN
55 MCFOLD void* $ctor();
56 // NOLINTEND
57
58 public:
59 // destructor thunk
60 // NOLINTBEGIN
61 MCAPI void $dtor();
62 // NOLINTEND
63 };
64
65 using TerrainAdjustmentToken = ::std::shared_ptr<bool>;
66
67public:
68 // member variables
69 // NOLINTBEGIN
70 ::ll::TypedStorage<8, 64, ::std::unordered_map<::ChunkPos, ::FeatureTerrainAdjustments::Descriptions>>
71 mDescriptionsToProcess;
72 ::ll::TypedStorage<8, 8, ::std::shared_mutex> mMutex;
73 // NOLINTEND
74
75public:
76 // member functions
77 // NOLINTBEGIN
78 MCAPI ::std::shared_ptr<bool> _insertDescriptions(
79 ::std::vector<::ChunkPos> const& intersectingChunks,
80 ::std::function<void(::FeatureTerrainAdjustments::Descriptions&, ::std::weak_ptr<bool>)>&& modifyFn
81 );
82
83 MCAPI ::FeatureTerrainAdjustments::Descriptions at(::ChunkPos const& chunkPos);
84
85 MCAPI void garbageCollectDescriptions();
86
87 MCAPI ::std::shared_ptr<bool>
88 setBeardAndShaver(::BoundingBox const& bb, int deltaY, float minBeardWidth, float maxBeardWidth);
89
90 MCAPI ::std::shared_ptr<bool> setBeardifier(::BoundingBox const& bb, int deltaY);
91
92 MCAPI ::std::shared_ptr<bool> setBury(::BoundingBox const& bb);
93
95 // NOLINTEND
96
97public:
98 // static functions
99 // NOLINTBEGIN
100 MCAPI static float calculateContribution(
102 ::BlockPos const& currentPos,
103 float noiseValue
104 );
105
106 MCAPI static ::BeardKernel& getBeardKernel();
107
108 MCAPI static bool shouldDoTerrainAdjustments(::FeatureTerrainAdjustments::Descriptions const& descriptions);
109 // NOLINTEND
110
111public:
112 // static variables
113 // NOLINTBEGIN
114 MCAPI static ::BeardKernel& mBeardKernel();
115 // NOLINTEND
116
117public:
118 // destructor thunk
119 // NOLINTBEGIN
120 MCAPI void $dtor();
121 // NOLINTEND
122};
Definition BeardAndShaverDescription.h:14
Definition BeardDescription.h:14
Definition BlockPos.h:21
Definition BoundingBox.h:13
Definition BuryDescription.h:8
Definition ChunkPos.h:11
Definition FeatureTerrainAdjustments.h:19
Definition BeardKernel.h:5
Definition FeatureTerrainAdjustments.h:27