LeviLamina
Loading...
Searching...
No Matches
NaturalSpawner.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/world/actor/ActorType.h"
7#include "mc/world/actor/spawn_category/Type.h"
8#include "mc/world/level/Spawner.h"
9
10// auto generated forward declare list
11// clang-format off
13class Biome;
14class Block;
15class BlockPos;
16class BlockSource;
17class ChunkPos;
18class IRandom;
21class Mob;
22class Random;
25class Vec3;
26struct ActorUniqueID;
27struct SpawnSettings;
28namespace br::spawn { class EntityTypeCache; }
29namespace br::spawn { struct EntityType; }
30namespace br::spawn { struct State; }
31// clang-format on
32
33class NaturalSpawner : public ::Spawner {
34public:
35 // member variables
36 // NOLINTBEGIN
43 // NOLINTEND
44
45public:
46 // prevent constructor by default
47 NaturalSpawner& operator=(NaturalSpawner const&);
50
51public:
52 // virtual functions
53 // NOLINTBEGIN
54 // vIndex: 0
55 virtual ~NaturalSpawner() /*override*/ = default;
56
57 // vIndex: 17
58 virtual ::std::tuple<::std::array<::SpawnCategory::Type, 8>, uint64>
59 filteredSpawningCategories(::br::spawn::State const&, bool, bool, bool) const /*override*/;
60
61 // vIndex: 18
62 virtual void
63 spawnForChunk(::BlockSource&, ::LevelChunkVolumeData const&, ::br::spawn::State&, ::gsl::span<::SpawnCategory::Type>, ::IRandom&)
64 const /*override*/;
65
66 // vIndex: 19
67 virtual void spawnMobsForChunkGeneration(::BlockSource&, ::Biome const&, ::ChunkPos, ::IRandom&) const /*override*/;
68
69 // vIndex: 1
70 virtual void initializeServerSide(::ResourcePackManager&, ::IWorldRegistriesProvider&) /*override*/;
71
72 // vIndex: 2
73 virtual ::SpawnSettings const& getSpawnSettings() const /*override*/;
74
75 // vIndex: 3
76 virtual void setSpawnSettings(::SpawnSettings const&) /*override*/;
77
78 // vIndex: 4
79 virtual ::ActorSpawnRuleGroup const* getSpawnRules() const /*override*/;
80
81 // vIndex: 5
82 virtual ::ActorSpawnRuleGroup* getSpawnRulesMutable() const /*override*/;
83
84 // vIndex: 6
85 virtual ::SpawnGroupRegistry const* getSpawnGroupRegistry() const /*override*/;
86
87 // vIndex: 7
88 virtual ::br::spawn::EntityTypeCache* getEntityTypeCache() const /*override*/;
89
90 // vIndex: 11
91 virtual void postProcessSpawnMobs(::BlockSource&, int, int, ::Random&) /*override*/;
92
93 // vIndex: 12
94 virtual void tick(::BlockSource&, ::LevelChunkVolumeData const&, ::ChunkPos const) /*override*/;
95
96 // vIndex: 13
97 virtual void tickMobCount() /*override*/;
98
99 // vIndex: 14
100 virtual void incrementSpawnableTickedMob() /*override*/;
101
102 // vIndex: 15
103 virtual uint getSpawnableTickedMobCountPrevious() const /*override*/;
104
105 // vIndex: 16
106 virtual ::std::unordered_set<::ActorUniqueID>
107 spawnMobGroup(::BlockSource&, ::std::string const&, ::Vec3 const&, bool, bool, ::std::function<void(::Mob&)>&&) /*override*/
108 ;
109 // NOLINTEND
110
111public:
112 // static functions
113 // NOLINTBEGIN
114 MCAPI static bool
115 isValidEmptySpawnBlock(::BlockSource& blockState, ::BlockPos type, ::Block const&, ::br::spawn::EntityType const&);
116 // NOLINTEND
117
118public:
119 // destructor thunk
120 // NOLINTBEGIN
121
122 // NOLINTEND
123
124public:
125 // virtual function thunks
126 // NOLINTBEGIN
127
128 // NOLINTEND
129};
Definition ActorSpawnRuleGroup.h:17
Definition Biome.h:27
Definition BlockPos.h:18
Definition BlockSource.h:67
Definition Block.h:36
Definition ChunkPos.h:11
Definition IRandom.h:10
Definition IWorldRegistriesProvider.h:26
Definition LevelChunkVolumeData.h:16
Definition Mob.h:47
Definition NaturalSpawner.h:33
Definition Random.h:16
Definition ResourcePackManager.h:24
Definition SpawnGroupRegistry.h:15
Definition Spawner.h:39
Definition Vec3.h:10
Definition ActorUniqueID.h:5
Definition SpawnSettings.h:14
Definition EntityType.h:15
Definition State.h:12
Definition Alias.h:14