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;
14// clang-format on
15
17public:
18 // PoolAliasBinding inner types declare
19 // clang-format off
20 class PoolAliasLookup;
21 // clang-format on
22
23 // PoolAliasBinding inner types define
25 public:
26 // member variables
27 // NOLINTBEGIN
28 ::ll::TypedStorage<8, 24, ::std::vector<::std::pair<::std::string, ::std::string>>> mLookupTable;
29 // NOLINTEND
30
31 public:
32 // member functions
33 // NOLINTBEGIN
34 MCAPI ::std::string_view getOrDefault(::std::string_view alias, ::std::string_view defaultValue) const;
35
36 MCAPI ~PoolAliasLookup();
37 // NOLINTEND
38
39 public:
40 // destructor thunk
41 // NOLINTBEGIN
42 MCFOLD void $dtor();
43 // NOLINTEND
44 };
45
46 using BoundAliasGroup = ::std::vector<::std::shared_ptr<::PoolAliasBinding>>;
47
48 using Ptr = ::std::shared_ptr<::PoolAliasBinding>;
49
50public:
51 // virtual functions
52 // NOLINTBEGIN
53 virtual void
54 appendResolvedAliases(::IRandom& random, ::PoolAliasBinding::PoolAliasLookup& inOutResolvedAliases) const = 0;
55
56 virtual void forAllTargets(::std::function<void(::std::string const&, ::std::string const&)> const& fn) const = 0;
57
58 virtual ~PoolAliasBinding() = default;
59 // NOLINTEND
60
61public:
62 // static functions
63 // NOLINTBEGIN
64 MCAPI static ::std::shared_ptr<::PoolAliasBinding> direct(::std::string&& id, ::std::string&& target);
65
66 MCAPI static ::std::shared_ptr<::PoolAliasBinding>
67 random(::std::string&& id, ::std::vector<::Core::SimpleWeightedEntry<::std::string>>&& targets);
68
69 MCAPI static ::std::shared_ptr<::PoolAliasBinding> randomGroup(
70 ::std::vector<::Core::SimpleWeightedEntry<::std::vector<::std::shared_ptr<::PoolAliasBinding>>>>&& targets
71 );
72
73 MCAPI static void registerTargetsAsPools(
76 ::std::string_view fallback,
77 ::std::vector<::std::shared_ptr<::PoolAliasBinding>> const& aliasBindings
78 );
79
80 MCAPI static ::PoolAliasBinding::PoolAliasLookup resolvePoolAliases(
81 ::std::vector<::std::shared_ptr<::PoolAliasBinding>> const& aliases,
82 ::BlockPos const& structureStartPosition,
83 int64 levelSeed
84 );
85 // NOLINTEND
86
87public:
88 // virtual function thunks
89 // NOLINTBEGIN
90
91 // NOLINTEND
92};
Definition BlockPos.h:21
Definition IRandom.h:10
Definition JigsawStructureRegistry.h:22
Definition PoolAliasBinding.h:24
Definition PoolAliasBinding.h:16
Definition SimpleWeightedEntry.h:8
Definition StructureTemplateRegistrationContext.h:17
Definition context.h:5