LeviLamina
Loading...
Searching...
No Matches
LootItem.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/world/level/storage/loot/entries/LootPoolEntry.h"
7
8// auto generated forward declare list
9// clang-format off
10class Item;
11class ItemStack;
15class Random;
16namespace Json { class Value; }
17// clang-format on
18
19class LootItem : public ::LootPoolEntry {
20public:
21 // member variables
22 // NOLINTBEGIN
23 ::ll::TypedStorage<8, 8, ::Item const*> mItem;
24 ::ll::TypedStorage<4, 4, int> mAuxValue;
25 ::ll::TypedStorage<8, 24, ::std::vector<::std::unique_ptr<::LootItemFunction>>> mFunctions;
26 ::ll::TypedStorage<8, 32, ::std::string> mOriginalItemName;
27 // NOLINTEND
28
29public:
30 // prevent constructor by default
31 LootItem();
32
33public:
34 // virtual functions
35 // NOLINTBEGIN
36 virtual bool _createItem(::std::vector<::ItemStack>& output, ::Random& random, ::LootTableContext& context) const
37 /*override*/;
38
39 virtual ~LootItem() /*override*/;
40
41 virtual ::LootPoolEntry::EntryType getEntryType() const /*override*/;
42 // NOLINTEND
43
44public:
45 // member functions
46 // NOLINTBEGIN
47 MCAPI LootItem(
48 int weight,
49 int quality,
50 ::std::vector<::std::unique_ptr<::LootItemCondition>>& conditions,
51 ::Item const* pItem,
52 int auxValue,
53 ::std::vector<::std::unique_ptr<::LootItemFunction>>& functions,
54 ::std::string const& originalItemName
55 );
56
57 MCFOLD ::std::vector<::std::unique_ptr<::LootItemFunction>> const& getFunctions() const;
58
59 MCFOLD ::Item const* getItem() const;
60 // NOLINTEND
61
62public:
63 // static functions
64 // NOLINTBEGIN
65 MCAPI static ::std::unique_ptr<::LootPoolEntry> deserialize(
66 ::Json::Value const& entry,
67 int weight,
68 int quality,
69 ::std::vector<::std::unique_ptr<::LootItemCondition>>& conditions,
70 bool usingUpcomingCreatorFeaturesExperiment
71 );
72 // NOLINTEND
73
74public:
75 // constructor thunks
76 // NOLINTBEGIN
77 MCAPI void* $ctor(
78 int weight,
79 int quality,
80 ::std::vector<::std::unique_ptr<::LootItemCondition>>& conditions,
81 ::Item const* pItem,
82 int auxValue,
83 ::std::vector<::std::unique_ptr<::LootItemFunction>>& functions,
84 ::std::string const& originalItemName
85 );
86 // NOLINTEND
87
88public:
89 // destructor thunk
90 // NOLINTBEGIN
91 MCAPI void $dtor();
92 // NOLINTEND
93
94public:
95 // virtual function thunks
96 // NOLINTBEGIN
97 MCAPI bool $_createItem(::std::vector<::ItemStack>& output, ::Random& random, ::LootTableContext& context) const;
98
99 MCFOLD ::LootPoolEntry::EntryType $getEntryType() const;
100
101
102 // NOLINTEND
103
104public:
105 // vftables
106 // NOLINTBEGIN
107 MCNAPI static void** $vftable();
108 // NOLINTEND
109};
Definition ItemStack.h:35
Definition Item.h:71
Definition Value.h:16
Definition LootItemCondition.h:12
Definition LootItemFunction.h:17
static MCAPI void ** $vftable()
Definition LootPoolEntry.h:14
Definition LootTableContext.h:21
Definition Random.h:10
Definition context.h:5