LeviLamina
Loading...
Searching...
No Matches
LoomScreenController.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/client/gui/DirtyFlag.h"
7#include "mc/client/gui/screens/controllers/ContainerScreenController.h"
8#include "mc/client/gui/screens/controllers/RepeatCraftButtonData.h"
9#include "mc/world/item/ItemInstance.h"
10
11// auto generated forward declare list
12// clang-format off
13class BlockPos;
15class ItemStackBase;
17class Player;
18struct ActorUniqueID;
19namespace Json { class Value; }
20// clang-format on
21
23public:
24 // LoomScreenController inner types define
25 enum class LeftTabIndex : int {
26 Inventory = 0,
27 Patterns = 1,
28 Count = 2,
29 };
30
31public:
32 // member variables
33 // NOLINTBEGIN
34 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::LoomContainerManagerController>> mLoomContainerManagerController;
35 ::ll::TypedStorage<4, 4, int> mSelectedLeftTab;
36 ::ll::TypedStorage<4, 4, int> mLastSelectedPatternIndex;
37 ::ll::TypedStorage<8, 128, ::ItemInstance> mVisualPatternItem;
38 ::ll::TypedStorage<8, 136, ::RepeatCraftButtonData> mRepeatCraftButton;
39 // NOLINTEND
40
41public:
42 // prevent constructor by default
43 LoomScreenController();
44
45public:
46 // virtual functions
47 // NOLINTBEGIN
48 virtual ~LoomScreenController() /*override*/ = default;
49
50 virtual ::ui::DirtyFlag tick() /*override*/;
51
52 virtual void addStaticScreenVars(::Json::Value& globalVars) /*override*/;
53
54 virtual bool _isStillValid() const /*override*/;
55
56 virtual void _registerCoalesceOrder() /*override*/;
57
58 virtual void _registerAutoPlaceOrder() /*override*/;
59
60 virtual ::ItemStackBase const&
61 _getVisualItemStackImpl(::std::string const& collectionName, int collectionIndex) const /*override*/;
62 // NOLINTEND
63
64public:
65 // member functions
66 // NOLINTBEGIN
67 MCAPI LoomScreenController(
68 ::std::shared_ptr<::ClientInstanceScreenModel> model,
69 ::Player& player,
70 ::BlockPos const& pos,
71 ::ActorUniqueID uniqueId
72 );
73
74 MCAPI void _changeLeftTab(int dir);
75
76 MCAPI void _registerBindings();
77
78 MCAPI void _registerEventHandlers();
79
80 MCAPI void _registerStateMachine();
81
82 MCAPI void _selectPattern(int collectionIndex);
83
84 MCAPI void _updateVisualPatternItem();
85 // NOLINTEND
86
87public:
88 // constructor thunks
89 // NOLINTBEGIN
90 MCAPI void* $ctor(
91 ::std::shared_ptr<::ClientInstanceScreenModel> model,
92 ::Player& player,
93 ::BlockPos const& pos,
94 ::ActorUniqueID uniqueId
95 );
96 // NOLINTEND
97
98public:
99 // virtual function thunks
100 // NOLINTBEGIN
101 MCAPI ::ui::DirtyFlag $tick();
102
103 MCAPI void $addStaticScreenVars(::Json::Value& globalVars);
104
105 MCFOLD bool $_isStillValid() const;
106
107 MCAPI void $_registerCoalesceOrder();
108
109 MCAPI void $_registerAutoPlaceOrder();
110
111 MCAPI ::ItemStackBase const&
112 $_getVisualItemStackImpl(::std::string const& collectionName, int collectionIndex) const;
113 // NOLINTEND
114
115public:
116 // vftables
117 // NOLINTBEGIN
118 MCNAPI static void** $vftableForScreenController();
119
121 // NOLINTEND
122};
Definition BlockPos.h:19
Definition ClientInstanceScreenModel.h:5
Definition ContainerScreenController.h:5
Definition ItemStackBase.h:44
Definition Value.h:16
Definition LoomContainerManagerController.h:22
Definition LoomScreenController.h:5
static MCAPI void ** $vftableForScreenController()
static MCAPI void ** $vftableForEnableNonOwnerReferences()
Definition Player.h:129
Definition ActorUniqueID.h:5