LeviLamina
Loading...
Searching...
No Matches
LootPoolEntry.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4#include "mc/world/level/storage/loot/predicates/LootItemCondition.h"
5
6// auto generated forward declare list
7// clang-format off
8class ItemStack;
11class Random;
12// clang-format on
13
15public:
16 // LootPoolEntry inner types define
17 enum class EntryType : int {
18 LootItem = 0,
19 EmptyLootItem = 1,
22 };
23
24public:
25 // member variables
26 // NOLINTBEGIN
27 ::ll::TypedStorage<4, 4, int> mWeight;
28 ::ll::TypedStorage<4, 4, int> mQuality;
29 ::ll::TypedStorage<8, 24, ::std::vector<::std::unique_ptr<::LootItemCondition>>> mConditions;
30 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::LootPoolEntry>> mSubTable;
31 // NOLINTEND
32
33public:
34 // virtual functions
35 // NOLINTBEGIN
36 virtual bool
37 _createItem(::std::vector<::ItemStack>& output, ::Random& random, ::LootTableContext& context) const = 0;
38
39 virtual ~LootPoolEntry() = default;
40
41 virtual ::LootPoolEntry::EntryType getEntryType() const = 0;
42 // NOLINTEND
43};
Definition EmptyLootItem.h:15
Definition ItemStack.h:24
Definition LootItemCondition.h:12
Definition LootItem.h:17
Definition LootPoolEntry.h:14
Definition LootTableContext.h:20
Definition LootTableEntry.h:16
Definition LootTableReference.h:15
Definition Random.h:10
Definition context.h:5