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
40 MCAPI ::SharedTypes::v1_21_10::CoordinateRangeData
41 _createCoordinateRangeDataFromExpression(::SharedTypes::Legacy::ExpressionNode const& expressionNode);
42
43 MCAPI void addCoordinateEvaluationOrder(
45 ::SharedTypes::v1_21_10::CoordinateEvaluationOrder const& coordinateEvaluationOrder
46 );
47
48 MCAPI void addCoordinateRangeDataX(
50 ::SharedTypes::v1_21_10::CoordinateRangeData const& coordinateRangeData
51 );
52
53 MCAPI void addCoordinateRangeDataXExpression(
55 ::SharedTypes::Legacy::ExpressionNode const& expressionNode
56 );
57
58 MCAPI void addCoordinateRangeDataY(
60 ::SharedTypes::v1_21_10::CoordinateRangeData const& coordinateRangeData
61 );
62
63 MCAPI void addCoordinateRangeDataYExpression(
65 ::SharedTypes::Legacy::ExpressionNode const& expressionNode
66 );
67
68 MCAPI void addCoordinateRangeDataZ(
70 ::SharedTypes::v1_21_10::CoordinateRangeData const& coordinateRangeData
71 );
72
73 MCAPI void addCoordinateRangeDataZExpression(
75 ::SharedTypes::Legacy::ExpressionNode const& expressionNode
76 );
77
78 MCAPI void addIterations(
81 );
82
83 MCAPI void addScatterChance(
86 );
87
88 MCAPI void addScatterChanceExpression(
90 ::SharedTypes::Legacy::ExpressionNode const& scatterChance
91 );
92
93 MCAPI void addScatterParams(::ScatterParams const& scatterParams);
94 // NOLINTEND
95
96public:
97 // virtual function thunks
98 // NOLINTBEGIN
99 MCAPI ::std::optional<::BlockPos> $place(::IFeature::PlacementContext const& context) const;
100
101
102 // NOLINTEND
103
104public:
105 // vftables
106 // NOLINTBEGIN
107 MCNAPI static void** $vftable();
108 // NOLINTEND
109};
Definition BlockPos.h:19
Definition IFeature.h:18
Definition ScatterFeature.h:20
static MCAPI void ** $vftable()
Definition ScatterParams.h:25
Definition IFeature.h:26
Definition ExpressionNode.h:12
Definition CoordinateRangeData.h:16
Definition ScatterChanceData.h:15
Definition ScatterParamsData.h:18
Definition context.h:5