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
25class ScatterParams {
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
35 enum class NeedsMolang : int {
36 No = 0,
37 Yes = 1,
38 };
39
41 public:
42 // member variables
43 // NOLINTBEGIN
44 ::ll::TypedStorage<8, 16, ::ExpressionNode> mChancePercent;
45 ::ll::TypedStorage<4, 4, int> mNumerator;
46 ::ll::TypedStorage<4, 4, int> mDenominator;
47 // NOLINTEND
48
49 public:
50 // member functions
51 // NOLINTBEGIN
53 // NOLINTEND
54
55 public:
56 // destructor thunk
57 // NOLINTBEGIN
58 MCNAPI void $dtor();
59 // NOLINTEND
60 };
61
63 public:
64 // member variables
65 // NOLINTBEGIN
66 ::ll::TypedStorage<8, 16, ::ExpressionNode> mMinOrSingleValue;
67 ::ll::TypedStorage<8, 16, ::ExpressionNode> mMax;
68 ::ll::TypedStorage<4, 4, uint> mGridStepSize;
69 ::ll::TypedStorage<4, 4, uint> mGridOffset;
70 ::ll::TypedStorage<4, 4, ::SharedTypes::v1_21_10::RandomDistributionType> mDistribution;
71 ::ll::TypedStorage<4, 12, ::std::optional<::IntRange>> mFastPathRange;
72 // NOLINTEND
73
74 public:
75 // prevent constructor by default
76 CoordinateRange& operator=(CoordinateRange const&);
77
78 public:
79 // member functions
80 // NOLINTBEGIN
82
84
86
87 MCNAPI int _eval(int evaluatedMin, int evaluatedMax, uint& stepIndex, ::Random& random) const;
88
90 // NOLINTEND
91
92 public:
93 // constructor thunks
94 // NOLINTBEGIN
95 MCNAPI void* $ctor();
96
98
100 // NOLINTEND
101
102 public:
103 // destructor thunk
104 // NOLINTBEGIN
105 MCNAPI void $dtor();
106 // NOLINTEND
107 };
108
109 class ScatteredPositions {
110 public:
111 // member variables
112 // NOLINTBEGIN
113 ::ll::TypedStorage<8, 8, ::RenderParams&> mMolangParams;
114 ::ll::TypedStorage<8, 8, ::Random&> mRandom;
115 ::ll::TypedStorage<8, 8, ::ScatterParams const&> mScatterParams;
116 ::ll::TypedStorage<4, 12, ::BlockPos> mOrigin;
117 ::ll::TypedStorage<4, 4, uint> mIterations;
118 // NOLINTEND
119
120 public:
121 // prevent constructor by default
122 ScatteredPositions& operator=(ScatteredPositions const&);
123 ScatteredPositions(ScatteredPositions const&);
124 ScatteredPositions();
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
138 ScatterParams(ScatterParams const&);
139 ScatterParams();
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:19
Definition ExpressionNode.h:33
Definition Random.h:10
Definition RenderParams.h:30
Definition ScatterParams.h:109
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:17
Definition BiomeStringList.h:13
Definition ScatterParams.h:40
Definition ScatterParams.h:62
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:16
Definition ScatterParamsData.h:18