Skip to content
LeviMC
English
AutoLightDark
LeviLamina
Loading...
Searching...
No Matches
ScatterFeature.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/game_refs/WeakRef.h"
7#include "mc/deps/shared_types/v1_21_10/scatter_params/CoordinateEvaluationOrder.h"
8#include "mc/world/level/ScatterParams.h"
9#include "mc/world/level/levelgen/feature/IFeature.h"
10
11// auto generated forward declare list
12// clang-format off
13class BlockPos;
14namespace SharedTypes::Legacy { struct ExpressionNode; }
15namespace SharedTypes::v1_21_10 { struct CoordinateRangeData; }
16namespace SharedTypes::v1_21_10 { struct ScatterChanceData; }
17namespace SharedTypes::v1_21_10 { struct ScatterParamsData; }
18// clang-format on
19
20class ScatterFeature : public ::IFeature {
21public:
22 // member variables
23 // NOLINTBEGIN
24 ::ll::TypedStorage<8, 24, ::WeakRef<::IFeature>> mFeatureToScatter;
25 ::ll::TypedStorage<8, 216, ::ScatterParams> mScatterParams;
26 ::ll::TypedStorage<1, 1, bool> mProjectInputToFloor;
27 // NOLINTEND
28
29public:
30 // virtual functions
31 // NOLINTBEGIN
32 virtual ~ScatterFeature() /*override*/ = default;
33
34 virtual ::std::optional<::BlockPos> place(::IFeature::PlacementContext const& context) const /*override*/;
35 // NOLINTEND
36
37public:
38 // member functions
39 // NOLINTBEGIN
42 ::SharedTypes::v1_21_10::CoordinateEvaluationOrder const& coordinateEvaluationOrder
43 );
44
47 ::SharedTypes::v1_21_10::CoordinateRangeData const& coordinateRangeData
48 );
49
52 ::SharedTypes::Legacy::ExpressionNode const& expressionNode
53 );
54
57 ::SharedTypes::v1_21_10::CoordinateRangeData const& coordinateRangeData
58 );
59
62 ::SharedTypes::Legacy::ExpressionNode const& expressionNode
63 );
64
67 ::SharedTypes::v1_21_10::CoordinateRangeData const& coordinateRangeData
68 );
69
72 ::SharedTypes::Legacy::ExpressionNode const& expressionNode
73 );
74
75 MCNAPI void addIterations(
78 );
79
80 MCNAPI void addScatterChance(
83 );
84
87 ::SharedTypes::Legacy::ExpressionNode const& scatterChance
88 );
89
90 MCNAPI void addScatterParams(::ScatterParams const& scatterParams);
91 // NOLINTEND
92
93public:
94 // virtual function thunks
95 // NOLINTBEGIN
96 MCNAPI ::std::optional<::BlockPos> $place(::IFeature::PlacementContext const& context) const;
97
98
99 // NOLINTEND
100
101public:
102 // vftables
103 // NOLINTBEGIN
104 MCNAPI static void** $vftable();
105 // NOLINTEND
106};
Definition BlockPos.h:14
Definition IFeature.h:18
Definition ScatterFeature.h:20
MCAPI void addCoordinateEvaluationOrder(::SharedTypes::v1_21_10::ScatterParamsData &scatterParamsData, ::SharedTypes::v1_21_10::CoordinateEvaluationOrder const &coordinateEvaluationOrder)
MCAPI void addCoordinateRangeDataZExpression(::SharedTypes::v1_21_10::ScatterParamsData &scatterParamsData, ::SharedTypes::Legacy::ExpressionNode const &expressionNode)
MCAPI ::std::optional<::BlockPos > $place(::IFeature::PlacementContext const &context) const
MCAPI void addScatterChanceExpression(::SharedTypes::v1_21_10::ScatterParamsData &scatterParamsData, ::SharedTypes::Legacy::ExpressionNode const &scatterChance)
MCAPI void addIterations(::SharedTypes::v1_21_10::ScatterParamsData &scatterParamsData, ::SharedTypes::Legacy::ExpressionNode const &iterations)
static MCAPI void ** $vftable()
MCAPI void addCoordinateRangeDataYExpression(::SharedTypes::v1_21_10::ScatterParamsData &scatterParamsData, ::SharedTypes::Legacy::ExpressionNode const &expressionNode)
MCAPI void addCoordinateRangeDataXExpression(::SharedTypes::v1_21_10::ScatterParamsData &scatterParamsData, ::SharedTypes::Legacy::ExpressionNode const &expressionNode)
MCAPI void addScatterParams(::ScatterParams const &scatterParams)
MCAPI void addCoordinateRangeDataY(::SharedTypes::v1_21_10::ScatterParamsData &scatterParamsData, ::SharedTypes::v1_21_10::CoordinateRangeData const &coordinateRangeData)
MCAPI void addCoordinateRangeDataX(::SharedTypes::v1_21_10::ScatterParamsData &scatterParamsData, ::SharedTypes::v1_21_10::CoordinateRangeData const &coordinateRangeData)
MCAPI void addCoordinateRangeDataZ(::SharedTypes::v1_21_10::ScatterParamsData &scatterParamsData, ::SharedTypes::v1_21_10::CoordinateRangeData const &coordinateRangeData)
MCAPI void addScatterChance(::SharedTypes::v1_21_10::ScatterParamsData &scatterParamsData, ::SharedTypes::v1_21_10::ScatterChanceData const &scatterChance)
Definition ScatterParams.h:26
Definition IFeature.h:26
Definition ExpressionNode.h:12
Definition CoordinateRangeData.h:16
Definition ScatterChanceData.h:15
Definition ScatterParamsData.h:18
Definition context.h:5