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
40 // NOLINTEND
41
42public:
43 // prevent constructor by default
47
48public:
49 // virtual functions
50 // NOLINTBEGIN
51 // vIndex: 0
52 virtual ~SetItemDataFunction() /*override*/ = default;
53
54 // vIndex: 4
55 virtual void apply(::ItemStack& item, ::Random& random, ::LootTableContext& context) /*override*/;
56
57 // vIndex: 2
58 virtual void apply(::ItemInstance& item, ::Random& random, ::LootTableContext& context) /*override*/;
59
60 // vIndex: 5
61 virtual ::LootItemFunction::FunctionType getFunctionType() const /*override*/;
62 // NOLINTEND
63
64public:
65 // member functions
66 // NOLINTBEGIN
67 MCNAPI ::SetItemDataFunction::ApplyForComplexAliasBlockResult _applyImplForComplexAliasBlock(
68 ::Item const*& inOutItemDef,
69 ::std::string const& originalItemName,
70 ::Random& random,
71 int& outResultAux
72 );
73
74 MCNAPI ::SetItemDataFunction::ApplyForItemResult _applyImplForItem(
75 ::std::string const& originalItemName,
76 ::std::string const& itemRawNameId,
77 ::Random& random,
78 int& outAux,
79 ::WeakPtr<::Item>& outItem
80 );
81
82 MCNAPI void _applyImplForNormalBlock(::Block const*& inOutBlock, ::Random& random);
83 // NOLINTEND
84
85public:
86 // static functions
87 // NOLINTBEGIN
88 MCNAPI static ::std::unique_ptr<::LootItemFunction>
89 deserialize(::Json::Value object, ::std::vector<::std::unique_ptr<::LootItemCondition>>& predicates);
90 // NOLINTEND
91
92public:
93 // virtual function thunks
94 // NOLINTBEGIN
95 MCNAPI void $apply(::ItemStack& item, ::Random& random, ::LootTableContext& context);
96
98
99 MCNAPI ::LootItemFunction::FunctionType $getFunctionType() const;
100 // NOLINTEND
101
102public:
103 // vftables
104 // NOLINTBEGIN
105 MCNAPI static void** $vftable();
106 // NOLINTEND
107};
Definition Block.h:38
Definition ItemInstance.h:15
Definition ItemStack.h:23
Definition Item.h:66
Definition Value.h:16
Definition LootItemCondition.h:12
Definition LootItemFunction.h:17
Definition LootTableContext.h:19
Definition Random.h:10
Definition SetItemDataFunction.h:21
MCAPI::SetItemDataFunction::ApplyForComplexAliasBlockResult _applyImplForComplexAliasBlock(::Item const *&inOutItemDef, ::std::string const &originalItemName, ::Random &random, int &outResultAux)
static MCAPI ::std::unique_ptr<::LootItemFunction > deserialize(::Json::Value object, ::std::vector<::std::unique_ptr<::LootItemCondition > > &predicates)
MCAPI::SetItemDataFunction::ApplyForItemResult _applyImplForItem(::std::string const &originalItemName, ::std::string const &itemRawNameId, ::Random &random, int &outAux, ::WeakPtr<::Item > &outItem)
MCAPI void $apply(::ItemInstance &item, ::Random &random, ::LootTableContext &context)
MCAPI void $apply(::ItemStack &item, ::Random &random, ::LootTableContext &context)
MCAPI::LootItemFunction::FunctionType $getFunctionType() const
static MCAPI void ** $vftable()
MCAPI void _applyImplForNormalBlock(::Block const *&inOutBlock, ::Random &random)
Definition WeakPtr.h:10
Definition context.h:5
Definition Alias.h:14