LeviLamina
Loading...
Searching...
No Matches
LootPool.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/world/level/storage/loot/RandomValueBounds.h"
7
8// auto generated forward declare list
9// clang-format off
10class ItemStack;
12class LootPoolEntry;
13class LootPoolTiers;
15class Random;
16namespace Json { class Value; }
17// clang-format on
18
19class LootPool {
20public:
21 // member variables
22 // NOLINTBEGIN
23 ::ll::TypedStorage<8, 24, ::std::vector<::std::unique_ptr<::LootPoolEntry>>> mEntries;
24 ::ll::TypedStorage<8, 24, ::std::vector<::std::unique_ptr<::LootItemCondition>>> mConditions;
25 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::LootPoolTiers>> mTiers;
26 ::ll::TypedStorage<4, 8, ::RandomValueBounds> mRolls;
27 ::ll::TypedStorage<4, 8, ::RandomValueBounds> mBonusRolls;
28 // NOLINTEND
29
30public:
31 // member functions
32 // NOLINTBEGIN
33 MCAPI void addRandomItem(::std::vector<::ItemStack>& result, ::Random& random, ::LootTableContext& context);
34
35 MCAPI void addRandomItems(::std::vector<::ItemStack>& result, ::Random& random, ::LootTableContext& context);
36
37 MCAPI void deserialize(::Json::Value const& pool, bool usingUpcomingCreatorFeaturesExperiment);
38
39 MCFOLD ::RandomValueBounds const& getBonusRolls() const;
40
41 MCFOLD ::std::vector<::std::unique_ptr<::LootItemCondition>> const& getConditions() const;
42
43 MCFOLD ::std::vector<::std::unique_ptr<::LootPoolEntry>> const& getEntries() const;
44
45 MCFOLD ::RandomValueBounds const& getRolls() const;
46
47 MCFOLD ::LootPoolTiers const* getTiers() const;
48
49 MCAPI ~LootPool();
50 // NOLINTEND
51
52public:
53 // destructor thunk
54 // NOLINTBEGIN
55 MCAPI void $dtor();
56 // NOLINTEND
57};
Definition ItemStack.h:35
Definition Value.h:16
Definition LootItemCondition.h:12
Definition LootPoolEntry.h:14
Definition LootPoolTiers.h:10
Definition LootPool.h:19
Definition LootTableContext.h:20
Definition Random.h:10
Definition context.h:5