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 inclusion list
7#include "mc/deps/core/sem_ver/SemVersion.h"
8
9// auto generated forward declare list
10// clang-format off
11class ItemStack;
14class Random;
16// clang-format on
17
19public:
20 // LootPoolEntry inner types define
21 enum class EntryType : int {
22 LootItem = 0,
23 EmptyLootItem = 1,
26 };
27
28public:
29 // member variables
30 // NOLINTBEGIN
31 ::ll::TypedStorage<4, 4, int> mWeight;
32 ::ll::TypedStorage<4, 4, int> mQuality;
33 ::ll::TypedStorage<8, 24, ::std::vector<::std::unique_ptr<::LootItemCondition>>> mConditions;
34 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::LootPoolEntry>> mSubTable;
35 ::ll::TypedStorage<8, 24, ::SemVersion> mJsonVersion;
36 // NOLINTEND
37
38public:
39 // virtual functions
40 // NOLINTBEGIN
41 virtual bool
42 _createItem(::std::vector<::ItemStack>& output, ::Random& random, ::LootTableContext& context) const = 0;
43
44#ifdef LL_PLAT_S
45 virtual ~LootPoolEntry() = default;
46#else // LL_PLAT_C
47 virtual ~LootPoolEntry();
48#endif
49
50 virtual ::LootPoolEntry::EntryType getEntryType() const = 0;
51 // NOLINTEND
52
53public:
54 // static variables
55 // NOLINTBEGIN
56 MCAPI static ::SemVersionConstant const& START_VERSIONING_VERSION();
57 // NOLINTEND
58
59public:
60 // destructor thunk
61 // NOLINTBEGIN
62#ifdef LL_PLAT_C
63 MCAPI void $dtor();
64#endif
65 // NOLINTEND
66
67public:
68 // vftables
69 // NOLINTBEGIN
70 MCNAPI static void** $vftable();
71 // NOLINTEND
72};
Definition EmptyLootItem.h:15
Definition ItemStack.h:26
Definition LootItemCondition.h:12
Definition LootItem.h:17
Definition LootPoolEntry.h:18
static MCAPI void ** $vftable()
Definition LootTableContext.h:20
Definition LootTableEntry.h:18
Definition LootTableReference.h:17
Definition Random.h:10
Definition SemVersionConstant.h:8
Definition context.h:5