LeviLamina
Loading...
Searching...
No Matches
FallingBlockActor.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/math/Vec3.h"
7#include "mc/world/actor/ActorInitializationMethod.h"
8#include "mc/world/actor/projectile/PredictableProjectile.h"
9#include "mc/world/level/block/NewBlockID.h"
10
11// auto generated forward declare list
12// clang-format off
15class ActorHurtResult;
16class Block;
17class BlockPos;
18class BlockSource;
19class CompoundTag;
20class DataLoadHelper;
21class EntityContext;
22class ITickDelegate;
24struct HurtParameters;
26// clang-format on
27
28class FallingBlockActor : public ::PredictableProjectile {
29public:
30 // FallingBlockActor inner types define
31 enum class State : int {
32 Falling = 0,
33 WaitRemoval = 1,
34 };
35
36public:
37 // member variables
38 // NOLINTBEGIN
39 ::ll::TypedStorage<1, 1, bool> mCreative;
40 ::ll::TypedStorage<4, 4, ::FallingBlockActor::State> mState;
41 ::ll::TypedStorage<4, 4, int> mWaitTicks;
42 ::ll::TypedStorage<4, 4, int> mTime;
43 ::ll::TypedStorage<1, 1, bool> mCancelDrop;
44 ::ll::TypedStorage<1, 1, bool> mHurtEntities;
45 ::ll::TypedStorage<4, 4, int> mFallDamageMax;
46 ::ll::TypedStorage<4, 4, float> mFallDamageAmount;
47 ::ll::TypedStorage<4, 12, ::Vec3> mRenderOffset;
48 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::CompoundTag>> mFallingBlockSerId;
49 ::ll::TypedStorage<2, 2, ::NewBlockID> mFallingBlockId;
50 ::ll::TypedStorage<2, 2, ushort> mFallingBlockData;
51 // NOLINTEND
52
53public:
54 // prevent constructor by default
55 FallingBlockActor();
56
57public:
58 // virtual functions
59 // NOLINTBEGIN
60 virtual void reloadHardcoded(::ActorInitializationMethod method, ::VariantParameterList const& params) /*override*/;
61
62 virtual void normalTick() /*override*/;
63
64 virtual float getShadowRadius() const /*override*/;
65
66 virtual float causeFallDamageToActor(float distance, float multiplier, ::ActorDamageSource source) /*override*/;
67
68 virtual void teleportTo(
69 ::Vec3 const& pos,
70 bool shouldStopRiding,
71 int cause,
72 int sourceEntityType,
73 bool keepVelocity
74 ) /*override*/;
75
76 virtual bool canChangeDimensionsUsingPortal() const /*override*/;
77
78 virtual void onSynchedDataUpdate(int dataId) /*override*/;
79
80 virtual ::ActorHurtResult _hurt(::ActorDamageSource const&, float, ::HurtParameters const&) /*override*/;
81
82 virtual void addAdditionalSaveData(::CompoundTag& tag) const /*override*/;
83
84 virtual void readAdditionalSaveData(::CompoundTag const& tag, ::DataLoadHelper& dataLoadHelper) /*override*/;
85 // NOLINTEND
86
87public:
88 // member functions
89 // NOLINTBEGIN
90 MCAPI FallingBlockActor(
91 ::ActorDefinitionGroup* definitions,
92 ::ActorDefinitionIdentifier const& definitionName,
93 ::EntityContext& entityContext
94 );
95
96 MCAPI bool _isBeingPushedUp(::Block const& pushingBlock, ::BlockSource& region, ::BlockPos const blockPos) const;
97
98 MCAPI void breakBlock();
99
100 MCAPI void doNormalTick(::ITickDelegate& tickDelegate);
101
102 MCAPI void setFallingBlock(::Block const& block, bool creative);
103 // NOLINTEND
104
105public:
106 // constructor thunks
107 // NOLINTBEGIN
108 MCAPI void* $ctor(
109 ::ActorDefinitionGroup* definitions,
110 ::ActorDefinitionIdentifier const& definitionName,
111 ::EntityContext& entityContext
112 );
113 // NOLINTEND
114
115public:
116 // virtual function thunks
117 // NOLINTBEGIN
118 MCAPI void $reloadHardcoded(::ActorInitializationMethod method, ::VariantParameterList const& params);
119
120 MCAPI void $normalTick();
121
122 MCFOLD float $getShadowRadius() const;
123
124 MCAPI float $causeFallDamageToActor(float distance, float multiplier, ::ActorDamageSource source);
125
126 MCFOLD void
127 $teleportTo(::Vec3 const& pos, bool shouldStopRiding, int cause, int sourceEntityType, bool keepVelocity);
128
129 MCAPI bool $canChangeDimensionsUsingPortal() const;
130
131 MCAPI void $onSynchedDataUpdate(int dataId);
132
133 MCAPI ::ActorHurtResult $_hurt(::ActorDamageSource const&, float, ::HurtParameters const&);
134
135 MCAPI void $addAdditionalSaveData(::CompoundTag& tag) const;
136
137 MCAPI void $readAdditionalSaveData(::CompoundTag const& tag, ::DataLoadHelper& dataLoadHelper);
138
139
140 // NOLINTEND
141};
Definition ActorDamageSource.h:18
Definition ActorDefinitionGroup.h:26
Definition ActorHurtResult.h:5
Definition BlockPos.h:17
Definition BlockSource.h:71
Definition Block.h:41
Definition CompoundTag.h:18
Definition DataLoadHelper.h:20
Definition EntityContext.h:15
Definition ITickDelegate.h:13
Definition PredictableProjectile.h:8
Definition Vec3.h:10
Definition ActorDefinitionIdentifier.h:15
Definition HurtParameters.h:8
Definition VariantParameterList.h:14