Skip to content
LeviMC
English
AutoLightDark
LeviLamina
Loading...
Searching...
No Matches
Agent.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/math/Vec2.h"
7#include "mc/world/actor/ActorEvent.h"
8#include "mc/world/actor/ActorInitializationMethod.h"
9#include "mc/world/actor/Mob.h"
10#include "mc/world/actor/agent/AgentAnimation.h"
11#include "mc/world/actor/agent/AgentRenderData.h"
12#include "mc/world/actor/agent/AgentTravelType.h"
13
14// auto generated forward declare list
15// clang-format off
16class AABB;
17class Actor;
20class ActorHurtResult;
21class BodyControl;
22class EntityContext;
23class ItemStack;
24class Player;
25class Vec3;
27struct ActorUniqueID;
28struct HurtParameters;
31namespace mce { class Color; }
32// clang-format on
33
34class Agent : public ::Mob {
35public:
36 // Agent inner types define
37 enum class AnimState : int {
38 Idle = 0,
39 Moving = 1,
40 ArmSwing = 2,
41 Shrug = 3,
42 };
43
44public:
45 // member variables
46 // NOLINTBEGIN
47 ::ll::TypedStorage<1, 1, bool> mIsHovering;
48 ::ll::TypedStorage<4, 8, ::Vec2> mHorizontalTarget;
49 ::ll::TypedStorage<4, 4, float> mVerticalTarget;
50 ::ll::TypedStorage<4, 4, int> mSelectedSlot;
51 ::ll::TypedStorage<1, 1, bool> mHasSetName;
52 ::ll::TypedStorage<1, 1, bool> mHasFiredCreationEvent;
53 ::ll::TypedStorage<8, 16, ::AgentRenderData> mRenderData;
54 // NOLINTEND
55
56public:
57 // prevent constructor by default
58 Agent();
59
60public:
61 // virtual functions
62 // NOLINTBEGIN
63 virtual ::mce::Color getNameTagTextColor() const /*override*/;
64
65 virtual bool canShowNameTag() const /*override*/;
66
67 virtual bool canBePulledIntoVehicle() const /*override*/;
68
69 virtual bool canBeAffected(uint id) const /*override*/;
70
71 virtual void
72 knockback(::Actor* source, float damage, float xd, float zd, ::KnockbackParameters const& parameters) /*override*/;
73
74 virtual void handleEntityEvent(::ActorEvent id, int data) /*override*/;
75
76 virtual void
77 initializeComponents(::ActorInitializationMethod method, ::VariantParameterList const& params) /*override*/;
78
79 virtual bool createAIGoals() /*override*/;
80
81 virtual void setCarriedItem(::ItemStack const& item) /*override*/;
82
83 virtual void normalTick() /*override*/;
84
85 virtual void baseTick() /*override*/;
86
87 virtual void
88 teleportTo(::Vec3 const& pos, bool shouldStopRiding, int cause, int entityType, bool keepVelocity) /*override*/;
89
90 virtual bool canExistWhenDisallowMob() const /*override*/;
91
92 virtual bool isTargetable() const /*override*/;
93
94 virtual bool isInvisible() const /*override*/;
95
96 virtual void kill() /*override*/;
97
98 virtual void setOwner(::ActorUniqueID const id) /*override*/;
99
100 virtual ::ActorHurtResult
101 _hurt(::ActorDamageSource const& source, float damage, ::HurtParameters const& hurtParameters) /*override*/;
102
103 virtual ::std::unique_ptr<::BodyControl> initBodyControl() /*override*/;
104 // NOLINTEND
105
106public:
107 // member functions
108 // NOLINTBEGIN
109 MCNAPI Agent(
110 ::ActorDefinitionGroup* definitions,
111 ::ActorDefinitionIdentifier const& definitionName,
112 ::EntityContext& entityContext
113 );
114
115 MCNAPI void doClientTravel(::AABB const& aabb);
116
117 MCNAPI ::Vec3 doServerTravel(::AABB const& aabb, ::AgentTravelType travelType);
118
119 MCNAPI void handleAnimationEvent(::AgentAnimation anim);
120
121 MCNAPI bool isValidSlotNum(int slotNum);
122
123 MCNAPI void setNameTagFromOwner(::Player const& player);
124
125 MCNAPI void startCommandMode();
126
127 MCNAPI void tryFireCreateEvent(::Player& player);
128 // NOLINTEND
129
130public:
131 // static functions
132 // NOLINTBEGIN
133 MCNAPI static ::Agent* tryGetFromEntity(::EntityContext& entity, bool includeRemoved);
134 // NOLINTEND
135
136public:
137 // constructor thunks
138 // NOLINTBEGIN
139 MCNAPI void* $ctor(
140 ::ActorDefinitionGroup* definitions,
141 ::ActorDefinitionIdentifier const& definitionName,
142 ::EntityContext& entityContext
143 );
144 // NOLINTEND
145
146public:
147 // virtual function thunks
148 // NOLINTBEGIN
149 MCNAPI ::mce::Color $getNameTagTextColor() const;
150
151 MCNAPI bool $canShowNameTag() const;
152
153 MCNAPI bool $canBePulledIntoVehicle() const;
154
155 MCNAPI bool $canBeAffected(uint id) const;
156
157 MCNAPI void $knockback(::Actor* source, float damage, float xd, float zd, ::KnockbackParameters const& parameters);
158
159 MCNAPI void $handleEntityEvent(::ActorEvent id, int data);
160
161 MCNAPI void $initializeComponents(::ActorInitializationMethod method, ::VariantParameterList const& params);
162
163 MCNAPI bool $createAIGoals();
164
165 MCNAPI void $setCarriedItem(::ItemStack const& item);
166
167 MCNAPI void $normalTick();
168
169 MCNAPI void $baseTick();
170
171 MCNAPI void $teleportTo(::Vec3 const& pos, bool shouldStopRiding, int cause, int entityType, bool keepVelocity);
172
173 MCNAPI bool $canExistWhenDisallowMob() const;
174
175 MCNAPI bool $isTargetable() const;
176
177 MCNAPI bool $isInvisible() const;
178
179 MCNAPI void $kill();
180
181 MCNAPI void $setOwner(::ActorUniqueID const id);
182
183 MCNAPI ::ActorHurtResult
184 $_hurt(::ActorDamageSource const& source, float damage, ::HurtParameters const& hurtParameters);
185
186 MCNAPI ::std::unique_ptr<::BodyControl> $initBodyControl();
187
188
189 // NOLINTEND
190};
Definition AABB.h:18
Definition ActorDamageSource.h:18
Definition ActorDefinitionGroup.h:26
Definition ActorHurtResult.h:5
Definition Actor.h:116
MCAPI bool $canBeAffected(uint id) const
MCAPI void tryFireCreateEvent(::Player &player)
MCAPI void $handleEntityEvent(::ActorEvent id, int data)
MCAPI ::std::unique_ptr<::BodyControl > $initBodyControl()
MCAPI void $setCarriedItem(::ItemStack const &item)
MCAPI::Vec3 doServerTravel(::AABB const &aabb, ::AgentTravelType travelType)
MCAPI bool $createAIGoals()
MCAPI bool isValidSlotNum(int slotNum)
MCAPI void $initializeComponents(::ActorInitializationMethod method, ::VariantParameterList const &params)
MCAPI void $teleportTo(::Vec3 const &pos, bool shouldStopRiding, int cause, int entityType, bool keepVelocity)
MCAPI void $normalTick()
MCAPI bool $canBePulledIntoVehicle() const
MCAPI bool $isTargetable() const
MCAPI void doClientTravel(::AABB const &aabb)
MCAPI void * $ctor(::ActorDefinitionGroup *definitions, ::ActorDefinitionIdentifier const &definitionName, ::EntityContext &entityContext)
MCAPI void $setOwner(::ActorUniqueID const id)
MCAPI bool $canExistWhenDisallowMob() const
MCAPI void $kill()
MCAPI bool $canShowNameTag() const
MCAPI void $baseTick()
MCAPI::ActorHurtResult $_hurt(::ActorDamageSource const &source, float damage, ::HurtParameters const &hurtParameters)
MCAPI void $knockback(::Actor *source, float damage, float xd, float zd, ::KnockbackParameters const &parameters)
MCAPI void setNameTagFromOwner(::Player const &player)
MCAPI void startCommandMode()
MCAPI bool $isInvisible() const
MCAPI::mce::Color $getNameTagTextColor() const
MCAPI Agent(::ActorDefinitionGroup *definitions, ::ActorDefinitionIdentifier const &definitionName, ::EntityContext &entityContext)
static MCAPI ::Agent * tryGetFromEntity(::EntityContext &entity, bool includeRemoved)
MCAPI void handleAnimationEvent(::AgentAnimation anim)
Definition BodyControl.h:13
Definition EntityContext.h:15
Definition ItemStack.h:26
Definition Player.h:131
Definition Vec3.h:10
Definition Color.h:13
Definition ActorDefinitionIdentifier.h:15
Definition ActorUniqueID.h:5
Definition HurtParameters.h:8
Definition KnockbackParameters.h:5
Definition VariantParameterList.h:17