3#include "mc/_HeaderOutputPredefine.h"
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"
21namespace SharedTypes::v1_21_10 {
struct CoordinateRangeData; }
22namespace SharedTypes::v1_21_10 {
struct ScatterParamsData; }
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;
53 enum class NeedsMolang :
int {
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;
83 MCNAPI
int _eval(
int evaluatedMin,
int evaluatedMax, uint& stepIndex,
::Random& random)
const;
109 ::ll::TypedStorage<8, 16, ::ExpressionNode> mChancePercent;
110 ::ll::TypedStorage<4, 4, int> mNumerator;
111 ::ll::TypedStorage<4, 4, int> mDenominator;
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;
145 ::std::string
const& coordinateName,
148 ::MolangVersion
const& molangVersion,
157 ::MolangVersion molangVersion,
166 MCNAPI ::ScatterParams::ScatteredPositions
179 ::std::string
const& expression,
Definition ExpressionNode.h:27
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::ScatterParams & operator=(::ScatterParams const &)
MCAPI void serializeScatterParamData(::BiomeScatterParamData &data, ::BiomeStringList &stringList) const
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: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