31class ProjectileComponent {
34 enum class EAxis :
int {
44 ::ll::TypedStorage<1, 1, bool> mWasOnGround;
45 ::ll::TypedStorage<1, 1, bool> mNoPhysics;
46 ::ll::TypedStorage<8, 8, ::ActorUniqueID> mOwnerId;
47 ::ll::TypedStorage<4, 12, ::Vec3> mThrownPos;
48 ::ll::TypedStorage<4, 12, ::Vec3> mApexPos;
49 ::ll::TypedStorage<1, 1, bool> mFoundApex;
50 ::ll::TypedStorage<4, 4, int> mDespawnTimer;
51 ::ll::TypedStorage<4, 4, int> mLifetime;
52 ::ll::TypedStorage<4, 4, int> mFlightTime;
53 ::ll::TypedStorage<4, 4, int> mOnGroundTime;
54 ::ll::TypedStorage<4, 4, int> mShakeTime;
55 ::ll::TypedStorage<4, 12, ::BlockPos> mBlock;
56 ::ll::TypedStorage<4, 12, ::BlockPos> mStuckToBlockPos;
57 ::ll::TypedStorage<4, 12, ::Vec3> mCollisionPos;
58 ::ll::TypedStorage<4, 4, int> mEnchantPower;
59 ::ll::TypedStorage<4, 4, int> mEnchantImpaler;
60 ::ll::TypedStorage<8, 136, ::HitResult> mHitResult;
61 ::ll::TypedStorage<1, 1, uchar> mHitFacing;
62 ::ll::TypedStorage<1, 1, bool> mReflect;
63 ::ll::TypedStorage<4, 4, int> mReflectImmunityTicks;
64 ::ll::TypedStorage<4, 4, float> mPower;
65 ::ll::TypedStorage<4, 4, float> mDamage;
66 ::ll::TypedStorage<4, 12, ::Vec3> mOffset;
67 ::ll::TypedStorage<4, 4, ::ParticleType> mHitParticle;
68 ::ll::TypedStorage<4, 4, float> mGravity;
69 ::ll::TypedStorage<4, 4, float> mUpwardsAngleOffset;
70 ::ll::TypedStorage<8, 24, ::std::vector<::OnHitSubcomponent*>> mOnHitCommands;
71 ::ll::TypedStorage<8, 104, ::ActorDefinitionTrigger> mOnHitEvent;
72 ::ll::TypedStorage<4, 4, float> mUncertaintyBase;
73 ::ll::TypedStorage<4, 4, float> mUncertaintyMultiplier;
74 ::ll::TypedStorage<4, 4, ::ActorType> mFilterType;
75 ::ll::TypedStorage<4, 4, float> mOnFireTime;
76 ::ll::TypedStorage<4, 4, int> mPotionEffect;
77 ::ll::TypedStorage<4, 4, float> mSplashRange;
78 ::ll::TypedStorage<1, 1, bool> mKnockback;
79 ::ll::TypedStorage<4, 4, float> mKnockbackForce;
80 ::ll::TypedStorage<1, 1, bool> mCatchFire;
81 ::ll::TypedStorage<1, 1, bool> mChanneling;
82 ::ll::TypedStorage<1, 1, bool> mIsSplash;
83 ::ll::TypedStorage<4, 4, float> mInertiaMod;
84 ::ll::TypedStorage<4, 4, float> mLiquidInertia;
85 ::ll::TypedStorage<1, 1, bool> mSemiRandomDiffDamage;
86 ::ll::TypedStorage<4, 4, ::ProjectileAnchor> mSpawnPosAnchor;
87 ::ll::TypedStorage<4, 4, ::SharedTypes::Legacy::LevelSoundEvent> mHitEntitySound;
88 ::ll::TypedStorage<4, 4, ::SharedTypes::Legacy::LevelSoundEvent> mHitGroundSound;
89 ::ll::TypedStorage<4, 4, ::SharedTypes::Legacy::LevelSoundEvent> mShootSound;
90 ::ll::TypedStorage<1, 1, bool> mIsDangerous;
91 ::ll::TypedStorage<1, 1, bool> mShootTarget;
92 ::ll::TypedStorage<1, 1, bool> mDamageOwner;
93 ::ll::TypedStorage<1, 1, bool> mReflectOnHurt;
94 ::ll::TypedStorage<1, 1, bool> mDestroyOnHurt;
95 ::ll::TypedStorage<1, 1, bool> mStopOnHurt;
96 ::ll::TypedStorage<1, 1, bool> mCritParticleOnHurt;
97 ::ll::TypedStorage<1, 1, bool> mHitWater;
98 ::ll::TypedStorage<1, 1, bool> mHitActor;
99 ::ll::TypedStorage<1, 1, bool> mMultipleHits;
100 ::ll::TypedStorage<4, 4, int> mPiercingEnchantLevel;
101 ::ll::TypedStorage<4, 4, int> mActorHitCount;
102 ::ll::TypedStorage<8, 24, ::std::vector<::ActorType>> mIgnoredEntities;
103 ::ll::TypedStorage<1, 1, bool> mHitNearestPassenger;
104 ::ll::TypedStorage<1, 1, bool> mIsHoming;
105 ::ll::TypedStorage<8, 8, ::ActorUniqueID> mPendingTargetID;
106 ::ll::TypedStorage<8, 40, ::TempEPtr<::Actor>> mTarget;
107 ::ll::TypedStorage<8, 8, ::ActorUniqueID> mTargetID;
108 ::ll::TypedStorage<4, 12, ::Vec3> mTargetDelta;
109 ::ll::TypedStorage<4, 4, int> mFlightSteps;
110 ::ll::TypedStorage<4, 4, ::ProjectileComponent::EAxis> mCurrentMoveDirection;
111 ::ll::TypedStorage<8, 8, ::ActorUniqueID> mLastReflectActor;
112 ::ll::TypedStorage<1, 1, bool> mShouldBounce;
113 ::ll::TypedStorage<4, 4, uint> mCurrentDelay;
114 ::ll::TypedStorage<1, 1, bool> mWaitingForServer;
115 ::ll::TypedStorage<1, 1, bool> mWaitingForServerHitGround;
116 ::ll::TypedStorage<8, 136, ::HitResult> mCachedHitResult;
117 ::ll::TypedStorage<1, 1, bool> mDelayOneFrame;
118 ::ll::TypedStorage<1, 1, bool> mShouldRestoreUsesMobTravelComponent;
119 ::ll::TypedStorage<1, 1, bool> mIsolatedPhysics;
124 ProjectileComponent& operator=(ProjectileComponent
const&);
129 MCAPI ProjectileComponent();
131 MCAPI ProjectileComponent(::ProjectileComponent&&);
133 MCAPI ProjectileComponent(::ProjectileComponent
const&);
135 MCAPI ::std::tuple<::BlockPos, float>
138 MCAPI
void _handleLightningOnHit(
::Actor& owner);
140 MCAPI
bool _isLoyaltyTrident(
::Actor const& owner)
const;
142 MCAPI
void _selectNextMoveDirection(
::Actor const& owner, ::ProjectileComponent::EAxis avoidAxis);
152 MCFOLD ::ProjectileAnchor getAnchor();
154 MCAPI
bool getCatchFire()
const;
156 MCFOLD
bool getEnchantChanneling()
const;
158 MCAPI
float getGravity()
const;
160 MCFOLD
bool getIsDangerous();
162 MCAPI
float getKnockbackForce()
const;
164 MCFOLD
bool getNoPhysics()
const;
166 MCAPI ::Vec3 getOffset();
168 MCFOLD ::SharedTypes::Legacy::LevelSoundEvent getShootSound();
170 MCAPI
bool getShootTarget();
172 MCAPI ::Vec3 getShooterAngle(
::Actor& shooter)
const;
174 MCFOLD
bool getShouldBounce()
const;
176 MCAPI
bool getStopOnHurt()
const;
178 MCAPI
float getThrowPower()
const;
180 MCAPI
float getUncertainty(::SharedTypes::Legacy::Difficulty diff)
const;
182 MCAPI
float getUncertaintyBase()
const;
184 MCAPI
void handleMovementGravity(
::Actor& owner);
186 MCAPI
void handleMovementHoming(
::Actor& owner);
190 MCAPI
int incrementDespawnTimer();
192 MCAPI
int incrementFlightTime();
194 MCAPI
int incrementLifetime();
196 MCAPI
int incrementOnGroundTime();
198 MCAPI
void initFromDefinition(
::Actor& owner);
206 MCAPI ::ProjectileComponent& operator=(::ProjectileComponent&&);
210 MCAPI
void setActiveTarget(
::Actor const& owner,
::Actor* target);
212 MCAPI
void setCatchFire(
bool catchFire);
214 MCAPI
void setChanneling(
bool channeling);
216 MCAPI
void setEnchantImpaler(
int const& level);
218 MCAPI
void setGravity(
float gravity);
220 MCAPI
void setHitSound(::SharedTypes::Legacy::LevelSoundEvent hitSound);
222 MCAPI
void setKnockbackForce(
float force);
224 MCFOLD
void setNoPhysics(
bool value);
228 MCAPI
void setPotionEffect(
int potionEffect);
230 MCFOLD
void setShouldBounce(
bool bounce);
232 MCAPI
void setSplashRange(
float range);
234 MCAPI
void setStopOnHurt(
bool stopOnHurt);
243 MCAPI ~ProjectileComponent();
249 MCAPI static ::Vec2 dampenShooterAngle(
::Vec2 const& angle,
float angleOffset,
::BaseGameVersion const& currVer);
257 MCAPI
void* $ctor(::ProjectileComponent&&);
259 MCAPI
void* $ctor(::ProjectileComponent
const&);