LeviLamina
Loading...
Searching...
No Matches
Minecart.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/world/actor/Actor.h"
7#include "mc/world/actor/ActorInitializationMethod.h"
8#include "mc/world/actor/item/MinecartType.h"
9
10// auto generated forward declare list
11// clang-format off
14class ActorHurtResult;
15class Block;
16class BlockPos;
17class BlockSource;
18class CompoundTag;
19class DataLoadHelper;
20class EntityContext;
23struct ActorUniqueID;
25// clang-format on
26
27class Minecart : public ::Actor {
28public:
29 // member variables
30 // NOLINTBEGIN
31 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::CompoundTag>> mDisplayBlockSerId;
32 ::ll::TypedStorage<1, 1, bool> mFlipped;
33 ::ll::TypedStorage<4, 4, float> mRailRenderRot;
34 ::ll::TypedStorage<8, 8, uint64> mBaseLoop;
35 ::ll::TypedStorage<8, 8, uint64> mRidingLoop;
36 ::ll::TypedStorage<4, 4, float> mSmoothSpeed;
37 // NOLINTEND
38
39public:
40 // prevent constructor by default
41 Minecart();
42
43public:
44 // virtual functions
45 // NOLINTBEGIN
46 virtual ~Minecart() /*override*/;
47
48 virtual void reloadHardcoded(::ActorInitializationMethod, ::VariantParameterList const&) /*override*/;
49
50 virtual void reloadHardcodedClient(::ActorInitializationMethod method) /*override*/;
51
52 virtual void destroy(::ActorDamageSource const& source, bool dropMinecartComponents);
53
54 virtual ::MinecartType getType() = 0;
55
56 virtual ::Block const* getDefaultDisplayBlock() const;
57
58 virtual int getDefaultDisplayOffset() const;
59
60 virtual float getShadowRadius() const /*override*/;
61
62 virtual ::ActorUniqueID getControllingPlayer() const /*override*/;
63
64 virtual bool isInvulnerableTo(::ActorDamageSource const& source) const /*override*/;
65
66 virtual float getInterpolatedBodyYaw(float) const /*override*/;
67
68 virtual void readAdditionalSaveData(::CompoundTag const& tag, ::DataLoadHelper& dataLoadHelper) /*override*/;
69
70 virtual void addAdditionalSaveData(::CompoundTag& tag) const /*override*/;
71
72 virtual void kill() /*override*/;
73
74 virtual ::ActorHurtResult _hurt(::ActorDamageSource const& source, float damage, bool, bool) /*override*/;
75
76 virtual void applyNaturalSlowdown(::BlockSource& region);
77
78 virtual void _lazyInitDisplayBlock();
79 // NOLINTEND
80
81public:
82 // member functions
83 // NOLINTBEGIN
84 MCAPI Minecart(
85 ::ActorDefinitionGroup* definitions,
86 ::ActorDefinitionIdentifier const& definitionName,
87 ::EntityContext& entityContext
88 );
89
90 MCAPI void _registerLoopingSounds();
91
92 MCAPI void dropMinecartWithContentsAndRemove(::std::string_view vanillaMinecartName, bool dropMinecartComponents);
93
94#ifdef LL_PLAT_C
95 MCAPI ::Block const* getDisplayBlock() const;
96
97 MCAPI int getDisplayOffset() const;
98#endif
99
100 MCAPI void postNormalTick(::BlockPos const& preNormalTickBlockPos);
101
102 MCAPI ::BlockPos preNormalTick();
103
104 MCAPI void setDisplayBlock(::Block const& block);
105
106 MCAPI void setDisplayOffset(int offset);
107
108#ifdef LL_PLAT_C
109 MCAPI void setRailRenderRot(float railRot);
110#endif
111 // NOLINTEND
112
113public:
114 // static functions
115 // NOLINTBEGIN
116 MCAPI static float getHeightOffset(::AABBShapeComponent const& aabb);
117 // NOLINTEND
118
119public:
120 // constructor thunks
121 // NOLINTBEGIN
122 MCAPI void* $ctor(
123 ::ActorDefinitionGroup* definitions,
124 ::ActorDefinitionIdentifier const& definitionName,
125 ::EntityContext& entityContext
126 );
127 // NOLINTEND
128
129public:
130 // destructor thunk
131 // NOLINTBEGIN
132 MCAPI void $dtor();
133 // NOLINTEND
134
135public:
136 // virtual function thunks
137 // NOLINTBEGIN
138 MCAPI void $reloadHardcoded(::ActorInitializationMethod, ::VariantParameterList const&);
139
140 MCAPI void $reloadHardcodedClient(::ActorInitializationMethod method);
141
142 MCAPI void $destroy(::ActorDamageSource const& source, bool dropMinecartComponents);
143
144 MCFOLD ::Block const* $getDefaultDisplayBlock() const;
145
146 MCFOLD int $getDefaultDisplayOffset() const;
147
148 MCFOLD float $getShadowRadius() const;
149
150 MCFOLD ::ActorUniqueID $getControllingPlayer() const;
151
152 MCFOLD bool $isInvulnerableTo(::ActorDamageSource const& source) const;
153
154 MCAPI float $getInterpolatedBodyYaw(float) const;
155
156 MCAPI void $readAdditionalSaveData(::CompoundTag const& tag, ::DataLoadHelper& dataLoadHelper);
157
158 MCAPI void $addAdditionalSaveData(::CompoundTag& tag) const;
159
160 MCAPI void $kill();
161
162 MCAPI ::ActorHurtResult $_hurt(::ActorDamageSource const& source, float damage, bool, bool);
163
164 MCAPI void $applyNaturalSlowdown(::BlockSource& region);
165
166 MCAPI void $_lazyInitDisplayBlock();
167
168
169 // NOLINTEND
170
171public:
172 // vftables
173 // NOLINTBEGIN
174 MCAPI static void** $vftable();
175 // NOLINTEND
176};
Definition ActorDamageSource.h:18
Definition ActorDefinitionGroup.h:37
Definition ActorHurtResult.h:5
Definition BlockPos.h:21
Definition BlockSource.h:73
Definition Block.h:69
Definition CompoundTag.h:23
Definition DataLoadHelper.h:20
Definition EntityContext.h:17
Definition AABBShapeComponent.h:9
Definition ActorDefinitionIdentifier.h:15
Definition ActorUniqueID.h:10
Definition VariantParameterList.h:14