LeviLamina
Loading...
Searching...
No Matches
OreFeature.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4#include "mc/world/level/block/Block.h"
5#include "mc/world/level/block/BlockType.h"
6#include "mc/world/level/levelgen/feature/ReplaceRule.h"
7
8// auto generated inclusion list
9#include "mc/deps/core/math/Vec3.h"
10#include "mc/deps/core/threading/InstancedThreadLocal.h"
11#include "mc/world/level/levelgen/feature/IFeature.h"
12
13// auto generated forward declare list
14// clang-format off
15class Block;
16class BlockPos;
17class BlockType;
18struct ReplaceRule;
19// clang-format on
20
21class OreFeature : public ::IFeature {
22public:
23 // OreFeature inner types declare
24 // clang-format off
26 struct SphereData;
27 struct Helper;
28 // clang-format on
29
30 // OreFeature inner types define
32 public:
33 // member variables
34 // NOLINTBEGIN
35 ::ll::TypedStorage<8, 24, ::std::vector<::std::pair<::Block const*, ::std::vector<::BlockType const*>>>> mRules;
36 // NOLINTEND
37
38 public:
39 // member functions
40 // NOLINTBEGIN
41 MCAPI void setRules(::std::vector<::ReplaceRule> const& replaceRules);
42 // NOLINTEND
43 };
44
45 struct SphereData {
46 public:
47 // member variables
48 // NOLINTBEGIN
49 ::ll::TypedStorage<4, 12, ::Vec3> mCenter;
50 ::ll::TypedStorage<4, 4, float> mHalfRSqr;
51 ::ll::TypedStorage<4, 4, float> mHalfR;
52 // NOLINTEND
53 };
54
55 struct Helper {
56 public:
57 // member variables
58 // NOLINTBEGIN
59 ::ll::TypedStorage<8, 24, ::OreFeature::ReplaceRulesAccelerator> mRulesAccelerator;
60 ::ll::TypedStorage<8, 24, ::std::vector<::OreFeature::SphereData>> mAllSpheres;
61 ::ll::TypedStorage<8, 24, ::std::vector<::OreFeature::SphereData*>> mSpheres;
62 ::ll::TypedStorage<4, 4, uint> mActiveSpheres;
63 ::ll::TypedStorage<1, 1, bool> mInitialized;
64 // NOLINTEND
65
66 public:
67 // member functions
68 // NOLINTBEGIN
69 MCAPI ~Helper();
70 // NOLINTEND
71
72 public:
73 // destructor thunk
74 // NOLINTBEGIN
75 MCAPI void $dtor();
76 // NOLINTEND
77 };
78
79public:
80 // member variables
81 // NOLINTBEGIN
82 ::ll::TypedStorage<4, 4, int> mCount;
83 ::ll::TypedStorage<4, 4, float> mCountf;
84 ::ll::TypedStorage<4, 4, float> mCountfInv;
85 ::ll::TypedStorage<4, 4, float> mDiscardChanceOnAirExposure;
86 ::ll::TypedStorage<8, 24, ::std::vector<::ReplaceRule>> mReplaceRules;
87 ::ll::TypedStorage<
88 8,
89 168,
91 mHelper;
92 // NOLINTEND
93
94public:
95 // virtual functions
96 // NOLINTBEGIN
97 virtual ~OreFeature() /*override*/;
98
99 virtual ::std::optional<::BlockPos> place(::IFeature::PlacementContext const& context) const /*override*/;
100 // NOLINTEND
101
102public:
103 // member functions
104 // NOLINTBEGIN
105 MCAPI OreFeature();
106
107 MCAPI OreFeature(int count, ::std::vector<::ReplaceRule>&& replaceRules);
108 // NOLINTEND
109
110public:
111 // constructor thunks
112 // NOLINTBEGIN
113 MCAPI void* $ctor();
114
115 MCAPI void* $ctor(int count, ::std::vector<::ReplaceRule>&& replaceRules);
116 // NOLINTEND
117
118public:
119 // destructor thunk
120 // NOLINTBEGIN
121 MCAPI void $dtor();
122 // NOLINTEND
123
124public:
125 // virtual function thunks
126 // NOLINTBEGIN
127 MCAPI ::std::optional<::BlockPos> $place(::IFeature::PlacementContext const& context) const;
128
129
130 // NOLINTEND
131
132public:
133 // vftables
134 // NOLINTBEGIN
135 MCNAPI static void** $vftable();
136 // NOLINTEND
137};
Definition InstancedThreadLocal.h:8
Definition BlockPos.h:21
Definition BlockType.h:84
Definition Block.h:69
Definition IFeature.h:19
static MCAPI void ** $vftable()
Definition IFeature.h:27
Definition OreFeature.h:55
Definition OreFeature.h:31
Definition OreFeature.h:45
Definition ReplaceRule.h:8
Definition context.h:5