LeviLamina
Loading...
Searching...
No Matches
ScatterParams.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/debug/log/LogArea.h"
7#include "mc/deps/shared_types/v1_21_10/scatter_params/CoordinateEvaluationOrder.h"
8#include "mc/deps/shared_types/v1_21_10/scatter_params/RandomDistributionType.h"
9#include "mc/molang/MolangVersion.h"
10#include "mc/util/IntRange.h"
11#include "mc/util/molang/ExpressionNode.h"
12#include "mc/util/molang/ExpressionOp.h"
13#include "mc/world/level/BlockPos.h"
14
15// auto generated forward declare list
16// clang-format off
17class Random;
18class RenderParams;
20struct BiomeStringList;
21namespace SharedTypes::v1_21_10 { struct CoordinateRangeData; }
22namespace SharedTypes::v1_21_10 { struct ScatterParamsData; }
23// clang-format on
24
26public:
27 // ScatterParams inner types declare
28 // clang-format off
29 struct ChanceInformation;
30 struct CoordinateRange;
32 // clang-format on
33
34 // ScatterParams inner types define
36 public:
37 // member variables
38 // NOLINTBEGIN
39 ::ll::TypedStorage<8, 8, ::RenderParams&> mMolangParams;
40 ::ll::TypedStorage<8, 8, ::Random&> mRandom;
41 ::ll::TypedStorage<8, 8, ::ScatterParams const&> mScatterParams;
42 ::ll::TypedStorage<4, 12, ::BlockPos> mOrigin;
43 ::ll::TypedStorage<4, 4, uint> mIterations;
44 // NOLINTEND
45
46 public:
47 // prevent constructor by default
48 ScatteredPositions& operator=(ScatteredPositions const&);
51 };
52
53 enum class NeedsMolang : int {
54 No = 0,
55 Yes = 1,
56 };
57
59 public:
60 // member variables
61 // NOLINTBEGIN
62 ::ll::TypedStorage<8, 16, ::ExpressionNode> mMinOrSingleValue;
63 ::ll::TypedStorage<8, 16, ::ExpressionNode> mMax;
64 ::ll::TypedStorage<4, 4, uint> mGridStepSize;
65 ::ll::TypedStorage<4, 4, uint> mGridOffset;
66 ::ll::TypedStorage<4, 4, ::SharedTypes::v1_21_10::RandomDistributionType> mDistribution;
67 ::ll::TypedStorage<4, 12, ::std::optional<::IntRange>> mFastPathRange;
68 // NOLINTEND
69
70 public:
71 // prevent constructor by default
72 CoordinateRange& operator=(CoordinateRange const&);
73
74 public:
75 // member functions
76 // NOLINTBEGIN
78
80
82
83 MCNAPI int _eval(int evaluatedMin, int evaluatedMax, uint& stepIndex, ::Random& random) const;
84
86 // NOLINTEND
87
88 public:
89 // constructor thunks
90 // NOLINTBEGIN
91 MCNAPI void* $ctor();
92
94
96 // NOLINTEND
97
98 public:
99 // destructor thunk
100 // NOLINTBEGIN
101 MCNAPI void $dtor();
102 // NOLINTEND
103 };
104
106 public:
107 // member variables
108 // NOLINTBEGIN
109 ::ll::TypedStorage<8, 16, ::ExpressionNode> mChancePercent;
110 ::ll::TypedStorage<4, 4, int> mNumerator;
111 ::ll::TypedStorage<4, 4, int> mDenominator;
112 // NOLINTEND
113
114 public:
115 // member functions
116 // NOLINTBEGIN
118 // NOLINTEND
119
120 public:
121 // destructor thunk
122 // NOLINTBEGIN
123 MCNAPI void $dtor();
124 // NOLINTEND
125 };
126
127public:
128 // member variables
129 // NOLINTBEGIN
130 ::ll::TypedStorage<8, 168, ::ScatterParams::CoordinateRange[3]> mCoordinateRanges;
131 ::ll::TypedStorage<4, 4, ::SharedTypes::v1_21_10::CoordinateEvaluationOrder> mEvalOrder;
132 ::ll::TypedStorage<8, 24, ::ScatterParams::ChanceInformation> mScatterChance;
133 ::ll::TypedStorage<8, 16, ::ExpressionNode> mIterations;
134 // NOLINTEND
135
136public:
137 // prevent constructor by default
140
141public:
142 // member functions
143 // NOLINTBEGIN
145 ::std::string const& coordinateName,
146 ::ScatterParams::CoordinateRange& coordinateRange,
147 ::SharedTypes::v1_21_10::CoordinateRangeData const& coordinateRangeData,
148 ::MolangVersion const& molangVersion,
149 ::LogArea logArea
150 );
151
152 MCNAPI ::BlockPos
153 _getPos(uint stepIndex, ::BlockPos const& origin, ::Random& random, ::RenderParams& molangParams) const;
154
155 MCNAPI void fillFromData(
157 ::MolangVersion molangVersion,
158 ::LogArea logArea
159 );
160
161 MCNAPI ::ScatterParams& operator=(::ScatterParams const&);
162
163 MCNAPI void
165
166 MCNAPI ::ScatterParams::ScatteredPositions
167 scatter(::RenderParams& molangParams, ::BlockPos const& pos, ::Random& random) const;
168
170
172 // NOLINTEND
173
174public:
175 // static functions
176 // NOLINTBEGIN
177 MCNAPI static void _parseExpressionNodeFloat(
178 ::ExpressionOp op,
179 ::std::string const& expression,
180 ::ExpressionNode& node,
181 float defaultValue
182 );
183
184 MCNAPI static void initMolangParams(::RenderParams& molangParams, ::BlockPos const& pos, ::Random& random);
185 // NOLINTEND
186
187public:
188 // destructor thunk
189 // NOLINTBEGIN
190 MCNAPI void $dtor();
191 // NOLINTEND
192};
Definition BlockPos.h:18
Definition ExpressionNode.h:27
Definition Random.h:11
Definition RenderParams.h:30
Definition ScatterParams.h:35
Definition ScatterParams.h:25
static MCAPI void _parseExpressionNodeFloat(::ExpressionOp op, ::std::string const &expression, ::ExpressionNode &node, float defaultValue)
MCAPI void $dtor()
MCAPI::ScatterParams & operator=(::ScatterParams const &)
MCAPI void serializeScatterParamData(::BiomeScatterParamData &data, ::BiomeStringList &stringList) const
MCAPI ~ScatterParams()
MCAPI::BlockPos _getPos(uint stepIndex, ::BlockPos const &origin, ::Random &random, ::RenderParams &molangParams) const
MCAPI void fillFromData(::SharedTypes::v1_21_10::ScatterParamsData const &data, ::MolangVersion molangVersion, ::LogArea logArea)
MCAPI void _fillCoordinateRangeFromData(::std::string const &coordinateName, ::ScatterParams::CoordinateRange &coordinateRange, ::SharedTypes::v1_21_10::CoordinateRangeData const &coordinateRangeData, ::MolangVersion const &molangVersion, ::LogArea logArea)
MCAPI void readSerializedScatterParamData(::BiomeScatterParamData const &data, ::BiomeStringList const &stringList)
static MCAPI void initMolangParams(::RenderParams &molangParams, ::BlockPos const &pos, ::Random &random)
MCAPI::ScatterParams::ScatteredPositions scatter(::RenderParams &molangParams, ::BlockPos const &pos, ::Random &random) const
Definition BiomeScatterParamData.h:14
Definition BiomeStringList.h:13
Definition ScatterParams.h:105
Definition ScatterParams.h:58
MCAPI void * $ctor(::ScatterParams::CoordinateRange const &)
MCAPI CoordinateRange(::ScatterParams::CoordinateRange const &)
MCAPI CoordinateRange(::ScatterParams::CoordinateRange &&)
MCAPI void * $ctor(::ScatterParams::CoordinateRange &&)
MCAPI int _eval(int evaluatedMin, int evaluatedMax, uint &stepIndex, ::Random &random) const
Definition CoordinateRangeData.h:13
Definition ScatterParamsData.h:12