LeviLamina
Loading...
Searching...
No Matches
SetItemDataFunction.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/common/WeakPtr.h"
7#include "mc/world/level/storage/loot/functions/LootItemFunction.h"
8
9// auto generated forward declare list
10// clang-format off
11class Block;
12class Item;
13class ItemInstance;
14class ItemStack;
17class Random;
18namespace Json { class Value; }
19// clang-format on
20
22public:
23 // SetItemDataFunction inner types define
24 enum class ApplyForComplexAliasBlockResult : uchar {
25 NotComplexAliasBlock = 0,
26 FailedToRemapComplexAliasBlock = 1,
27 Success = 2,
28 };
29
30 enum class ApplyForItemResult : uchar {
31 AsNewItem = 0,
32 SetAuxValue = 1,
33 };
34
35public:
36 // member variables
37 // NOLINTBEGIN
39 // NOLINTEND
40
41public:
42 // prevent constructor by default
46
47public:
48 // virtual functions
49 // NOLINTBEGIN
50 // vIndex: 0
51 virtual ~SetItemDataFunction() /*override*/ = default;
52
53 // vIndex: 4
54 virtual void apply(::ItemStack& item, ::Random& random, ::LootTableContext& context) /*override*/;
55
56 // vIndex: 2
57 virtual void apply(::ItemInstance& item, ::Random& random, ::LootTableContext& context) /*override*/;
58 // NOLINTEND
59
60public:
61 // member functions
62 // NOLINTBEGIN
63 MCAPI ::SetItemDataFunction::ApplyForComplexAliasBlockResult _applyImplForComplexAliasBlock(
64 ::Item const*& inOutItemDef,
65 ::std::string const& originalItemName,
66 ::Random& random,
67 int& outResultAux
68 );
69
70 MCAPI ::SetItemDataFunction::ApplyForItemResult _applyImplForItem(
71 ::std::string const& originalItemName,
72 ::std::string const& itemRawNameId,
73 ::Random& random,
74 int& outAux,
75 ::WeakPtr<::Item>& outItem
76 );
77
78 MCAPI void _applyImplForNormalBlock(::Block const*& inOutBlock, ::Random& random);
79 // NOLINTEND
80
81public:
82 // static functions
83 // NOLINTBEGIN
84 MCAPI static ::std::unique_ptr<::LootItemFunction>
85 deserialize(::Json::Value object, ::std::vector<::std::unique_ptr<::LootItemCondition>>& predicates);
86 // NOLINTEND
87
88public:
89 // destructor thunk
90 // NOLINTBEGIN
91
92 // NOLINTEND
93
94public:
95 // virtual function thunks
96 // NOLINTBEGIN
97 MCAPI void $apply(::ItemStack& item, ::Random& random, ::LootTableContext& context);
98
99 MCAPI void $apply(::ItemInstance& item, ::Random& random, ::LootTableContext& context);
100 // NOLINTEND
101
102public:
103 // vftables
104 // NOLINTBEGIN
105 MCAPI static void** $vftable();
106 // NOLINTEND
107};
Definition Block.h:36
Definition ItemInstance.h:16
Definition ItemStack.h:25
Definition Item.h:65
Definition Value.h:16
Definition LootItemCondition.h:12
Definition LootItemFunction.h:17
Definition LootTableContext.h:20
Definition Random.h:16
Definition SetItemDataFunction.h:21
Definition WeakPtr.h:10
Definition context.h:5
Definition Alias.h:14