Skip to content
LeviMC
English
AutoLightDark
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/RandomValueBounds.h"
8#include "mc/world/level/storage/loot/functions/LootItemFunction.h"
9
10// auto generated forward declare list
11// clang-format off
12class Item;
13class ItemStackBase;
16class Random;
17namespace Json { class Value; }
18// clang-format on
19
21public:
22 // SetItemDataFunction inner types define
23 enum class ApplyForComplexAliasBlockResult : uchar {
24 NotComplexAliasBlock = 0,
25 FailedToRemapComplexAliasBlock = 1,
26 Success = 2,
27 };
28
29 enum class ApplyForItemResult : uchar {
30 AsNewItem = 0,
31 SetAuxValue = 1,
32 };
33
34public:
35 // member variables
36 // NOLINTBEGIN
37 ::ll::TypedStorage<4, 8, ::RandomValueBounds> mValue;
38 ::ll::TypedStorage<4, 4, ::LootItemFunction::FunctionType> mType;
39 // NOLINTEND
40
41public:
42 // virtual functions
43 // NOLINTBEGIN
44 virtual ::LootItemFunction::FunctionType getFunctionType() const /*override*/;
45
46 virtual void applyPreVersion(::ItemStackBase& item, ::Random& random, ::LootTableContext& context) /*override*/;
47
48 virtual void apply26U6(::ItemStackBase& item, ::Random& random, ::LootTableContext& context) /*override*/;
49 // NOLINTEND
50
51public:
52 // member functions
53 // NOLINTBEGIN
54 MCNAPI ::SetItemDataFunction::ApplyForComplexAliasBlockResult _applyImplForComplexAliasBlock(
55 ::Item const*& inOutItemDef,
56 ::std::string const& originalItemName,
57 ::Random& random,
58 int& outResultAux
59 );
60
61 MCNAPI ::SetItemDataFunction::ApplyForItemResult _applyImplForItem(
62 ::std::string const& originalItemName,
63 ::std::string const& itemRawNameId,
64 ::Random& random,
65 int& outAux,
66 ::WeakPtr<::Item>& outItem
67 );
68 // NOLINTEND
69
70public:
71 // static functions
72 // NOLINTBEGIN
73 MCNAPI static ::std::unique_ptr<::LootItemFunction>
74 deserialize(::Json::Value object, ::std::vector<::std::unique_ptr<::LootItemCondition>>& predicates);
75 // NOLINTEND
76
77public:
78 // virtual function thunks
79 // NOLINTBEGIN
80 MCNAPI ::LootItemFunction::FunctionType $getFunctionType() const;
81
83
85
86
87 // NOLINTEND
88
89public:
90 // vftables
91 // NOLINTBEGIN
92 MCNAPI static void** $vftable();
93 // NOLINTEND
94};
Definition ItemStackBase.h:45
Definition Item.h:73
Definition Value.h:16
Definition LootItemCondition.h:12
Definition LootItemFunction.h:20
Definition LootTableContext.h:20
Definition Random.h:10
Definition SetItemDataFunction.h:20
MCAPI::SetItemDataFunction::ApplyForComplexAliasBlockResult _applyImplForComplexAliasBlock(::Item const *&inOutItemDef, ::std::string const &originalItemName, ::Random &random, int &outResultAux)
MCAPI void $applyPreVersion(::ItemStackBase &item, ::Random &random, ::LootTableContext &context)
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 $apply26U6(::ItemStackBase &item, ::Random &random, ::LootTableContext &context)
MCAPI::LootItemFunction::FunctionType $getFunctionType() const
static MCAPI void ** $vftable()
Definition WeakPtr.h:10
Definition context.h:5