LeviLamina
Loading...
Searching...
No Matches
MobSpawnRules.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
8// auto generated forward declare list
9// clang-format off
10class BlockDescriptor;
11class BlockSource;
12class IRandom;
13class MobSpawnerData;
15class Random;
16class SpawnConditions;
18struct MobSpawnHerdInfo;
19// clang-format on
20
22public:
23 // MobSpawnRules inner types define
24 using OnGetSpawnCountCallback =
25 ::std::function<int(::SpawnConditions const&, ::BlockSource&, ::Random&, ::MobSpawnerData const&)>;
26
27public:
28 // member variables
29 // NOLINTBEGIN
30 ::ll::TypedStorage<8, 64, ::std::function<bool(::SpawnConditions const&, ::BlockSource&)>> mHardcodedCallbackRule;
31 ::ll::TypedStorage<4, 4, int> mMinBrightness;
32 ::ll::TypedStorage<4, 4, int> mMaxBrightness;
33 ::ll::TypedStorage<4, 4, float> mMinMoonBrightness;
34 ::ll::TypedStorage<4, 4, float> mMaxMoonBrightness;
35 ::ll::TypedStorage<1, 1, bool> mAdjustForWeather;
36 ::ll::TypedStorage<4, 4, int> mMinHeight;
37 ::ll::TypedStorage<4, 4, int> mMaxHeight;
38 ::ll::TypedStorage<4, 4, int> mRarity;
39 ::ll::TypedStorage<4, 4, int> mSurfaceCap;
40 ::ll::TypedStorage<4, 4, int> mUndergroundCap;
41 ::ll::TypedStorage<4, 4, ::SharedTypes::Legacy::Difficulty> mMinDifficulty;
42 ::ll::TypedStorage<4, 4, ::SharedTypes::Legacy::Difficulty> mMaxDifficulty;
43 ::ll::TypedStorage<4, 4, int> mMinSpawnDistance;
44 ::ll::TypedStorage<4, 4, int> mMaxSpawnDistance;
45 ::ll::TypedStorage<4, 4, int> mSpawnDistanceCap;
46 ::ll::TypedStorage<1, 1, bool> mSurfaceSpawner;
47 ::ll::TypedStorage<1, 1, bool> mUndergroundSpawner;
48 ::ll::TypedStorage<1, 1, bool> mWaterSpawner;
49 ::ll::TypedStorage<1, 1, bool> mBubbleSpawner;
50 ::ll::TypedStorage<1, 1, bool> mLavaSpawner;
51 ::ll::TypedStorage<4, 4, uint> mPlayerInVillageDistance;
52 ::ll::TypedStorage<4, 4, uint> mPlayerInVillageBorderTolerance;
53 ::ll::TypedStorage<1, 1, bool> mExperimentalSpawner;
54 ::ll::TypedStorage<8, 8, uint64> mMinWorldAge;
55 ::ll::TypedStorage<8, 8, uint64> mMaxWorldAge;
56 ::ll::TypedStorage<4, 4, int> mMinDelay;
57 ::ll::TypedStorage<4, 4, int> mMaxDelay;
58 ::ll::TypedStorage<8, 24, ::std::vector<::MobSpawnHerdInfo>> mHerdList;
59 ::ll::TypedStorage<8, 24, ::std::vector<::MobSpawnerPermutation>> mPermutationList;
60 ::ll::TypedStorage<8, 32, ::std::string> mMobEventName;
61 ::ll::TypedStorage<8, 24, ::std::vector<::BlockDescriptor>> mSpawnOnBlockList;
62 ::ll::TypedStorage<8, 24, ::std::vector<::BlockDescriptor>> mSpawnAboveBlockList;
63 ::ll::TypedStorage<8, 24, ::std::vector<::BlockDescriptor>> mSpawnOnBlockPreventedList;
64 ::ll::TypedStorage<4, 4, int> mAboveBlockDistance;
65 ::ll::TypedStorage<8, 24, ::std::vector<::MobSpawnerPermutation>> mGuaranteedList;
66 ::ll::TypedStorage<8, 32, ::std::string> mMobToDelayId;
67 ::ll::TypedStorage<4, 4, int> mDelaySpawnChance;
68 ::ll::TypedStorage<1, 1, bool> mPersistence;
69 // NOLINTEND
70
71public:
72 // member functions
73 // NOLINTBEGIN
74 MCAPI MobSpawnRules();
75
77
78 MCAPI MobSpawnRules(::MobSpawnRules const&);
79
80 MCAPI ::MobSpawnRules& addPermutation(int weight, int guaranteedCount, ::ActorDefinitionIdentifier const& id);
81
82 MCAPI bool canSpawnInConditions(::SpawnConditions const& conditions, ::BlockSource& region) const;
83
84 MCAPI ::MobSpawnRules& operator=(::MobSpawnRules&&);
85
86 MCAPI ::MobSpawnRules& operator=(::MobSpawnRules const&);
87
88 MCAPI ::MobSpawnHerdInfo const& selectRandomHerd(::IRandom& random) const;
89
90 MCAPI ~MobSpawnRules();
91 // NOLINTEND
92
93public:
94 // static variables
95 // NOLINTBEGIN
96 MCAPI static int const& LOW_END_MAX_SPAWN_DISTANCE();
97
98 MCAPI static int const& MAX_DEFAULT_SPAWN_DISTANCE();
99
100 MCAPI static uint64 const& MAX_WORLD_AGE();
101
102 MCAPI static int const& MIN_DEFAULT_SPAWN_DISTANCE();
103 // NOLINTEND
104
105public:
106 // constructor thunks
107 // NOLINTBEGIN
108 MCAPI void* $ctor();
109
110 MCAPI void* $ctor(::MobSpawnRules&&);
111
112 MCAPI void* $ctor(::MobSpawnRules const&);
113 // NOLINTEND
114
115public:
116 // destructor thunk
117 // NOLINTBEGIN
118 MCAPI void $dtor();
119 // NOLINTEND
120};
Definition BlockDescriptor.h:20
Definition BlockSource.h:66
Definition IRandom.h:13
Definition MobSpawnRules.h:21
Definition MobSpawnerData.h:17
Definition MobSpawnerPermutation.h:9
Definition Random.h:10
Definition SpawnConditions.h:8
Definition ActorDefinitionIdentifier.h:15
Definition MobSpawnHerdInfo.h:5