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 MCNAPI ::SetItemDataFunction::ApplyForComplexAliasBlockResult _applyImplForComplexAliasBlock(
64 ::Item const*& inOutItemDef,
65 ::std::string const& originalItemName,
66 ::Random& random,
67 int& outResultAux
68 );
69
70 MCNAPI ::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 MCNAPI void _applyImplForNormalBlock(::Block const*& inOutBlock, ::Random& random);
79 // NOLINTEND
80
81public:
82 // static functions
83 // NOLINTBEGIN
84 MCNAPI static ::std::unique_ptr<::LootItemFunction>
85 deserialize(::Json::Value object, ::std::vector<::std::unique_ptr<::LootItemCondition>>& predicates);
86 // NOLINTEND
87
88public:
89 // virtual function thunks
90 // NOLINTBEGIN
91 MCNAPI void $apply(::ItemStack& item, ::Random& random, ::LootTableContext& context);
92
94 // NOLINTEND
95
96public:
97 // vftables
98 // NOLINTBEGIN
99 MCNAPI static void** $vftable();
100 // NOLINTEND
101};
Definition Block.h:38
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:11
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)
static MCAPI void ** $vftable()
MCAPI void _applyImplForNormalBlock(::Block const *&inOutBlock, ::Random &random)
Definition WeakPtr.h:10
Definition context.h:5
Definition Alias.h:14