LeviLamina
Loading...
Searching...
No Matches
PoolAliasBinding.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/math/SimpleWeightedEntry.h"
7
8// auto generated forward declare list
9// clang-format off
10class BlockPos;
11class IRandom;
12// clang-format on
13
15public:
16 // PoolAliasBinding inner types declare
17 // clang-format off
18 class PoolAliasLookup;
19 // clang-format on
20
21 // PoolAliasBinding inner types define
22 using Ptr = ::std::shared_ptr<::PoolAliasBinding>;
23
24 using BoundAliasGroup = ::std::vector<::std::shared_ptr<::PoolAliasBinding>>;
25
27 public:
28 // member variables
29 // NOLINTBEGIN
30 ::ll::TypedStorage<8, 24, ::std::vector<::std::pair<::std::string, ::std::string>>> mLookupTable;
31 // NOLINTEND
32
33 public:
34 // member functions
35 // NOLINTBEGIN
36 MCAPI ~PoolAliasLookup();
37 // NOLINTEND
38
39 public:
40 // destructor thunk
41 // NOLINTBEGIN
42 MCFOLD void $dtor();
43 // NOLINTEND
44 };
45
46public:
47 // virtual functions
48 // NOLINTBEGIN
49 // vIndex: 0
50 virtual void appendResolvedAliases(::IRandom&, ::PoolAliasBinding::PoolAliasLookup&) const = 0;
51
52 // vIndex: 1
53 virtual void forAllTargets(::std::function<void(::std::string const&, ::std::string const&)> const&) const = 0;
54
55 // vIndex: 2
56 virtual ~PoolAliasBinding() = default;
57 // NOLINTEND
58
59public:
60 // static functions
61 // NOLINTBEGIN
62 MCAPI static ::std::shared_ptr<::PoolAliasBinding> direct(::std::string&& id, ::std::string&& target);
63
64 MCAPI static ::std::shared_ptr<::PoolAliasBinding>
65 random(::std::string&& id, ::std::vector<::Core::SimpleWeightedEntry<::std::string>>&& targets);
66
67 MCAPI static ::std::shared_ptr<::PoolAliasBinding> randomGroup(
68 ::std::vector<::Core::SimpleWeightedEntry<::std::vector<::std::shared_ptr<::PoolAliasBinding>>>>&& targets
69 );
70
71 MCAPI static ::PoolAliasBinding::PoolAliasLookup resolvePoolAliases(
72 ::std::vector<::std::shared_ptr<::PoolAliasBinding>> const& aliases,
73 ::BlockPos const& structureStartPosition,
74 int64 levelSeed
75 );
76 // NOLINTEND
77
78public:
79 // virtual function thunks
80 // NOLINTBEGIN
81
82 // NOLINTEND
83
84public:
85 // vftables
86 // NOLINTBEGIN
87 MCNAPI static void** $vftable();
88 // NOLINTEND
89};
Definition BlockPos.h:17
Definition IRandom.h:13
Definition PoolAliasBinding.h:26
Definition PoolAliasBinding.h:14
static MCAPI void ** $vftable()
Definition SimpleWeightedEntry.h:8