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;
18// clang-format on
19
20class MoveToPOIGoal : public ::BaseMoveToGoal {
21public:
22 // member variables
23 // NOLINTBEGIN
24 ::ll::TypedStorage<4, 4, ::POIType> mPOIType;
25 ::ll::TypedStorage<4, 24, ::AABB> mPOIBoundingBox;
26 ::ll::TypedStorage<1, 1, bool> mUsingBoundingBox;
27 ::ll::TypedStorage<1, 1, bool> mRequireSameY;
28 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::Path>> mPath;
29 // NOLINTEND
30
31public:
32 // prevent constructor by default
33 MoveToPOIGoal();
34
35public:
36 // virtual functions
37 // NOLINTBEGIN
38 virtual bool canUse() /*override*/;
39
40 virtual void tick() /*override*/;
41
42 virtual void stop() /*override*/;
43
44 virtual bool isValidTarget(::BlockSource&, ::BlockPos const&) /*override*/;
45
46 virtual void appendDebugInfo(::std::string& str) const /*override*/;
47
48 virtual void _moveToBlock() /*override*/;
49
50 virtual ::Vec3 _getTargetPosition() const /*override*/;
51
52 virtual ::std::weak_ptr<::POIInstance> _getOwnedPOI(::POIType type) const;
53 // NOLINTEND
54
55public:
56 // member functions
57 // NOLINTBEGIN
58 MCAPI MoveToPOIGoal(::Mob& mob, ::POIType poiType);
59
60 MCAPI bool _canReachPOI(::Vec3 const& pos, float radiusSqr, bool usingBoundingBox);
61
62 MCAPI void _updatePOIBooking();
63
64 MCAPI bool getPOI(::POIType type);
65 // NOLINTEND
66
67public:
68 // constructor thunks
69 // NOLINTBEGIN
70 MCAPI void* $ctor(::Mob& mob, ::POIType poiType);
71 // NOLINTEND
72
73public:
74 // virtual function thunks
75 // NOLINTBEGIN
76 MCAPI bool $canUse();
77
78 MCAPI void $tick();
79
80 MCAPI void $stop();
81
82 MCAPI bool $isValidTarget(::BlockSource&, ::BlockPos const&);
83
84 MCAPI void $appendDebugInfo(::std::string& str) const;
85
86 MCAPI void $_moveToBlock();
87
88 MCAPI ::Vec3 $_getTargetPosition() const;
89
90 MCAPI ::std::weak_ptr<::POIInstance> $_getOwnedPOI(::POIType type) const;
91
92
93 // NOLINTEND
94
95public:
96 // vftables
97 // NOLINTBEGIN
98 MCNAPI static void** $vftable();
99 // NOLINTEND
100};
Definition BlockPos.h:21
Definition BlockSource.h:73
Definition Mob.h:57
static MCAPI void ** $vftable()
Definition POIInstance.h:19
Definition Path.h:16
Definition Vec3.h:10