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 Player;
17class SemVersion;
18class Vec3;
20namespace SharedTypes::v1_20_50 { struct ProjectileItemComponent; }
21namespace cereal { struct ReflectionCtx; }
22// clang-format on
23
24class ProjectileItemComponent : public ::NetworkedItemComponent<::ProjectileItemComponent> {
25public:
26 // member variables
27 // NOLINTBEGIN
28 ::ll::TypedStorage<4, 4, float> mMinCriticalPower;
29 ::ll::TypedStorage<8, 176, ::ActorDefinitionIdentifier> mActorIdentifier;
30 // NOLINTEND
31
32public:
33 // prevent constructor by default
34 ProjectileItemComponent();
35
36public:
37 // member functions
38 // NOLINTBEGIN
39 MCAPI explicit ProjectileItemComponent(::SharedTypes::v1_20_50::ProjectileItemComponent component);
40
41 MCAPI ProjectileItemComponent(::ActorType actorType, float minCriticalPower);
42
43 MCAPI bool dispense(::BlockSource& region, ::Container& container, int slot, ::Vec3 const& pos, uchar face) const;
44
45 MCAPI ::Actor* shootProjectile(
46 ::BlockSource& region,
47 ::Vec3 const& aimPos,
48 ::Vec3 const& aimDir,
49 float power,
50 ::Player* player
51 ) const;
52 // NOLINTEND
53
54public:
55 // static functions
56 // NOLINTBEGIN
57 MCAPI static void bindType(
59 ::std::vector<::AllExperiments> const& requiredToggles,
60 ::std::optional<::SemVersion> releasedMinFormatVersion
61 );
62 // NOLINTEND
63
64public:
65 // constructor thunks
66 // NOLINTBEGIN
67 MCAPI void* $ctor(::SharedTypes::v1_20_50::ProjectileItemComponent component);
68
69 MCAPI void* $ctor(::ActorType actorType, float minCriticalPower);
70 // NOLINTEND
71
72public:
73 // vftables
74 // NOLINTBEGIN
75 MCNAPI static void** $vftable();
76 // NOLINTEND
77};
Definition Actor.h:114
Definition BlockSource.h:71
Definition Container.h:33
Definition NetworkedItemComponent.h:7
Definition Player.h:129
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