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
23 public:
24 // member variables
25 // NOLINTBEGIN
26 ::ll::TypedStorage<8, 24, ::std::vector<::std::pair<::std::string, ::std::string>>> mLookupTable;
27 // NOLINTEND
28
29 public:
30 // member functions
31 // NOLINTBEGIN
32 MCAPI ~PoolAliasLookup();
33 // NOLINTEND
34
35 public:
36 // destructor thunk
37 // NOLINTBEGIN
38 MCFOLD void $dtor();
39 // NOLINTEND
40 };
41
42 using BoundAliasGroup = ::std::vector<::std::shared_ptr<::PoolAliasBinding>>;
43
44 using Ptr = ::std::shared_ptr<::PoolAliasBinding>;
45
46public:
47 // virtual functions
48 // NOLINTBEGIN
49 virtual void appendResolvedAliases(::IRandom&, ::PoolAliasBinding::PoolAliasLookup&) const = 0;
50
51 virtual void forAllTargets(::std::function<void(::std::string const&, ::std::string const&)> const&) const = 0;
52
53 virtual ~PoolAliasBinding() = default;
54 // NOLINTEND
55
56public:
57 // static functions
58 // NOLINTBEGIN
59 MCAPI static ::std::shared_ptr<::PoolAliasBinding> direct(::std::string&& id, ::std::string&& target);
60
61 MCAPI static ::std::shared_ptr<::PoolAliasBinding>
62 random(::std::string&& id, ::std::vector<::Core::SimpleWeightedEntry<::std::string>>&& targets);
63
64 MCAPI static ::std::shared_ptr<::PoolAliasBinding> randomGroup(
65 ::std::vector<::Core::SimpleWeightedEntry<::std::vector<::std::shared_ptr<::PoolAliasBinding>>>>&& targets
66 );
67
68 MCAPI static ::PoolAliasBinding::PoolAliasLookup resolvePoolAliases(
69 ::std::vector<::std::shared_ptr<::PoolAliasBinding>> const& aliases,
70 ::BlockPos const& structureStartPosition,
71 int64 levelSeed
72 );
73 // NOLINTEND
74
75public:
76 // virtual function thunks
77 // NOLINTBEGIN
78
79 // NOLINTEND
80
81public:
82 // vftables
83 // NOLINTBEGIN
84 MCNAPI static void** $vftable();
85 // NOLINTEND
86};
Definition BlockPos.h:19
Definition IRandom.h:13
Definition PoolAliasBinding.h:22
Definition PoolAliasBinding.h:14
static MCAPI void ** $vftable()
Definition SimpleWeightedEntry.h:8