LeviLamina
Loading...
Searching...
No Matches
HarvestFarmBlockGoal.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/world/actor/ai/goal/BaseMoveToBlockGoal.h"
7
8// auto generated forward declare list
9// clang-format off
10class BlockPos;
11class BlockSource;
12class Mob;
13// clang-format on
14
15class HarvestFarmBlockGoal : public ::BaseMoveToBlockGoal {
16public:
17 // HarvestFarmBlockGoal inner types define
18 enum class Task : int {
19 None = -1,
20 Reap = 0,
21 Sow = 1,
22 };
23
24public:
25 // member variables
26 // NOLINTBEGIN
27 ::ll::TypedStorage<4, 4, int> mMaximumTicksUntilSearch;
28 ::ll::TypedStorage<4, 4, int> mSearchCooldownMaximumTicks;
29 ::ll::TypedStorage<4, 4, int> mTaskCooldownTicks;
30 ::ll::TypedStorage<4, 4, int> mInventorySeedsIndex;
31 ::ll::TypedStorage<4, 4, ::HarvestFarmBlockGoal::Task> mCurrentTask;
32 // NOLINTEND
33
34public:
35 // prevent constructor by default
36 HarvestFarmBlockGoal();
37
38public:
39 // virtual functions
40 // NOLINTBEGIN
41 virtual bool canUse() /*override*/;
42
43 virtual bool canContinueToUse() /*override*/;
44
45 virtual void start() /*override*/;
46
47 virtual void stop() /*override*/;
48
49 virtual void tick() /*override*/;
50
51 virtual void appendDebugInfo(::std::string& str) const /*override*/;
52
53 virtual bool isValidTarget(::BlockSource& region, ::BlockPos const& pos) /*override*/;
54 // NOLINTEND
55
56public:
57 // member functions
58 // NOLINTBEGIN
59 MCAPI explicit HarvestFarmBlockGoal(::Mob& mob);
60
61 MCAPI int findInventorySlotForFarmSeeds();
62
63 MCAPI bool tryHarvestCrop(::BlockSource& region, ::BlockPos const& farmlandPos);
64
65 MCAPI bool trySowCrop(::BlockSource& region, ::BlockPos const& farmlandPos);
66 // NOLINTEND
67
68public:
69 // constructor thunks
70 // NOLINTBEGIN
71 MCAPI void* $ctor(::Mob& mob);
72 // NOLINTEND
73
74public:
75 // virtual function thunks
76 // NOLINTBEGIN
77 MCAPI bool $canUse();
78
79 MCAPI bool $canContinueToUse();
80
81 MCFOLD void $start();
82
83 MCFOLD void $stop();
84
85 MCAPI void $tick();
86
87 MCAPI void $appendDebugInfo(::std::string& str) const;
88
89 MCAPI bool $isValidTarget(::BlockSource& region, ::BlockPos const& pos);
90
91
92 // NOLINTEND
93
94public:
95 // vftables
96 // NOLINTBEGIN
97 MCNAPI static void** $vftable();
98 // NOLINTEND
99};
Definition BlockPos.h:21
Definition BlockSource.h:73
static MCAPI void ** $vftable()
Definition Mob.h:57