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