LeviLamina
Loading...
Searching...
No Matches
RandomBlockStateFunction.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/world/level/storage/loot/RandomValueBounds.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 ItemInstance;
13class ItemStack;
16class Random;
17namespace Json { class Value; }
18// clang-format on
19
21public:
22 // RandomBlockStateFunction inner types define
23 enum class RemapComplexAliasBlockResult : int {
24 NotComplexAlias = 0,
25 Succeed = 1,
26 Fail = 2,
27 };
28
29public:
30 // member variables
31 // NOLINTBEGIN
32 ::ll::TypedStorage<4, 8, ::RandomValueBounds> mValues;
33 ::ll::TypedStorage<8, 32, ::std::string> mBlockStateName;
34 // NOLINTEND
35
36public:
37 // virtual functions
38 // NOLINTBEGIN
39 virtual ~RandomBlockStateFunction() /*override*/ = default;
40
41 virtual void apply(::ItemStack& item, ::Random& random, ::LootTableContext& context) /*override*/;
42
43 virtual void apply(::ItemInstance& item, ::Random& random, ::LootTableContext& context) /*override*/;
44
45 virtual ::LootItemFunction::FunctionType getFunctionType() const /*override*/;
46 // NOLINTEND
47
48public:
49 // member functions
50 // NOLINTBEGIN
51 MCAPI ::RandomBlockStateFunction::RemapComplexAliasBlockResult
52 _remapComplexAliasBlock(int randomInt, ::Block const*& inOutItemBlock, ::std::string const& originalNameStr);
53
54 MCAPI ::RandomBlockStateFunction::RemapComplexAliasBlockResult _tryRemapComplexAliasBlock(
55 ::ItemInstance& item,
56 int randomInt,
57 ::Block const*& inOutItemBlock,
58 ::std::string const& originalName
59 );
60
61 MCAPI ::RandomBlockStateFunction::RemapComplexAliasBlockResult _tryRemapComplexAliasBlock(
62 ::ItemStack& item,
63 int randomInt,
64 ::Block const*& inOutItemBlock,
65 ::std::string const& originalName
66 );
67 // NOLINTEND
68
69public:
70 // static functions
71 // NOLINTBEGIN
72 MCAPI static ::std::unique_ptr<::LootItemFunction>
73 deserialize(::Json::Value object, ::std::vector<::std::unique_ptr<::LootItemCondition>>& predicates);
74 // NOLINTEND
75
76public:
77 // virtual function thunks
78 // NOLINTBEGIN
79 MCAPI void $apply(::ItemStack& item, ::Random& random, ::LootTableContext& context);
80
81 MCAPI void $apply(::ItemInstance& item, ::Random& random, ::LootTableContext& context);
82
83 MCFOLD ::LootItemFunction::FunctionType $getFunctionType() const;
84
85
86 // NOLINTEND
87
88public:
89 // vftables
90 // NOLINTBEGIN
91 MCNAPI static void** $vftable();
92 // NOLINTEND
93};
Definition Block.h:43
Definition ItemInstance.h:15
Definition ItemStack.h:26
Definition Value.h:16
Definition LootItemCondition.h:12
Definition LootItemFunction.h:17
Definition LootTableContext.h:20
Definition RandomBlockStateFunction.h:20
static MCAPI void ** $vftable()
Definition Random.h:10
Definition context.h:5