LeviLamina
Loading...
Searching...
No Matches
CrafterBlockActor.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/world/level/block/actor/DispenserBlockActor.h"
7
8// auto generated forward declare list
9// clang-format off
10class BlockActorDataPacket;
11class BlockSource;
12class CompoundTag;
14class DataLoadHelper;
15class ILevel;
16class ItemInstance;
17class ItemStack;
18class Level;
19class Recipe;
20class SaveContext;
21// clang-format on
22
24public:
25 // CrafterBlockActor inner types declare
26 // clang-format off
27 class LruCache;
28 // clang-format on
29
30 // CrafterBlockActor inner types define
31 class LruCache {
32 public:
33 // member variables
34 // NOLINTBEGIN
35 ::ll::TypedStorage<8, 24, ::std::vector<uint64>> mRecencyOrderedIndexes;
36 ::ll::TypedStorage<8, 24, ::std::vector<::std::pair<::CraftingContainer, ::std::vector<::ItemInstance>>>>
37 mCachedValues;
38 // NOLINTEND
39
40 public:
41 // member functions
42 // NOLINTBEGIN
43 MCAPI ~LruCache();
44 // NOLINTEND
45
46 public:
47 // destructor thunk
48 // NOLINTBEGIN
49 MCAPI void $dtor();
50 // NOLINTEND
51 };
52
53public:
54 // member variables
55 // NOLINTBEGIN
56 ::ll::TypedStorage<4, 4, ::std::bitset<9>> mDisabledSlots;
57 ::ll::TypedStorage<8, 48, ::CrafterBlockActor::LruCache> mCraftedRecipesCache;
58 ::ll::TypedStorage<4, 4, int> mTicksLeftInCraftingState;
59 // NOLINTEND
60
61public:
62 // virtual functions
63 // NOLINTBEGIN
64 // vIndex: 25
65 virtual ::std::string getName() const /*override*/;
66
67 // vIndex: 32
68 virtual bool canPushInItem(int slot, int, ::ItemStack const& item) const /*override*/;
69
70 // vIndex: 43
71 virtual bool isSlotDisabled(int slot) const /*override*/;
72
73 // vIndex: 1
74 virtual void load(::ILevel& level, ::CompoundTag const& tag, ::DataLoadHelper& dataLoadHelper) /*override*/;
75
76 // vIndex: 2
77 virtual bool save(::CompoundTag& tag, ::SaveContext const& saveContext) const /*override*/;
78
79 // vIndex: 9
80 virtual void tick(::BlockSource& region) /*override*/;
81
82 // vIndex: 41
83 virtual ::std::unique_ptr<::BlockActorDataPacket> _getUpdatePacket(::BlockSource&) /*override*/;
84
85 // vIndex: 42
86 virtual void _onUpdatePacket(::CompoundTag const& data, ::BlockSource&) /*override*/;
87
88 // vIndex: 0
89 virtual ~CrafterBlockActor() /*override*/ = default;
90 // NOLINTEND
91
92public:
93 // member functions
94 // NOLINTBEGIN
95 MCAPI bool tryMoveItemsIntoContainer(::BlockSource& region, ::std::vector<::ItemInstance>& items);
96 // NOLINTEND
97
98public:
99 // static functions
100 // NOLINTBEGIN
101 MCAPI static ::std::vector<::Recipe const*>
102 _getRecipesForCraftingGrid(::Level& level, ::CraftingContainer& craftingContainer);
103
104 MCAPI static ::std::vector<::ItemInstance> getCraftableItem(::CraftingContainer& craftingGrid, ::Level& level);
105 // NOLINTEND
106
107public:
108 // virtual function thunks
109 // NOLINTBEGIN
110 MCAPI ::std::string $getName() const;
111
112 MCAPI bool $canPushInItem(int slot, int, ::ItemStack const& item) const;
113
114 MCAPI bool $isSlotDisabled(int slot) const;
115
116 MCAPI void $load(::ILevel& level, ::CompoundTag const& tag, ::DataLoadHelper& dataLoadHelper);
117
118 MCAPI bool $save(::CompoundTag& tag, ::SaveContext const& saveContext) const;
119
120 MCAPI void $tick(::BlockSource& region);
121
122 MCAPI ::std::unique_ptr<::BlockActorDataPacket> $_getUpdatePacket(::BlockSource&);
123
124 MCAPI void $_onUpdatePacket(::CompoundTag const& data, ::BlockSource&);
125 // NOLINTEND
126
127public:
128 // vftables
129 // NOLINTBEGIN
131
132 MCNAPI static void** $vftableForContainer();
133 // NOLINTEND
134};
Definition BlockSource.h:66
Definition CompoundTag.h:13
Definition CrafterBlockActor.h:31
Definition CrafterBlockActor.h:23
static MCAPI void ** $vftableForRandomizableBlockActorContainerBase()
static MCAPI void ** $vftableForContainer()
Definition CraftingContainer.h:14
Definition DataLoadHelper.h:20
Definition DispenserBlockActor.h:24
Definition ILevel.h:207
Definition ItemInstance.h:15
Definition ItemStack.h:23
Definition Level.h:243
Definition Recipe.h:29
Definition SaveContext.h:5
STL namespace.