LeviLamina
Loading...
Searching...
No Matches
PickupItemsGoal.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/math/Vec3.h"
7#include "mc/world/actor/ActorDefinitionTrigger.h"
8#include "mc/world/actor/TempEPtr.h"
9#include "mc/world/actor/ai/goal/BaseGoal.h"
10
11// auto generated forward declare list
12// clang-format off
13class Actor;
14class ItemActor;
15class ItemDescriptor;
16class ItemStack;
17class Mob;
18class Path;
19class WeakEntityRef;
21struct Shareable;
22// clang-format on
23
24class PickupItemsGoal : public ::BaseGoal {
25public:
26 // member variables
27 // NOLINTBEGIN
28 ::ll::TypedStorage<8, 104, ::ActorDefinitionTrigger> mOnStartEvent;
29 ::ll::TypedStorage<8, 104, ::ActorDefinitionTrigger> mOnEndEvent;
30 ::ll::TypedStorage<8, 40, ::TempEPtr<::Actor>> mTarget;
31 ::ll::TypedStorage<8, 24, ::std::vector<::ItemDescriptor>> mExcludedItemsList;
32 ::ll::TypedStorage<8, 24, ::std::vector<::WeakEntityRef>> mFilteredPickupTargets;
33 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::Path>> mPath;
34 ::ll::TypedStorage<8, 8, ::Mob&> mMob;
35 ::ll::TypedStorage<4, 12, ::Vec3> mTargetPos;
36 ::ll::TypedStorage<4, 4, int> mSearchRange;
37 ::ll::TypedStorage<4, 4, int> mSearchHeight;
38 ::ll::TypedStorage<4, 4, int> mRandomStopInterval;
39 ::ll::TypedStorage<4, 4, int> mTimeToRecalcPath;
40 ::ll::TypedStorage<4, 4, int> mTimeoutAfterBeingAttacked;
41 ::ll::TypedStorage<4, 4, float> mSpeedModifier;
42 ::ll::TypedStorage<4, 4, float> mGoalRadiusSq;
43 ::ll::TypedStorage<1, 1, bool> mPickupBasedOnChance;
44 ::ll::TypedStorage<1, 1, bool> mTrackTarget;
45 ::ll::TypedStorage<1, 1, bool> mCanPickupAnyItem;
46 ::ll::TypedStorage<1, 1, bool> mCanPickupToHandOrEquipment;
47 ::ll::TypedStorage<1, 1, bool> mPickupSameItemsAsInHand;
48 // NOLINTEND
49
50public:
51 // prevent constructor by default
52 PickupItemsGoal& operator=(PickupItemsGoal const&);
53 PickupItemsGoal(PickupItemsGoal const&);
54 PickupItemsGoal();
55
56public:
57 // virtual functions
58 // NOLINTBEGIN
59 virtual bool canUse() /*override*/;
60
61 virtual bool canContinueToUse() /*override*/;
62
63 virtual void start() /*override*/;
64
65 virtual void stop() /*override*/;
66
67 virtual void tick() /*override*/;
68
69 virtual void appendDebugInfo(::std::string& str) const /*override*/;
70 // NOLINTEND
71
72public:
73 // member functions
74 // NOLINTBEGIN
75 MCAPI explicit PickupItemsGoal(::Mob& mob);
76
77 MCAPI void _dropItem(::ItemStack const& item) const;
78
79 MCAPI ::std::vector<::WeakEntityRef>
80 _filterValidTargets(::std::vector<::DistanceSortedActor> const& entities) const;
81
82 MCAPI ::Shareable const* _getShareableItem(::ItemStack const& item) const;
83
84 MCAPI bool _hasRoomForCarriedItem() const;
85
86 MCAPI bool _isSameItemAsInHand(::ItemStack const& item) const;
87
88 MCAPI void _pickItemUp(::ItemActor& itemActor);
89
90 MCAPI void _updatePathIfNecessary(::Actor const& target, float targetDistanceSqr);
91 // NOLINTEND
92
93public:
94 // constructor thunks
95 // NOLINTBEGIN
96 MCAPI void* $ctor(::Mob& mob);
97 // NOLINTEND
98
99public:
100 // virtual function thunks
101 // NOLINTBEGIN
102 MCAPI bool $canUse();
103
104 MCAPI bool $canContinueToUse();
105
106 MCAPI void $start();
107
108 MCAPI void $stop();
109
110 MCAPI void $tick();
111
112 MCAPI void $appendDebugInfo(::std::string& str) const;
113
114
115 // NOLINTEND
116
117public:
118 // vftables
119 // NOLINTBEGIN
120 MCNAPI static void** $vftable();
121 // NOLINTEND
122};
Definition Actor.h:125
Definition ItemActor.h:31
Definition ItemDescriptor.h:25
Definition ItemStack.h:35
Definition Mob.h:57
Definition Path.h:16
static MCAPI void ** $vftable()
Definition WeakEntityRef.h:14
Definition DistanceSortedActor.h:10
Definition Shareable.h:8