LeviLamina
Loading...
Searching...
No Matches
WorldGenRandom.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/math/IRandom.h"
7#include "mc/deps/core/math/IRandomSeeded.h"
8
9// auto generated forward declare list
10// clang-format off
11class BlockPos;
13class SimpleRandom;
14class XoroshiroRandom;
15struct Seed128Bit;
16// clang-format on
17
18namespace br::worldgen {
19
20struct WorldGenRandom : public ::IRandom, public ::IRandomSeeded {
21public:
22 // member variables
23 // NOLINTBEGIN
24 ::ll::TypedStorage<8, 56, ::std::variant<::SimpleRandom, ::XoroshiroRandom>> mSource;
25 // NOLINTEND
26
27public:
28 // virtual functions
29 // NOLINTBEGIN
30 // vIndex: 2
31 virtual int nextInt() /*override*/;
32
33 // vIndex: 1
34 virtual int nextInt(int bound) /*override*/;
35
36 // vIndex: 3
37 virtual int64 nextLong() /*override*/;
38
39 // vIndex: 4
40 virtual bool nextBoolean() /*override*/;
41
42 // vIndex: 5
43 virtual float nextFloat() /*override*/;
44
45 // vIndex: 6
46 virtual double nextDouble() /*override*/;
47
48 // vIndex: 7
49 virtual double nextGaussianDouble() /*override*/;
50
51 // vIndex: 8
52 virtual void consumeCount(uint count) /*override*/;
53
54 // vIndex: 9
55 virtual ::std::unique_ptr<::IRandom> fork() /*override*/;
56
57 // vIndex: 10
58 virtual ::std::unique_ptr<::IPositionalRandomFactory> forkPositional() /*override*/;
59
60 // vIndex: 2
61 virtual void setSeed(int64 seed) /*override*/;
62
63 // vIndex: 1
64 virtual void setSeed(::Seed128Bit seed) /*override*/;
65
66 // vIndex: 3
67 virtual int64 seed64() const /*override*/;
68
69 // vIndex: 4
70 virtual ::Seed128Bit seed128() const /*override*/;
71
72 // vIndex: 0
73 virtual ~WorldGenRandom() /*override*/;
74 // NOLINTEND
75
76public:
77 // member functions
78 // NOLINTBEGIN
79 MCAPI ::br::worldgen::WorldGenRandom forkPositional(::BlockPos pos);
80
81 MCAPI ::br::worldgen::WorldGenRandom& setLargeFeatureSeed(int64 seed, int chunkX, int chunkZ);
82 // NOLINTEND
83
84public:
85 // static functions
86 // NOLINTBEGIN
87 MCAPI static ::br::worldgen::WorldGenRandom createDecoration(int64 seed, int chunkX, int chunkZ);
88 // NOLINTEND
89
90public:
91 // destructor thunk
92 // NOLINTBEGIN
93 MCAPI void $dtor();
94 // NOLINTEND
95
96public:
97 // virtual function thunks
98 // NOLINTBEGIN
99 MCAPI int $nextInt();
100
101 MCAPI int $nextInt(int bound);
102
103 MCAPI int64 $nextLong();
104
105 MCAPI bool $nextBoolean();
106
107 MCAPI float $nextFloat();
108
109 MCAPI double $nextDouble();
110
111 MCAPI double $nextGaussianDouble();
112
113 MCAPI void $consumeCount(uint count);
114
115 MCAPI ::std::unique_ptr<::IRandom> $fork();
116
117 MCFOLD ::std::unique_ptr<::IPositionalRandomFactory> $forkPositional();
118
119 MCAPI void $setSeed(int64 seed);
120
121 MCAPI void $setSeed(::Seed128Bit seed);
122
123 MCAPI int64 $seed64() const;
124
125 MCAPI ::Seed128Bit $seed128() const;
126 // NOLINTEND
127
128public:
129 // vftables
130 // NOLINTBEGIN
131 MCAPI static void** $vftableForIRandom();
132
133 MCAPI static void** $vftableForIRandomSeeded();
134 // NOLINTEND
135};
136
137} // namespace br::worldgen
Definition BlockPos.h:18
Definition IPositionalRandomFactory.h:11
Definition IRandomSeeded.h:10
Definition IRandom.h:10
Definition SimpleRandom.h:15
Definition XoroshiroRandom.h:15
Definition Seed128Bit.h:5
Definition WorldGenRandom.h:20