LeviLamina
Loading...
Searching...
No Matches
SpawnPlacements.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/shared_types/legacy/Difficulty.h"
7#include "mc/world/level/spawn/EntityPredicateToken.h"
8#include "mc/world/level/spawn/EntitySpawnReason.h"
9#include "mc/world/level/spawn/FinalizeMobToken.h"
10#include "mc/world/level/spawn/HeightmapToken.h"
11#include "mc/world/level/spawn/ObstructionPredicateToken.h"
12#include "mc/world/level/spawn/PlacementTypeToken.h"
13
14// auto generated forward declare list
15// clang-format off
16class Block;
17class BlockPos;
18class BlockSource;
19class IRandom;
20class Mob;
21namespace br::spawn { class PlacementType; }
22namespace br::spawn { struct EntityType; }
23namespace br::spawn::transform { class PropertyBag; }
24// clang-format on
25
26namespace br::spawn {
27
29public:
30 // SpawnPlacements inner types declare
31 // clang-format off
32 struct EntityRecord;
33 class PlacementRecord;
34 // clang-format on
35
36 // SpawnPlacements inner types define
38 public:
39 // member variables
40 // NOLINTBEGIN
41 ::ll::TypedStorage<8, 8, ::br::spawn::SpawnPlacements&> mParent;
42 ::ll::TypedStorage<8, 8, uint64> mIdx;
43 // NOLINTEND
44
45 public:
46 // prevent constructor by default
47 PlacementRecord& operator=(PlacementRecord const&);
50 };
51
52 struct EntityRecord {
53 public:
54 // member variables
55 // NOLINTBEGIN
56 ::ll::TypedStorage<1, 1, ::br::spawn::HeightmapToken> mHeightmap;
57 ::ll::TypedStorage<2, 2, ::br::spawn::PlacementTypeToken> mPlacement;
58 ::ll::TypedStorage<2, 2, ::br::spawn::EntityPredicateToken> mEntity;
59 ::ll::TypedStorage<2, 2, ::br::spawn::ObstructionPredicateToken> mObstruction;
60 ::ll::TypedStorage<2, 2, ::br::spawn::FinalizeMobToken> mFinalizeMob;
61 // NOLINTEND
62 };
63
64public:
65 // member variables
66 // NOLINTBEGIN
67 ::ll::TypedStorage<8, 24, ::std::vector<::std::tuple<::std::string, ::br::spawn::SpawnPlacements::EntityRecord>>>
68 mEntityRecords;
69 ::ll::TypedStorage<
70 8,
71 24,
72 ::std::vector<::std::tuple<
73 ::std::string,
74 ::std::function<bool(
77 ::br::spawn::EntitySpawnReason&,
80 )>>>>
81 mEntityPredicates;
82 ::ll::TypedStorage<
83 8,
84 24,
85 ::std::vector<::std::tuple<
86 ::std::string,
87 ::std::function<bool(::BlockSource&, ::Mob const&, ::br::spawn::EntityType const&)>>>>
88 mObstructionPredicates;
89 ::ll::TypedStorage<
90 8,
91 24,
92 ::std::vector<::std::tuple<
93 ::std::string,
94 ::std::function<void(
95 ::BlockSource const&,
96 ::SharedTypes::Legacy::Difficulty,
97 ::br::spawn::EntitySpawnReason,
98 ::Mob&,
99 ::IRandom&,
101 )>>>>
102 mFinalizeMobTransform;
103 ::ll::TypedStorage<8, 24, ::std::vector<::std::tuple<::std::string, ::std::function<bool(::Block const&)>>>>
104 mHeightmapTypes;
105 ::ll::TypedStorage<8, 24, ::std::vector<::std::tuple<::std::string, ::std::unique_ptr<::br::spawn::PlacementType>>>>
106 mPlacementTypes;
107 ::ll::
108 TypedStorage<8, 64, ::std::unordered_map<::std::string, ::std::tuple<::br::spawn::EntityPredicateToken, bool>>>
109 mReloadableEntitySpawnKeys;
110 ::ll::TypedStorage<
111 8,
112 64,
113 ::std::unordered_map<::std::string, ::std::tuple<::br::spawn::ObstructionPredicateToken, bool>>>
114 mReloadableObstructionKeys;
115 // NOLINTEND
116
117public:
118 // member functions
119 // NOLINTBEGIN
121
122 MCNAPI bool isEntityPredicateKeyRecordable(::std::string_view key) const;
123
124 MCNAPI bool isObstructionPredicateKeyRecordable(::std::string_view key) const;
125
126 MCNAPI ::br::spawn::SpawnPlacements::PlacementRecord record(
127 ::std::string_view typeId,
128 ::br::spawn::PlacementTypeToken placementType,
129 ::br::spawn::HeightmapToken heightmap,
130 ::br::spawn::EntityPredicateToken spawnPlacement
131 );
132
133 MCNAPI ::br::spawn::EntityPredicateToken record(
134 ::std::string_view key,
135 ::std::function<bool(
138 ::br::spawn::EntitySpawnReason&,
140 ::IRandom&
141 )> predicate
142 );
143
144 MCNAPI ::br::spawn::ObstructionPredicateToken record(
145 ::std::string_view key,
146 ::std::function<bool(::BlockSource&, ::Mob const&, ::br::spawn::EntityType const&)> predicate
147 );
148
149 MCNAPI ::br::spawn::EntityPredicateToken recordReloadable(
150 ::std::string_view key,
151 ::std::function<bool(
154 ::br::spawn::EntitySpawnReason&,
156 ::IRandom&
157 )> predicate
158 );
159
160 MCNAPI ::br::spawn::ObstructionPredicateToken recordReloadable(
161 ::std::string_view key,
162 ::std::function<bool(::BlockSource&, ::Mob const&, ::br::spawn::EntityType const&)> predicate
163 );
164
166 // NOLINTEND
167
168public:
169 // constructor thunks
170 // NOLINTBEGIN
171 MCNAPI void* $ctor();
172 // NOLINTEND
173
174public:
175 // destructor thunk
176 // NOLINTBEGIN
177 MCNAPI void $dtor();
178 // NOLINTEND
179};
180
181} // namespace br::spawn
Definition BlockPos.h:18
Definition BlockSource.h:67
Definition Block.h:38
Definition IRandom.h:10
Definition Mob.h:47
Definition PropertyBag.h:8
Definition SpawnPlacements.h:37
Definition SpawnPlacements.h:28
MCAPI::br::spawn::ObstructionPredicateToken record(::std::string_view key, ::std::function< bool(::BlockSource &, ::Mob const &, ::br::spawn::EntityType const &)> predicate)
MCAPI::br::spawn::EntityPredicateToken record(::std::string_view key, ::std::function< bool(::br::spawn::EntityType const &, ::BlockSource &, ::br::spawn::EntitySpawnReason &, ::BlockPos, ::IRandom &)> predicate)
MCAPI::br::spawn::SpawnPlacements::PlacementRecord record(::std::string_view typeId, ::br::spawn::PlacementTypeToken placementType, ::br::spawn::HeightmapToken heightmap, ::br::spawn::EntityPredicateToken spawnPlacement)
MCAPI::br::spawn::ObstructionPredicateToken recordReloadable(::std::string_view key, ::std::function< bool(::BlockSource &, ::Mob const &, ::br::spawn::EntityType const &)> predicate)
MCAPI::br::spawn::EntityPredicateToken recordReloadable(::std::string_view key, ::std::function< bool(::br::spawn::EntityType const &, ::BlockSource &, ::br::spawn::EntitySpawnReason &, ::BlockPos, ::IRandom &)> predicate)
MCAPI bool isEntityPredicateKeyRecordable(::std::string_view key) const
MCAPI bool isObstructionPredicateKeyRecordable(::std::string_view key) const
Definition PropertyBag.h:7
Definition EntityType.h:16
Definition SpawnPlacements.h:52