LeviLamina
Loading...
Searching...
No Matches
ProjectileItemComponent.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/world/actor/ActorDefinitionIdentifier.h"
7#include "mc/world/actor/ActorType.h"
8#include "mc/world/item/components/NetworkedItemComponent.h"
9#include "mc/world/level/storage/AllExperiments.h"
10
11// auto generated forward declare list
12// clang-format off
13class Actor;
14class BlockSource;
15class Container;
16class HashedString;
17class ItemStack;
18class Player;
19class SemVersion;
20class Vec3;
22namespace SharedTypes::v1_20_50 { struct ProjectileItemComponent; }
23namespace cereal { struct ReflectionCtx; }
24// clang-format on
25
26class ProjectileItemComponent : public ::NetworkedItemComponent<::ProjectileItemComponent> {
27public:
28 // member variables
29 // NOLINTBEGIN
30 ::ll::TypedStorage<4, 4, float> mMinCriticalPower;
31 ::ll::TypedStorage<8, 176, ::ActorDefinitionIdentifier> mActorIdentifier;
32 // NOLINTEND
33
34public:
35 // prevent constructor by default
36 ProjectileItemComponent();
37
38public:
39 // member functions
40 // NOLINTBEGIN
41 MCAPI explicit ProjectileItemComponent(::SharedTypes::v1_20_50::ProjectileItemComponent component);
42
43 MCAPI ProjectileItemComponent(::ActorType actorType, float minCriticalPower);
44
45 MCAPI ::Actor*
46 createProjectileActor(::BlockSource& region, ::ItemStack const&, ::Vec3 const& pos, ::Vec3 const& direction) const;
47
48 MCAPI bool dispense(::BlockSource& region, ::Container& container, int slot, ::Vec3 const& pos, uchar face) const;
49
50 MCAPI ::Actor* shootProjectile(
51 ::BlockSource& region,
52 ::Vec3 const& aimPos,
53 ::Vec3 const& aimDir,
54 float power,
55 ::Player* player
56 ) const;
57 // NOLINTEND
58
59public:
60 // static functions
61 // NOLINTBEGIN
62 MCAPI static void bindType(
64 ::std::vector<::AllExperiments> const& requiredToggles,
65 ::std::optional<::SemVersion> releasedMinFormatVersion
66 );
67
68 MCAPI static ::HashedString const& getIdentifier();
69 // NOLINTEND
70
71public:
72 // constructor thunks
73 // NOLINTBEGIN
74 MCAPI void* $ctor(::SharedTypes::v1_20_50::ProjectileItemComponent component);
75
76 MCAPI void* $ctor(::ActorType actorType, float minCriticalPower);
77 // NOLINTEND
78
79public:
80 // vftables
81 // NOLINTBEGIN
82 MCNAPI static void** $vftable();
83 // NOLINTEND
84};
Definition Actor.h:125
Definition BlockSource.h:73
Definition Container.h:34
Definition HashedString.h:5
Definition ItemStack.h:35
Definition NetworkedItemComponent.h:7
Definition Player.h:137
static MCAPI void ** $vftable()
Definition SemVersion.h:15
Definition Vec3.h:10
Definition ActorDefinitionIdentifier.h:15
Definition ProjectileItemComponent.h:15
Definition ReflectionCtx.h:11
Definition ctx.h:5