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
25 struct Helper;
27 struct SphereData;
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
67public:
68 // member variables
69 // NOLINTBEGIN
70 ::ll::TypedStorage<4, 4, int> mCount;
71 ::ll::TypedStorage<4, 4, float> mCountf;
72 ::ll::TypedStorage<4, 4, float> mCountfInv;
73 ::ll::TypedStorage<4, 4, float> mDiscardChanceOnAirExposure;
74 ::ll::TypedStorage<8, 24, ::std::vector<::ReplaceRule>> mReplaceRules;
75 ::ll::TypedStorage<
76 8,
77 168,
79 mHelper;
80 // NOLINTEND
81
82public:
83 // virtual functions
84 // NOLINTBEGIN
85 // vIndex: 0
86 virtual ~OreFeature() /*override*/ = default;
87
88 // vIndex: 1
89 virtual ::std::optional<::BlockPos> place(::IFeature::PlacementContext const& context) const /*override*/;
90 // NOLINTEND
91
92public:
93 // virtual function thunks
94 // NOLINTBEGIN
95 MCAPI ::std::optional<::BlockPos> $place(::IFeature::PlacementContext const& context) const;
96 // NOLINTEND
97
98public:
99 // vftables
100 // NOLINTBEGIN
101 MCNAPI static void** $vftable();
102 // NOLINTEND
103};
Definition InstancedThreadLocal.h:8
Definition BlockPos.h:17
Definition BlockType.h:84
Definition Block.h:37
Definition IFeature.h:18
Definition OreFeature.h:21
static MCAPI void ** $vftable()
Definition IFeature.h:26
Definition OreFeature.h:55
Definition OreFeature.h:31
Definition OreFeature.h:45
Definition ReplaceRule.h:8
Definition context.h:5