LeviLamina
Loading...
Searching...
No Matches
TransportItemsGoal.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/world/actor/ai/goal/BaseGoal.h"
7#include "mc/world/actor/ai/goal/TransportItemsGoalSettings.h"
8#include "mc/world/level/BlockPos.h"
9#include "mc/world/level/Tick.h"
10#include "mc/world/level/block/actor/ChestBlockActor.h"
11
12// auto generated forward declare list
13// clang-format off
14class Mob;
15struct GoalId;
16// clang-format on
17
18class TransportItemsGoal : public ::BaseGoal {
19public:
20 // TransportItemsGoal inner types declare
21 // clang-format off
22 class ContainerCloser;
23 // clang-format on
24
25 // TransportItemsGoal inner types define
26 enum class Event : int {
27 StartTakeInteractionWillFail = 0,
28 StartTakeInteractionWillSucceed = 1,
29 StartPlaceInteractionWillFail = 2,
30 StartPlaceInteractionWillSucceed = 3,
31 FinishedInteraction = 4,
32 };
33
34 enum class State : int {
35 Idle = 0,
36 Travelling = 1,
37 Queuing = 2,
38 Interacting = 3,
39 };
40
42 public:
43 // member variables
44 // NOLINTBEGIN
45 ::ll::TypedStorage<8, 16, ::std::weak_ptr<::ChestBlockActor::ChestCloser>> mChestCloser;
46 // NOLINTEND
47 };
48
49public:
50 // member variables
51 // NOLINTBEGIN
52 ::ll::TypedStorage<8, 8, ::Mob&> mMob;
53 ::ll::TypedStorage<8, 136, ::TransportItemsGoalSettings> mSettings;
54 ::ll::TypedStorage<4, 4, ::TransportItemsGoal::State> mState;
55 ::ll::TypedStorage<4, 4, uint> mCountedPositions;
56 ::ll::TypedStorage<8, 24, ::std::vector<::BlockPos>> mVisitedPositions;
57 ::ll::TypedStorage<8, 16, ::std::optional<::Tick>> mInteractEndTick;
58 ::ll::TypedStorage<8, 16, ::std::optional<::Tick>> mCooldownEndTick;
59 ::ll::TypedStorage<4, 16, ::std::optional<::BlockPos>> mTargetContainerPosition;
60 ::ll::TypedStorage<1, 2, ::std::optional<bool>> mWasHoldingItemLastTick;
61 ::ll::TypedStorage<8, 24, ::std::optional<::TransportItemsGoal::ContainerCloser>> mContainerCloser;
62 ::ll::TypedStorage<1, 1, bool> mCheckLineOfSight;
63 // NOLINTEND
64
65public:
66 // prevent constructor by default
67 TransportItemsGoal& operator=(TransportItemsGoal const&);
68 TransportItemsGoal(TransportItemsGoal const&);
69 TransportItemsGoal();
70
71public:
72 // virtual functions
73 // NOLINTBEGIN
74 virtual bool canUse() /*override*/;
75
76 virtual bool canContinueToUse() /*override*/;
77
78 virtual void start() /*override*/;
79
80 virtual void stop() /*override*/;
81
82 virtual void tick() /*override*/;
83
84 virtual void appendDebugInfo(::std::string& str) const /*override*/;
85 // NOLINTEND
86
87public:
88 // member functions
89 // NOLINTBEGIN
90 MCAPI TransportItemsGoal(::Mob& mob, ::std::string name, ::GoalId const& goalId);
91
92 MCAPI bool _canSeeTarget(::BlockPos const& targetPosition) const;
93
94 MCAPI void _executeEvent(::TransportItemsGoal::Event event) const;
95
96 MCAPI void _reset();
97
98 MCAPI void _startCooldown();
99 // NOLINTEND
100
101public:
102 // constructor thunks
103 // NOLINTBEGIN
104 MCAPI void* $ctor(::Mob& mob, ::std::string name, ::GoalId const& goalId);
105 // NOLINTEND
106
107public:
108 // virtual function thunks
109 // NOLINTBEGIN
110 MCAPI bool $canUse();
111
112 MCAPI bool $canContinueToUse();
113
114 MCAPI void $start();
115
116 MCAPI void $stop();
117
118 MCAPI void $tick();
119
120 MCAPI void $appendDebugInfo(::std::string& str) const;
121
122
123 // NOLINTEND
124
125public:
126 // vftables
127 // NOLINTBEGIN
128 MCNAPI static void** $vftable();
129 // NOLINTEND
130};
Definition BaseGoal.h:12
Definition BlockPos.h:17
Definition Mob.h:56
Definition TransportItemsGoal.h:41
static MCAPI void ** $vftable()
Definition GoalId.h:5