LeviLamina
Loading...
Searching...
No Matches
DigGoal.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/util/json_util/JsonSchemaObjectNode.h"
7#include "mc/world/actor/ActorDefinitionTrigger.h"
8#include "mc/world/actor/ai/goal/BaseGoalDefinition.h"
9#include "mc/world/actor/ai/goal/Goal.h"
10#include "mc/world/level/Tick.h"
11
12// auto generated forward declare list
13// clang-format off
14class Mob;
15namespace JsonUtil { class EmptyClass; }
16// clang-format on
17
18class DigGoal : public ::Goal {
19public:
20 // DigGoal inner types declare
21 // clang-format off
22 class Definition;
23 // clang-format on
24
25 // DigGoal inner types define
26 enum class CanUseResult : int {
27 CanDig = 0,
28 IsDigging = 1,
29 NamedAndNotAllowedToDigWhenNamed = 2,
30 NotOnGoundOrInWaterOrInLava = 3,
31 CanSeeDaylightAndShouldDigInDaylight = 4,
32 DisturbedByVibration = 5,
33 DisturbedBySuspicion = 6,
34 IdlingBeforeStartingGoalAgain = 7,
35 };
36
38 public:
39 // member variables
40 // NOLINTBEGIN
48 // NOLINTEND
49
50 public:
51 // prevent constructor by default
52 Definition& operator=(Definition const&);
53 Definition(Definition const&);
54 Definition();
55
56 public:
57 // virtual functions
58 // NOLINTBEGIN
59 // vIndex: 0
60 virtual ~Definition() /*override*/ = default;
61 // NOLINTEND
62
63 public:
64 // static functions
65 // NOLINTBEGIN
66 MCNAPI static void buildSchema(
67 ::std::string const& name,
69 );
70 // NOLINTEND
71
72 public:
73 // vftables
74 // NOLINTBEGIN
75 MCNAPI static void** $vftable();
76 // NOLINTEND
77 };
78
79public:
80 // member variables
81 // NOLINTBEGIN
82 ::ll::TypedStorage<8, 8, ::Mob&> mMob;
83 ::ll::TypedStorage<8, 8, ::Tick> mGoalInitializationTick;
84 ::ll::TypedStorage<4, 4, uint> mIdleTimeTicks;
85 ::ll::TypedStorage<2, 2, ushort> mDurationTicks;
86 ::ll::TypedStorage<8, 8, ::Tick> mEndTick;
87 ::ll::TypedStorage<1, 1, bool> mAllowDigWhenNamed;
88 ::ll::TypedStorage<1, 1, bool> mVibrationIsDisturbance;
89 ::ll::TypedStorage<1, 1, bool> mSuspicionIsDisturbance;
90 ::ll::TypedStorage<1, 1, bool> mDigsInDaylight;
91 ::ll::TypedStorage<8, 104, ::ActorDefinitionTrigger> mOnStartEvent;
92 // NOLINTEND
93
94public:
95 // prevent constructor by default
96 DigGoal& operator=(DigGoal const&);
97 DigGoal(DigGoal const&);
98 DigGoal();
99
100public:
101 // virtual functions
102 // NOLINTBEGIN
103 // vIndex: 1
104 virtual bool canUse() /*override*/;
105
106 // vIndex: 2
107 virtual bool canContinueToUse() /*override*/;
108
109 // vIndex: 4
110 virtual void start() /*override*/;
111
112 // vIndex: 5
113 virtual void stop() /*override*/;
114
115 // vIndex: 6
116 virtual void tick() /*override*/;
117
118 // vIndex: 7
119 virtual void appendDebugInfo(::std::string& str) const /*override*/;
120
121 // vIndex: 0
122 virtual ~DigGoal() /*override*/ = default;
123 // NOLINTEND
124
125public:
126 // member functions
127 // NOLINTBEGIN
128 MCNAPI ::DigGoal::CanUseResult _canUse() const;
129 // NOLINTEND
130
131public:
132 // virtual function thunks
133 // NOLINTBEGIN
134 MCNAPI bool $canUse();
135
136 MCNAPI bool $canContinueToUse();
137
138 MCNAPI void $start();
139
140 MCNAPI void $stop();
141
142 MCNAPI void $tick();
143
144 MCNAPI void $appendDebugInfo(::std::string& str) const;
145 // NOLINTEND
146
147public:
148 // vftables
149 // NOLINTBEGIN
150 MCNAPI static void** $vftable();
151 // NOLINTEND
152};
Definition BaseGoalDefinition.h:10
Definition DigGoal.h:37
static MCAPI void buildSchema(::std::string const &name, ::std::shared_ptr<::JsonUtil::JsonSchemaObjectNode<::JsonUtil::EmptyClass, ::DigGoal::Definition > > &root)
static MCAPI void ** $vftable()
Definition DigGoal.h:18
MCAPI void $start()
MCAPI bool $canUse()
MCAPI bool $canContinueToUse()
MCAPI void $stop()
static MCAPI void ** $vftable()
MCAPI void $appendDebugInfo(::std::string &str) const
MCAPI::DigGoal::CanUseResult _canUse() const
MCAPI void $tick()
Definition Goal.h:14
Definition JsonSchemaObjectNode.h:8
Definition Mob.h:47
Definition Alias.h:14