Skip to content
LeviMC
English
AutoLightDark
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 // member functions
39 // NOLINTBEGIN
40 MCNAPI ~Descriptions();
41 // NOLINTEND
42
43 public:
44 // destructor thunk
45 // NOLINTBEGIN
46 MCNAPI void $dtor();
47 // NOLINTEND
48 };
49
50 using TerrainAdjustmentToken = ::std::shared_ptr<bool>;
51
52public:
53 // member variables
54 // NOLINTBEGIN
55 ::ll::TypedStorage<8, 64, ::std::unordered_map<::ChunkPos, ::FeatureTerrainAdjustments::Descriptions>>
56 mDescriptionsToProcess;
57 ::ll::TypedStorage<8, 8, ::std::shared_mutex> mMutex;
58 // NOLINTEND
59
60public:
61 // member functions
62 // NOLINTBEGIN
63 MCNAPI ::std::shared_ptr<bool> _insertDescriptions(
64 ::std::vector<::ChunkPos> const& intersectingChunks,
65 ::std::function<void(::FeatureTerrainAdjustments::Descriptions&, ::std::weak_ptr<bool>)>&& modifyFn
66 );
67
68 MCNAPI ::FeatureTerrainAdjustments::Descriptions at(::ChunkPos const& chunkPos);
69
71
72 MCNAPI ::std::shared_ptr<bool>
73 setBeardAndShaver(::BoundingBox const& bb, int deltaY, float minBeardWidth, float maxBeardWidth);
74
75 MCNAPI ::std::shared_ptr<bool> setBeardifier(::BoundingBox const& bb, int deltaY);
76
77 MCNAPI ::std::shared_ptr<bool> setBury(::BoundingBox const& bb);
78 // NOLINTEND
79
80public:
81 // static functions
82 // NOLINTBEGIN
83 MCNAPI static float calculateContribution(
85 ::BlockPos const& currentPos,
86 float noiseValue
87 );
88 // NOLINTEND
89
90public:
91 // static variables
92 // NOLINTBEGIN
93 MCNAPI static ::BeardKernel& mBeardKernel();
94 // NOLINTEND
95};
Definition BeardAndShaverDescription.h:13
Definition BeardDescription.h:13
Definition BlockPos.h:14
Definition BoundingBox.h:13
Definition BuryDescription.h:8
Definition ChunkPos.h:13
Definition FeatureTerrainAdjustments.h:19
static MCAPI float calculateContribution(::FeatureTerrainAdjustments::Descriptions const &descriptions, ::BlockPos const &currentPos, float noiseValue)
MCAPI ::std::shared_ptr< bool > setBeardifier(::BoundingBox const &bb, int deltaY)
MCAPI ::std::shared_ptr< bool > _insertDescriptions(::std::vector<::ChunkPos > const &intersectingChunks, ::std::function< void(::FeatureTerrainAdjustments::Descriptions &, ::std::weak_ptr< bool >)> &&modifyFn)
MCAPI void garbageCollectDescriptions()
MCAPI ::std::shared_ptr< bool > setBury(::BoundingBox const &bb)
MCAPI ::std::shared_ptr< bool > setBeardAndShaver(::BoundingBox const &bb, int deltaY, float minBeardWidth, float maxBeardWidth)
MCAPI::FeatureTerrainAdjustments::Descriptions at(::ChunkPos const &chunkPos)
static MCAPI ::BeardKernel & mBeardKernel()
Definition BeardKernel.h:5
Definition FeatureTerrainAdjustments.h:27