Skip to content
LeviMC
English
AutoLightDark
LeviLamina
Loading...
Searching...
No Matches
ImpactDamageSubcomponent.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/shared_types/v1_26_50/actor/ImpactDamageSubcomponentDefinition.h"
7#include "mc/entity/components_json_legacy/OnHitSubcomponent.h"
8#include "mc/util/FloatRange.h"
9#include "mc/world/actor/ActorType.h"
10
11// auto generated forward declare list
12// clang-format off
13class Actor;
15namespace Json { class Value; }
16namespace SharedTypes::v1_26_50 { struct ProjectileOnHitSubcomponent; }
17// clang-format on
18
20public:
21 // ImpactDamageSubcomponent inner types define
22 using DifficultyRandomization =
23 ::SharedTypes::v1_26_50::ImpactDamageSubcomponentDefinition::DifficultyRandomization;
24
25public:
26 // member variables
27 // NOLINTBEGIN
28 ::ll::TypedStorage<4, 8, ::FloatRange> mProjectileDamage;
29 ::ll::TypedStorage<4, 4, ::ActorType> mFilter;
30 ::ll::TypedStorage<1, 1, bool> mCatchFire;
31 ::ll::TypedStorage<1, 1, bool> mSpreadFire;
32 ::ll::TypedStorage<1, 1, bool> mChanneling;
33 ::ll::TypedStorage<1, 1, bool> mKnockback;
34 ::ll::TypedStorage<1, 1, ::SharedTypes::v1_26_50::ImpactDamageSubcomponentDefinition::DifficultyRandomization>
35 mDifficultyRandomization;
36 ::ll::TypedStorage<1, 1, bool> mCeilPreCriticalDamage;
37 ::ll::TypedStorage<1, 1, bool> mDestroyOnHit;
38 ::ll::TypedStorage<1, 1, bool> mRegisterLastHurtRequiresDamage;
39 ::ll::TypedStorage<1, 1, bool> mDestroyOnHitRequiresDamage;
40 ::ll::TypedStorage<1, 1, bool> mApplyKnockbackToBlockingTargets;
41 ::ll::TypedStorage<4, 4, int> mMaxCriticalDamage;
42 ::ll::TypedStorage<4, 4, int> mMinCriticalDamage;
43 ::ll::TypedStorage<4, 4, float> mPowerMultiplier;
44 // NOLINTEND
45
46public:
47 // virtual functions
48 // NOLINTBEGIN
49 virtual void initFromDefinition(::SharedTypes::v1_26_50::ProjectileOnHitSubcomponent const& component) /*override*/;
50
51 virtual void writetoJSON(::Json::Value& component) const /*override*/;
52
53 virtual void doOnHitEffect(::Actor& owner, ::ProjectileComponent& component) /*override*/;
54
55 virtual char const* getName() const /*override*/;
56 // NOLINTEND
57
58public:
59 // virtual function thunks
60 // NOLINTBEGIN
62
63 MCNAPI void $writetoJSON(::Json::Value& component) const;
64
65 MCNAPI void $doOnHitEffect(::Actor& owner, ::ProjectileComponent& component);
66
67 MCNAPI char const* $getName() const;
68
69
70 // NOLINTEND
71};
Definition Actor.h:116
Definition ImpactDamageSubcomponent.h:19
MCAPI void $doOnHitEffect(::Actor &owner, ::ProjectileComponent &component)
MCAPI void $initFromDefinition(::SharedTypes::v1_26_50::ProjectileOnHitSubcomponent const &component)
MCAPI void $writetoJSON(::Json::Value &component) const
MCAPI char const * $getName() const
Definition Value.h:16
Definition OnHitSubcomponent.h:13
Definition ProjectileComponent.h:30
Definition ProjectileOnHitSubcomponent.h:7