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;
22struct ActorUniqueID;
24// clang-format on
25
26class Minecart : public ::Actor {
27public:
28 // member variables
29 // NOLINTBEGIN
30 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::CompoundTag>> mDisplayBlockSerId;
31 ::ll::TypedStorage<1, 1, bool> mFlipped;
32 ::ll::TypedStorage<4, 4, float> mRailRenderRot;
33 ::ll::TypedStorage<8, 8, uint64> mBaseLoop;
34 ::ll::TypedStorage<8, 8, uint64> mRidingLoop;
35 ::ll::TypedStorage<4, 4, float> mSmoothSpeed;
36 // NOLINTEND
37
38public:
39 // prevent constructor by default
40 Minecart();
41
42public:
43 // virtual functions
44 // NOLINTBEGIN
45 virtual ~Minecart() /*override*/;
46
47 virtual void reloadHardcoded(::ActorInitializationMethod method, ::VariantParameterList const& params) /*override*/;
48
49 virtual void reloadHardcodedClient(::ActorInitializationMethod method) /*override*/;
50
51 virtual void destroy(::ActorDamageSource const& source, bool dropMinecartComponents);
52
53 virtual ::MinecartType getType() = 0;
54
55 virtual ::Block const* getDefaultDisplayBlock() const;
56
57 virtual int getDefaultDisplayOffset() const;
58
59 virtual float getShadowRadius() const /*override*/;
60
61 virtual ::ActorUniqueID getControllingPlayer() const /*override*/;
62
63 virtual bool isInvulnerableTo(::ActorDamageSource const& source) const /*override*/;
64
65 virtual float getInterpolatedBodyYaw(float) const /*override*/;
66
67 virtual void readAdditionalSaveData(::CompoundTag const& tag, ::DataLoadHelper& dataLoadHelper) /*override*/;
68
69 virtual void addAdditionalSaveData(::CompoundTag& tag) const /*override*/;
70
71 virtual void kill() /*override*/;
72
73 virtual ::ActorHurtResult
74 _hurt(::ActorDamageSource const& source, float damage, bool knock, bool ignite) /*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 // NOLINTEND
106
107public:
108 // constructor thunks
109 // NOLINTBEGIN
110 MCAPI void* $ctor(
111 ::ActorDefinitionGroup* definitions,
112 ::ActorDefinitionIdentifier const& definitionName,
113 ::EntityContext& entityContext
114 );
115 // NOLINTEND
116
117public:
118 // destructor thunk
119 // NOLINTBEGIN
120 MCAPI void $dtor();
121 // NOLINTEND
122
123public:
124 // virtual function thunks
125 // NOLINTBEGIN
126 MCAPI void $reloadHardcoded(::ActorInitializationMethod method, ::VariantParameterList const& params);
127
128 MCAPI void $reloadHardcodedClient(::ActorInitializationMethod method);
129
130 MCAPI void $destroy(::ActorDamageSource const& source, bool dropMinecartComponents);
131
132 MCFOLD ::Block const* $getDefaultDisplayBlock() const;
133
134 MCFOLD int $getDefaultDisplayOffset() const;
135
136 MCFOLD float $getShadowRadius() const;
137
138 MCFOLD ::ActorUniqueID $getControllingPlayer() const;
139
140 MCFOLD bool $isInvulnerableTo(::ActorDamageSource const& source) const;
141
142 MCAPI float $getInterpolatedBodyYaw(float) const;
143
144 MCAPI void $readAdditionalSaveData(::CompoundTag const& tag, ::DataLoadHelper& dataLoadHelper);
145
146 MCAPI void $addAdditionalSaveData(::CompoundTag& tag) const;
147
148 MCAPI void $kill();
149
150 MCAPI ::ActorHurtResult $_hurt(::ActorDamageSource const& source, float damage, bool knock, bool ignite);
151
152 MCAPI void $applyNaturalSlowdown(::BlockSource& region);
153
154 MCAPI void $_lazyInitDisplayBlock();
155
156
157 // NOLINTEND
158
159public:
160 // vftables
161 // NOLINTBEGIN
162 MCAPI static void** $vftable();
163 // NOLINTEND
164};
Definition ActorDamageSource.h:18
Definition ActorDefinitionGroup.h:36
Definition ActorHurtResult.h:5
Definition BlockPos.h:19
Definition BlockSource.h:71
Definition Block.h:43
Definition CompoundTag.h:23
Definition DataLoadHelper.h:20
Definition EntityContext.h:16
Definition ActorDefinitionIdentifier.h:15
Definition ActorUniqueID.h:5
Definition VariantParameterList.h:13