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 // vIndex: 0
33 virtual ~ScatterFeature() /*override*/ = default;
34
35 // vIndex: 1
36 virtual ::std::optional<::BlockPos> place(::IFeature::PlacementContext const& context) const /*override*/;
37 // NOLINTEND
38
39public:
40 // member functions
41 // NOLINTBEGIN
42 MCAPI ::SharedTypes::v1_21_10::CoordinateRangeData
43 _createCoordinateRangeDataFromExpression(::SharedTypes::Legacy::ExpressionNode const& expressionNode);
44
45 MCAPI void addCoordinateEvaluationOrder(
47 ::SharedTypes::v1_21_10::CoordinateEvaluationOrder const& coordinateEvaluationOrder
48 );
49
50 MCAPI void addCoordinateRangeDataX(
52 ::SharedTypes::v1_21_10::CoordinateRangeData const& coordinateRangeData
53 );
54
55 MCAPI void addCoordinateRangeDataXExpression(
57 ::SharedTypes::Legacy::ExpressionNode const& expressionNode
58 );
59
60 MCAPI void addCoordinateRangeDataY(
62 ::SharedTypes::v1_21_10::CoordinateRangeData const& coordinateRangeData
63 );
64
65 MCAPI void addCoordinateRangeDataYExpression(
67 ::SharedTypes::Legacy::ExpressionNode const& expressionNode
68 );
69
70 MCAPI void addCoordinateRangeDataZ(
72 ::SharedTypes::v1_21_10::CoordinateRangeData const& coordinateRangeData
73 );
74
75 MCAPI void addCoordinateRangeDataZExpression(
77 ::SharedTypes::Legacy::ExpressionNode const& expressionNode
78 );
79
80 MCAPI void addIterations(
83 );
84
85 MCAPI void addScatterChance(
88 );
89
90 MCAPI void addScatterChanceExpression(
92 ::SharedTypes::Legacy::ExpressionNode const& scatterChance
93 );
94
95 MCAPI void addScatterParams(::ScatterParams const& scatterParams);
96 // NOLINTEND
97
98public:
99 // virtual function thunks
100 // NOLINTBEGIN
101 MCAPI ::std::optional<::BlockPos> $place(::IFeature::PlacementContext const& context) const;
102 // NOLINTEND
103
104public:
105 // vftables
106 // NOLINTBEGIN
107 MCNAPI static void** $vftable();
108 // NOLINTEND
109};
Definition BlockPos.h:17
Definition ExpressionNode.h:28
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:13
Definition ScatterChanceData.h:12
Definition ScatterParamsData.h:12
Definition context.h:5