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