LeviLamina
Loading...
Searching...
No Matches
SpawnGroupRegistry.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/puv/LoadResult.h"
7
8// auto generated forward declare list
9// clang-format off
12class MobSpawnRules;
14class SemVersion;
15class SpawnGroupData;
17// clang-format on
18
20public:
21 // SpawnGroupRegistry inner types define
22 using SpawnGroupRegistryMap = ::std::vector<::std::unique_ptr<::SpawnGroupData>>;
23
24 using SpawnGroupLookupMap = ::std::unordered_map<::std::string, ::SpawnGroupData*>;
25
26 using SpawnRulesHandler =
27 ::std::function<void(::std::string const&, int, ::BiomeFilterGroup&, ::MobSpawnRules&, ::SemVersion const&)>;
28
29public:
30 // member variables
31 // NOLINTBEGIN
32 ::ll::TypedStorage<8, 24, ::std::vector<::std::unique_ptr<::SpawnGroupData>>> mSpawnGroupRegistry;
33 ::ll::TypedStorage<8, 64, ::std::unordered_map<::std::string, ::SpawnGroupData*>> mSpawnGroupLookupMap;
34 ::ll::TypedStorage<8, 8, ::IMinecraftEventing&> mEventing;
35 // NOLINTEND
36
37public:
38 // prevent constructor by default
39 SpawnGroupRegistry& operator=(SpawnGroupRegistry const&);
42
43public:
44 // virtual functions
45 // NOLINTBEGIN
46 // vIndex: 0
47 virtual ~SpawnGroupRegistry() = default;
48 // NOLINTEND
49
50public:
51 // member functions
52 // NOLINTBEGIN
53 MCAPI void _addSpawnRules(::std::string const& identifier, ::MobSpawnRules& spawnRules);
54
55 MCAPI void _getResources(
56 ::ResourcePackManager& resourcePackManager,
57 ::std::function<void(::std::string const&, int, ::BiomeFilterGroup&, ::MobSpawnRules&, ::SemVersion const&)>
58 callback
59 );
60
61 MCAPI ::Puv::LoadResult<::ActorSpawnRuleData>
62 _readJson(::std::string&& data, ::std::unordered_map<::std::string, ::ActorSpawnRuleData>& dataMap);
63
64 MCAPI void readResourceFiles(
65 ::ResourcePackManager& resourcePackManager,
66 ::std::unordered_map<::std::string, ::ActorSpawnRuleData>& dataMap
67 );
68 // NOLINTEND
69
70public:
71 // vftables
72 // NOLINTBEGIN
73 MCAPI static void** $vftable();
74 // NOLINTEND
75};
Definition BiomeFilterGroup.h:13
Definition IMinecraftEventing.h:147
Definition MobSpawnRules.h:21
Definition ResourcePackManager.h:24
Definition SemVersion.h:16
Definition SpawnGroupData.h:10
Definition SpawnGroupRegistry.h:19
Definition ActorSpawnRuleData.h:5