LeviLamina
Loading...
Searching...
No Matches
ScriptActor.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/game_refs/StackRefResult.h"
7#include "mc/deps/scripting/binding_type/ClassBindingBuilder.h"
8#include "mc/deps/scripting/lifetime_registry/StrongTypedObjectHandle.h"
9#include "mc/deps/scripting/lifetime_registry/TypedObjectHandle.h"
10#include "mc/deps/scripting/runtime/Result.h"
11#include "mc/deps/scripting/runtime/Result_deprecated.h"
12#include "mc/deps/scripting/script_engine/Promise.h"
13
14// auto generated forward declare list
15// clang-format off
16class Actor;
17class EntityContext;
18class MobEffect;
19class Scoreboard;
20class Vec2;
21class Vec3;
22class VecXZ;
23class WeakEntityRef;
25struct ScoreboardId;
26namespace ScriptModuleMinecraft { class IComponentFactory; }
27namespace ScriptModuleMinecraft { class ScriptActorComponent; }
28namespace ScriptModuleMinecraft { class ScriptBlock; }
29namespace ScriptModuleMinecraft { class ScriptBlockRaycastHit; }
30namespace ScriptModuleMinecraft { class ScriptDimension; }
31namespace ScriptModuleMinecraft { class ScriptEffectType; }
32namespace ScriptModuleMinecraft { class ScriptEntityRaycastHit; }
33namespace ScriptModuleMinecraft { class ScriptMobEffectInstance; }
34namespace ScriptModuleMinecraft { class ScriptScoreboardIdentity; }
35namespace ScriptModuleMinecraft { class ScriptVector; }
36namespace ScriptModuleMinecraft { struct ScriptActorApplyDamageByProjectileOptions; }
37namespace ScriptModuleMinecraft { struct ScriptActorApplyDamageOptions; }
38namespace ScriptModuleMinecraft { struct ScriptActorData; }
39namespace ScriptModuleMinecraft { struct ScriptActorQueryOptions; }
40namespace ScriptModuleMinecraft { struct ScriptBlockRaycastOptions; }
41namespace ScriptModuleMinecraft { struct ScriptCommandError; }
42namespace ScriptModuleMinecraft { struct ScriptCommandResult; }
43namespace ScriptModuleMinecraft { struct ScriptEntityEffectOptions; }
44namespace ScriptModuleMinecraft { struct ScriptEntityRaycastOptions; }
45namespace ScriptModuleMinecraft { struct ScriptPlayAnimationOptions; }
46namespace ScriptModuleMinecraft { struct ScriptTeleportOptions; }
47namespace ScriptModuleMinecraft { struct ScriptXYRotation; }
48namespace Scripting { class ScriptObjectFactory; }
49namespace Scripting { class WeakLifetimeScope; }
50namespace Scripting { struct ContextConfig; }
51namespace Scripting { struct EngineError; }
52namespace Scripting { struct Error; }
53namespace Scripting { struct JSON; }
54// clang-format on
55
56namespace ScriptModuleMinecraft {
57
59public:
60 // ScriptActor inner types declare
61 // clang-format off
62 struct Key;
63 // clang-format on
64
65 // ScriptActor inner types define
66 struct Key {
67 public:
68 // member variables
69 // NOLINTBEGIN
71 // NOLINTEND
72
73 public:
74 // prevent constructor by default
75 Key& operator=(Key const&);
76 Key(Key const&);
77 Key();
78 };
79
80public:
81 // member variables
82 // NOLINTBEGIN
91 // NOLINTEND
92
93public:
94 // prevent constructor by default
95 ScriptActor& operator=(ScriptActor const&);
98
99public:
100 // virtual functions
101 // NOLINTBEGIN
102 // vIndex: 0
103 virtual ~ScriptActor();
104
105 // vIndex: 1
106 virtual void setUnloaded(::Actor& actor);
107
108 // vIndex: 2
109 virtual ::Scripting::Result<void> clearVelocity(::Actor& self);
110
111 // vIndex: 3
112 virtual ::Scripting::Result<void> lookAt(::Actor& self, ::Vec3 const& targetLocation);
113
114 // vIndex: 4
115 virtual ::Scripting::Result_deprecated<::std::string> getNameTag(::Actor const& self) const;
116
117 // vIndex: 5
118 virtual ::Scripting::Result<void> setNameTag(::Actor& self, ::std::string const& nameTag);
119
120 // vIndex: 6
121 virtual ::Scripting::Result_deprecated<bool> getSneaking(::Actor const& self) const;
122
123 // vIndex: 7
124 virtual ::Scripting::Result<void> setSneaking(::Actor& self, bool isSneaking);
125
126 // vIndex: 8
127 virtual ::Scripting::Result<void> applyImpulse(::Actor& self, ::Vec3 const& vector);
128
129 // vIndex: 9
130 virtual ::Scripting::Result<void> remove(::Actor& self);
131
132 // vIndex: 10
133 virtual bool _isValid() const;
134
135 // vIndex: 11
136 virtual ::ScoreboardId const& _getScoreboardId(::Scoreboard const& scoreboard) const;
137 // NOLINTEND
138
139public:
140 // member functions
141 // NOLINTBEGIN
143
144 MCAPI ScriptActor(::Actor const& actor, ::Scripting::WeakLifetimeScope const& scope);
145
146 MCAPI
148
149 MCAPI ::Scripting::Result_deprecated<bool>
150 _applyDamage(::Actor& self, float amount, ::ScriptModuleMinecraft::ScriptActorApplyDamageOptions const& options);
151
152 MCAPI ::Scripting::Result_deprecated<bool> _applyProjectileDamage(
153 ::Actor& self,
154 float amount,
156 );
157
158 MCAPI ::DynamicPropertyDefinition const*
159 _getDynamicPropertyDefinition(::Actor& self, ::std::string const& key) const;
160
161 MCAPI ::MobEffect const*
162 _getEffectHelper(::std::variant<
163 ::std::string,
165 ) const;
166
167 MCAPI ::Scripting::Result_deprecated<bool> _teleport(
168 ::Actor& self,
169 ::Vec3 const& location,
170 ::std::optional<::ScriptModuleMinecraft::ScriptTeleportOptions> const& options,
171 bool safeTeleport
172 );
173
174 MCFOLD ::std::optional<::Scripting::Error> _validateDynamicProperty(
175 ::std::string const& key,
176 ::std::variant<double, float, bool, ::std::string, ::Vec3> const* value
177 );
178
179 MCAPI ::std::optional<::Scripting::Error> _validateDynamicProperty_V010(
180 ::Actor& self,
181 ::std::string const& key,
182 ::std::variant<double, float, bool, ::std::string, ::Vec3> const* value,
183 ::std::string const& functionName
184 );
185
186 MCAPI ::Scripting::Result_deprecated<
187 ::std::optional<::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptMobEffectInstance>>>
188 addEffect(
189 ::Actor& self,
190 ::std::variant<
191 ::std::string,
193 int duration,
194 ::std::optional<::ScriptModuleMinecraft::ScriptEntityEffectOptions> const& options
195 );
196
197 MCAPI ::Scripting::Result<void> addEffect_V010(
198 ::Actor& self,
200 int duration,
201 int amplifier,
202 bool showParticles
203 );
204
205 MCAPI ::Scripting::Result_deprecated<bool> addTag(::Actor& self, ::std::string const& tag);
206
207 MCAPI ::Scripting::Result_deprecated<bool> addTag_010(::Actor& self, ::std::string const& tag);
208
209 MCAPI ::Scripting::Result_deprecated<bool> applyDamage(
210 ::Actor& self,
211 float amount,
212 ::std::optional<::std::variant<
215 );
216
217 MCAPI ::Scripting::Result<void> applyKnockback_V1(
218 ::Actor& self,
219 float directionX,
220 float directionZ,
221 float horizontalStrength,
222 float verticalStrength
223 );
224
225 MCAPI ::Scripting::Result<void>
226 applyKnockback_V2(::Actor& self, ::VecXZ const& horizontalForce, float verticalStrength);
227
228 MCAPI ::Scripting::Result<void>
229 clearDynamicProperties(::Actor& self, ::Scripting::ContextConfig const& contextConfig);
230
231 MCAPI ::Scripting::Result_deprecated<bool> extinguishFire(::Actor& self, bool useEffects);
232
233 MCAPI ::Scripting::Result_deprecated<::std::optional<::ScriptModuleMinecraft::ScriptBlockRaycastHit>>
234 getBlockFromViewDirection(
235 ::Actor const& self,
237 ::std::optional<::ScriptModuleMinecraft::ScriptBlockRaycastOptions> const& options
238 ) const;
239
240 MCAPI ::Scripting::Result_deprecated<
241 ::std::optional<::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptBlock>>>
242 getBlockFromViewVector_010(
243 ::Actor const& self,
245 ::std::optional<::ScriptModuleMinecraft::ScriptBlockRaycastOptions> const& options
246 ) const;
247
248 MCAPI ::std::optional<::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptActorComponent>>
249 getComponent(
251 ::std::unordered_map<::std::string, ::std::unique_ptr<::ScriptModuleMinecraft::IComponentFactory>> const&
252 factories,
253 ::std::string const& id
254 );
255
256 MCAPI ::std::vector<::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptActorComponent>>
257 getComponents(
259 ::std::unordered_map<::std::string, ::std::unique_ptr<::ScriptModuleMinecraft::IComponentFactory>> const&
260 factories
261 );
262
263 MCAPI ::Scripting::Result_deprecated<::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptDimension>>
264 getDimension(::Actor const& self) const;
265
266 MCAPI ::Scripting::Result_deprecated<::std::optional<::std::variant<double, float, bool, ::std::string, ::Vec3>>>
267 getDynamicProperty(::Actor& self, ::Scripting::ContextConfig const& contextConfig, ::std::string const& key);
268
269 MCAPI ::Scripting::Result_deprecated<::std::vector<::std::string>>
270 getDynamicPropertyIds(::Actor& self, ::Scripting::ContextConfig const& contextConfig);
271
272 MCAPI ::Scripting::Result_deprecated<int>
273 getDynamicPropertyTotalByteCount(::Actor& self, ::Scripting::ContextConfig const& contextConfig);
274
275 MCAPI ::Scripting::Result_deprecated<::std::optional<::std::variant<double, float, bool, ::std::string, ::Vec3>>>
276 getDynamicProperty_V010(::Actor& self, ::Scripting::ContextConfig const& contextConfig, ::std::string const& key);
277
278 MCAPI ::Scripting::Result_deprecated<
279 ::std::optional<::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptMobEffectInstance>>>
280 getEffect(
281 ::Actor const& self,
282 ::std::variant<
283 ::std::string,
285 ) const;
286
287 MCAPI ::Scripting::Result_deprecated<
288 ::std::optional<::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptMobEffectInstance>>>
289 getEffect_V010(::Actor const& self, ::ScriptModuleMinecraft::ScriptEffectType const& effectType) const;
290
291 MCAPI ::Scripting::Result_deprecated<
292 ::std::vector<::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptMobEffectInstance>>>
293 getEffects(::Actor const& self) const;
294
295 MCAPI ::Scripting::Result_deprecated<::std::vector<::ScriptModuleMinecraft::ScriptEntityRaycastHit>>
296 getEntitiesFromViewDirection(
297 ::Actor const& self,
299 ::std::optional<::ScriptModuleMinecraft::ScriptEntityRaycastOptions> const& options
300 ) const;
301
302 MCAPI ::Scripting::Result_deprecated<
303 ::std::vector<::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptActor>>>
304 getEntitiesFromViewVector_010(
305 ::Actor const& self,
307 ::std::optional<::ScriptModuleMinecraft::ScriptEntityRaycastOptions> const& options
308 ) const;
309
310 MCAPI ::Scripting::Result_deprecated<::Vec3> getHeadLocation(::Actor const& self) const;
311
312 MCAPI ::Scripting::Result_deprecated<::Vec3> getHeadLocation_010(::Actor const& self) const;
313
314 MCAPI ::std::string getId() const;
315
316 MCAPI ::Scripting::Result_deprecated<::std::string> getId_010(::Actor const& self) const;
317
318 MCAPI ::Scripting::Result_deprecated<::Vec3> getLocation(::Actor const& self) const;
319
320 MCAPI ::Scripting::Result_deprecated<::std::optional<::std::variant<float, bool, ::std::string>>>
321 getProperty(::Actor const& self, ::std::string const& identifier) const;
322
323 MCAPI ::Scripting::Result_deprecated<::Vec2> getRotation(::Actor const& self) const;
324
325 MCAPI ::Scripting::Result_deprecated<::ScriptModuleMinecraft::ScriptXYRotation> getRotation_V010(::Actor const& self
326 ) const;
327
328 MCAPI ::std::optional<::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptScoreboardIdentity>>
329 getScoreboardIdentity();
330
331 MCAPI ::Scripting::Result_deprecated<::std::vector<::std::string>> getTags(::Actor const& self) const;
332
333 MCAPI ::Scripting::Result_deprecated<
334 ::std::optional<::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptActor>>>
335 getTarget(::Actor const& self) const;
336
337 MCAPI ::Scripting::Result_deprecated<::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptActor>>
338 getTarget_010(::Actor const& self) const;
339
340 MCAPI ::std::string getTypeId() const;
341
342 MCAPI ::Scripting::Result_deprecated<::Vec3> getVelocity(::Actor const& self) const;
343
344 MCAPI ::Scripting::Result_deprecated<::ScriptModuleMinecraft::ScriptVector> getVelocity_010(::Actor const& self
345 ) const;
346
347 MCAPI ::Scripting::Result_deprecated<::Vec3> getViewDirection(::Actor const& self) const;
348
349 MCAPI ::Scripting::Result_deprecated<::ScriptModuleMinecraft::ScriptVector> getViewVector_010(::Actor const& self
350 ) const;
351
352 MCAPI bool hasComponent(
354 ::std::unordered_map<::std::string, ::std::unique_ptr<::ScriptModuleMinecraft::IComponentFactory>> const&
355 factories,
356 ::std::string const& name
357 );
358
359 MCAPI ::Scripting::Result_deprecated<bool> hasTag(::Actor const& self, ::std::string const& tag) const;
360
361 MCAPI ::Scripting::Result_deprecated<bool> isClimbing(::Actor const& self) const;
362
363 MCAPI ::Scripting::Result_deprecated<bool> isFalling(::Actor const& self) const;
364
365 MCAPI ::Scripting::Result_deprecated<bool> isInWater(::Actor const& self) const;
366
367 MCAPI ::Scripting::Result_deprecated<bool> isOnGround(::Actor const& self) const;
368
369 MCAPI ::Scripting::Result_deprecated<bool> isSleeping(::Actor const& self) const;
370
371 MCAPI ::Scripting::Result_deprecated<bool> isSprinting(::Actor const& self) const;
372
373 MCAPI ::Scripting::Result_deprecated<bool> isSwimming(::Actor const& self) const;
374
375 MCAPI ::Scripting::Result_deprecated<bool> kill(::Actor& self);
376
377 MCAPI ::Scripting::Result<void> kill_010(::Actor& self);
378
379 MCAPI ::Scripting::Result_deprecated<bool>
380 matches(::Actor const& self, ::ScriptModuleMinecraft::ScriptActorQueryOptions options) const;
381
382 MCAPI ::ScriptModuleMinecraft::ScriptActor& operator=(::ScriptModuleMinecraft::ScriptActor&& rhs);
383
384 MCAPI ::Scripting::Result<void> playAnimation(
385 ::Actor& self,
386 ::std::string const& animationName,
387 ::std::optional<::ScriptModuleMinecraft::ScriptPlayAnimationOptions> const& options
388 );
389
390 MCAPI ::Scripting::Result_deprecated<bool> removeDynamicProperty_V010(
391 ::Actor& self,
392 ::Scripting::ContextConfig const& contextConfig,
393 ::std::string const& key
394 );
395
396 MCAPI ::Scripting::Result_deprecated<bool> removeEffect(
397 ::Actor& self,
398 ::std::variant<
399 ::std::string,
401 );
402
403 MCAPI ::Scripting::Result_deprecated<bool> removeTag(::Actor& self, ::std::string const& tag);
404
405 MCAPI ::Scripting::Result<::std::variant<float, bool, ::std::string>, ::Scripting::EngineError, ::Scripting::Error>
406 resetProperty(::Actor& self, ::std::string const& identifier);
407
408 MCAPI ::Scripting::Result<
412 runCommand(::Actor& self, ::Scripting::ContextConfig const& contextConfig, ::std::string const& commandString);
413
414 MCAPI ::Scripting::Result_deprecated<::Scripting::Promise<
417 void>>
418 runCommandAsync(
419 ::Actor& self,
420 ::Scripting::ContextConfig const& contextConfig,
422 ::std::string const& commandString
423 );
424
425 MCAPI ::Scripting::Result_deprecated<::Scripting::JSON>
426 runCommand_V010(::Actor& self, ::Scripting::ContextConfig const& contextConfig, ::std::string const& commandString);
427
428 MCAPI ::Scripting::Result<void> setDynamicProperties(
429 ::Actor& self,
430 ::Scripting::ContextConfig const& contextConfig,
431 ::std::unordered_map<::std::string, ::std::variant<double, float, bool, ::std::string, ::Vec3>> const& values
432 );
433
434 MCAPI ::Scripting::Result<void> setDynamicProperty(
435 ::Actor& self,
436 ::Scripting::ContextConfig const& contextConfig,
437 ::std::string const& key,
438 ::std::optional<::std::variant<double, float, bool, ::std::string, ::Vec3>> const& value
439 );
440
441 MCAPI ::Scripting::Result<void> setDynamicProperty_V010(
442 ::Actor& self,
443 ::Scripting::ContextConfig const& contextConfig,
444 ::std::string const& key,
445 ::std::variant<double, float, bool, ::std::string, ::Vec3>& value
446 );
447
448 MCAPI void setLoading(::Actor const& actor);
449
450 MCAPI ::Scripting::Result_deprecated<bool> setOnFire(::Actor& self, int seconds, bool useEffects);
451
452 MCAPI ::Scripting::Result<void> setProperty(
453 ::Actor& self,
454 ::std::string const& identifier,
455 ::std::variant<float, bool, ::std::string> const& value
456 );
457
458 MCAPI ::Scripting::Result<void> setRotation(::Actor& self, ::Vec2 rotation);
459
460 MCAPI ::Scripting::Result<void> setRotation_V010(::Actor& self, float x, float y);
461
462 MCAPI ::Scripting::Result<void> setTarget(::Actor& self, ::ScriptModuleMinecraft::ScriptActor& target);
463
464 MCAPI ::Scripting::Result<void> setVelocity_010(::Actor& self, ::ScriptModuleMinecraft::ScriptVector const& vel);
465
466 MCAPI ::Scripting::Result<void> teleport(
467 ::Actor& self,
468 ::Vec3 const& location,
469 ::std::optional<::ScriptModuleMinecraft::ScriptTeleportOptions> const& options
470 );
471
472 MCAPI ::Scripting::Result<void> teleportFacing_V010(
473 ::Actor& self,
474 ::Vec3 const& location,
476 ::Vec3 const& facingLocation,
477 bool keepVelocity
478 );
479
480 MCAPI ::Scripting::Result<void> teleport_V010(
481 ::Actor& self,
482 ::Vec3 const& location,
484 float xRotation,
485 float yRotation,
486 bool keepVelocity
487 );
488
489 MCAPI ::Scripting::Result<void> triggerEvent(::Actor& self, ::std::string const& eventName);
490
491 MCAPI ::Scripting::Result<void> triggerEvent_V010(::Actor& self, ::std::string const& eventName);
492
493 MCAPI ::Scripting::Result_deprecated<bool> tryTeleport(
494 ::Actor& self,
495 ::Vec3 const& location,
496 ::std::optional<::ScriptModuleMinecraft::ScriptTeleportOptions> const& options
497 );
498 // NOLINTEND
499
500public:
501 // static functions
502 // NOLINTBEGIN
503 MCAPI static ::Scripting::ClassBindingBuilder<::ScriptModuleMinecraft::ScriptActor>
504 bind(::std::unordered_map<::std::string, ::std::unique_ptr<::ScriptModuleMinecraft::IComponentFactory>>&
505 supportedComponentFactories);
506
507 MCAPI static ::std::optional<::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptActor>>
508 getHandle(::WeakEntityRef entityRef, ::Scripting::WeakLifetimeScope const& scope);
509
510 MCAPI static ::std::optional<::Scripting::StrongTypedObjectHandle<::ScriptModuleMinecraft::ScriptActor>>
511 getHandle(::StackRefResult<::EntityContext> entityRef, ::Scripting::WeakLifetimeScope const& scope);
512
513 MCAPI static ::Actor* tryGetActor(
516 );
517 // NOLINTEND
518
519public:
520 // constructor thunks
521 // NOLINTBEGIN
522 MCAPI void* $ctor(::ScriptModuleMinecraft::ScriptActor&&);
523
524 MCAPI void* $ctor(::Actor const& actor, ::Scripting::WeakLifetimeScope const& scope);
525
526 MCAPI void*
528 // NOLINTEND
529
530public:
531 // destructor thunk
532 // NOLINTBEGIN
533 MCAPI void $dtor();
534 // NOLINTEND
535
536public:
537 // virtual function thunks
538 // NOLINTBEGIN
539 MCAPI void $setUnloaded(::Actor& actor);
540
541 MCFOLD ::Scripting::Result<void> $clearVelocity(::Actor& self);
542
543 MCAPI ::Scripting::Result<void> $lookAt(::Actor& self, ::Vec3 const& targetLocation);
544
545 MCAPI ::Scripting::Result_deprecated<::std::string> $getNameTag(::Actor const& self) const;
546
547 MCAPI ::Scripting::Result<void> $setNameTag(::Actor& self, ::std::string const& nameTag);
548
549 MCAPI ::Scripting::Result_deprecated<bool> $getSneaking(::Actor const& self) const;
550
551 MCAPI ::Scripting::Result<void> $setSneaking(::Actor& self, bool isSneaking);
552
553 MCAPI ::Scripting::Result<void> $applyImpulse(::Actor& self, ::Vec3 const& vector);
554
555 MCAPI ::Scripting::Result<void> $remove(::Actor& self);
556
557 MCAPI bool $_isValid() const;
558
559 MCAPI ::ScoreboardId const& $_getScoreboardId(::Scoreboard const& scoreboard) const;
560 // NOLINTEND
561
562public:
563 // vftables
564 // NOLINTBEGIN
565 MCAPI static void** $vftable();
566 // NOLINTEND
567};
568
569} // namespace ScriptModuleMinecraft
Definition Actor.h:104
Definition EntityContext.h:16
Definition MobEffect.h:27
Definition Scoreboard.h:32
Definition ScriptActor.h:58
Definition ScriptDimension.h:66
Definition ScriptEffectType.h:10
Definition ScriptVector.h:12
Definition Promise.h:8
Definition ScriptObjectFactory.h:7
Definition StrongTypedObjectHandle.h:8
Definition WeakLifetimeScope.h:12
Definition StackRefResult.h:7
Definition Vec2.h:5
Definition Vec3.h:10
Definition VecXZ.h:8
Definition WeakEntityRef.h:14
Definition DynamicPropertyDefinition.h:5
Definition ScoreboardId.h:10
Definition ScriptActorApplyDamageByProjectileOptions.h:10
Definition ScriptActorApplyDamageOptions.h:10
Definition ScriptActorData.h:12
Definition ScriptActorQueryOptions.h:12
Definition ScriptActor.h:66
Definition ScriptCommandError.h:16
Definition ContextConfig.h:7
Definition EngineError.h:10
Definition Error.h:7
Definition TypedObjectHandle.h:8
Definition context.h:5
Definition Alias.h:14