LeviLamina
Loading...
Searching...
No Matches
MoveToPOIGoal.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/world/actor/ai/goal/BaseMoveToGoal.h"
7#include "mc/world/actor/ai/village/POIType.h"
8#include "mc/world/phys/AABB.h"
9
10// auto generated forward declare list
11// clang-format off
12class BlockPos;
13class BlockSource;
14class Mob;
15class POIInstance;
16class Path;
17class Vec3;
18struct GoalId;
19// clang-format on
20
21class MoveToPOIGoal : public ::BaseMoveToGoal {
22public:
23 // member variables
24 // NOLINTBEGIN
25 ::ll::TypedStorage<4, 4, ::POIType> mPOIType;
26 ::ll::TypedStorage<4, 24, ::AABB> mPOIBoundingBox;
27 ::ll::TypedStorage<1, 1, bool> mUsingBoundingBox;
28 ::ll::TypedStorage<1, 1, bool> mRequireSameY;
29 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::Path>> mPath;
30 // NOLINTEND
31
32public:
33 // prevent constructor by default
34 MoveToPOIGoal();
35
36public:
37 // virtual functions
38 // NOLINTBEGIN
39 virtual bool canUse() /*override*/;
40
41 virtual void tick() /*override*/;
42
43 virtual void stop() /*override*/;
44
45 virtual bool isValidTarget(::BlockSource& region, ::BlockPos const& pos) /*override*/;
46
47 virtual void appendDebugInfo(::std::string& str) const /*override*/;
48
49 virtual void _moveToBlock() /*override*/;
50
51 virtual ::Vec3 _getTargetPosition() const /*override*/;
52
53 virtual ::std::weak_ptr<::POIInstance> _getOwnedPOI(::POIType type) const;
54 // NOLINTEND
55
56public:
57 // member functions
58 // NOLINTBEGIN
59 MCAPI MoveToPOIGoal(::Mob& mob, ::std::string name, ::GoalId const& goalId, ::POIType poiType);
60
61 MCAPI bool _canReachPOI(::Vec3 const& pos, float const radiusSqr, bool usingBoundingBox);
62
63 MCAPI void _updatePOIBooking();
64
65 MCAPI bool getPOI(::POIType type);
66 // NOLINTEND
67
68public:
69 // constructor thunks
70 // NOLINTBEGIN
71 MCAPI void* $ctor(::Mob& mob, ::std::string name, ::GoalId const& goalId, ::POIType poiType);
72 // NOLINTEND
73
74public:
75 // virtual function thunks
76 // NOLINTBEGIN
77 MCAPI bool $canUse();
78
79 MCAPI void $tick();
80
81 MCAPI void $stop();
82
83 MCAPI bool $isValidTarget(::BlockSource& region, ::BlockPos const& pos);
84
85 MCAPI void $appendDebugInfo(::std::string& str) const;
86
87 MCAPI void $_moveToBlock();
88
89 MCAPI ::Vec3 $_getTargetPosition() const;
90
91 MCAPI ::std::weak_ptr<::POIInstance> $_getOwnedPOI(::POIType type) const;
92
93
94 // NOLINTEND
95
96public:
97 // vftables
98 // NOLINTBEGIN
99 MCNAPI static void** $vftable();
100 // NOLINTEND
101};
Definition BlockPos.h:17
Definition BlockSource.h:71
Definition Mob.h:56
static MCAPI void ** $vftable()
Definition POIInstance.h:19
Definition Path.h:16
Definition Vec3.h:10
Definition GoalId.h:5