LeviLamina
Loading...
Searching...
No Matches
ProjectileFactory.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated forward declare list
6// clang-format off
7class Actor;
8class Level;
9class Mob;
11class Vec3;
13namespace Json { class Value; }
14// clang-format on
15
16class ProjectileFactory {
17public:
18 // member variables
19 // NOLINTBEGIN
20 ::ll::TypedStorage<8, 8, ::Level&> mLevel;
21 // NOLINTEND
22
23public:
24 // prevent constructor by default
25 ProjectileFactory& operator=(ProjectileFactory const&);
26 ProjectileFactory(ProjectileFactory const&);
27 ProjectileFactory();
28
29public:
30 // member functions
31 // NOLINTBEGIN
32 MCAPI explicit ProjectileFactory(::Level& level);
33
34 MCAPI void _applyEnchantmentsToProjectile(::Mob const& owner, ::Actor& projectile);
35
36 MCAPI ::Actor* shootProjectileFromDefinition(
37 ::ActorDefinitionIdentifier const& identifier,
38 ::Mob* owner,
39 ::Vec3 targetDir,
40 int auxValue,
41 float throwPower,
42 bool useUnmodifiedDirection,
43 bool overrideSpawnPosition,
44 ::Vec3 spawnPosition
45 );
46 // NOLINTEND
47
48public:
49 // static functions
50 // NOLINTBEGIN
51 MCAPI static ::std::unique_ptr<::OnHitSubcomponent>
52 createSubcomponent(::Json::Value& trigger, ::std::string const& name);
53
54 MCAPI static void initFactory();
55
56 MCAPI static void shutdown();
57 // NOLINTEND
58
59public:
60 // static variables
61 // NOLINTBEGIN
62 MCAPI static ::std::unordered_map<::std::string, ::std::function<::std::unique_ptr<::OnHitSubcomponent>()>>&
63 mSubcomponentMap();
64 // NOLINTEND
65
66public:
67 // constructor thunks
68 // NOLINTBEGIN
69 MCFOLD void* $ctor(::Level& level);
70 // NOLINTEND
71};
Definition Actor.h:125
Definition Value.h:16
Definition Level.h:255
Definition Mob.h:57
Definition OnHitSubcomponent.h:12
Definition Vec3.h:10
Definition ActorDefinitionIdentifier.h:15