LeviLamina
Loading...
Searching...
No Matches
BlockReducer.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/world/item/ItemStack.h"
7
8// auto generated forward declare list
9// clang-format off
10class ItemDescriptor;
11class ItemStackBase;
12// clang-format on
13
15public:
16 // BlockReducer inner types declare
17 // clang-format off
18 struct Reduction;
19 // clang-format on
20
21 // BlockReducer inner types define
22 struct Reduction {
23 public:
24 // member variables
25 // NOLINTBEGIN
26 ::ll::TypedStorage<8, 152, ::ItemStack> mInput;
27 ::ll::TypedStorage<8, 24, ::std::vector<::ItemStack>> mOutput;
28 // NOLINTEND
29 };
30
31public:
32 // member variables
33 // NOLINTBEGIN
34 ::ll::TypedStorage<8, 64, ::std::unordered_map<int, ::std::vector<::ItemStack>>> mBlockToElements;
35 // NOLINTEND
36
37public:
38 // virtual functions
39 // NOLINTBEGIN
40 virtual ~BlockReducer() = default;
41
42 virtual void registerBlock(::ItemStack const& block, ::std::vector<::ItemStack> const& elements);
43 // NOLINTEND
44
45public:
46 // member functions
47 // NOLINTBEGIN
48 MCAPI ::std::vector<::ItemStack> const* getReduction(::ItemStackBase const& block) const;
49
50#ifdef LL_PLAT_C
51 MCAPI ::ItemDescriptor tryGetItemDescriptorFromKey(int blockKey) const;
52#endif
53 // NOLINTEND
54
55public:
56 // virtual function thunks
57 // NOLINTBEGIN
58 MCAPI void $registerBlock(::ItemStack const& block, ::std::vector<::ItemStack> const& elements);
59
60
61 // NOLINTEND
62
63public:
64 // vftables
65 // NOLINTBEGIN
66 MCNAPI static void** $vftable();
67 // NOLINTEND
68};
Definition BlockReducer.h:14
static MCAPI void ** $vftable()
Definition ItemDescriptor.h:25
Definition ItemStackBase.h:44
Definition ItemStack.h:26
Definition BlockReducer.h:22