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 Block;
15class BlockPos;
16class BlockSource;
17class CompoundTag;
18class DataLoadHelper;
19class EntityContext;
21struct ActorUniqueID;
23// clang-format on
24
25class Minecart : public ::Actor {
26public:
27 // member variables
28 // NOLINTBEGIN
29 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::CompoundTag>> mDisplayBlockSerId;
30 ::ll::TypedStorage<1, 1, bool> mFlipped;
31 ::ll::TypedStorage<4, 4, float> mRailRenderRot;
32 ::ll::TypedStorage<8, 8, uint64> mBaseLoop;
33 ::ll::TypedStorage<8, 8, uint64> mRidingLoop;
34 ::ll::TypedStorage<4, 4, float> mSmoothSpeed;
35 // NOLINTEND
36
37public:
38 // prevent constructor by default
39 Minecart();
40
41public:
42 // virtual functions
43 // NOLINTBEGIN
44 virtual ~Minecart() /*override*/;
45
46 virtual void reloadHardcoded(::ActorInitializationMethod method, ::VariantParameterList const& params) /*override*/;
47
48 virtual void reloadHardcodedClient(::ActorInitializationMethod method) /*override*/;
49
50 virtual void destroy(::ActorDamageSource const&, bool dropMinecartComponents);
51
52 virtual ::MinecartType getType() = 0;
53
54 virtual ::Block const* getDefaultDisplayBlock() const;
55
56 virtual int getDefaultDisplayOffset() const;
57
58 virtual float getShadowRadius() const /*override*/;
59
60 virtual ::ActorUniqueID getControllingPlayer() const /*override*/;
61
62 virtual bool isInvulnerableTo(::ActorDamageSource const& source) const /*override*/;
63
64 virtual float getInterpolatedBodyYaw(float) const /*override*/;
65
66 virtual void readAdditionalSaveData(::CompoundTag const& tag, ::DataLoadHelper& dataLoadHelper) /*override*/;
67
68 virtual void addAdditionalSaveData(::CompoundTag& tag) const /*override*/;
69
70 virtual void kill() /*override*/;
71
72 virtual bool _hurt(::ActorDamageSource const& source, float damage, bool, bool) /*override*/;
73
74 virtual void applyNaturalSlowdown(::BlockSource&);
75
76 virtual void _lazyInitDisplayBlock();
77 // NOLINTEND
78
79public:
80 // member functions
81 // NOLINTBEGIN
82 MCAPI Minecart(
83 ::ActorDefinitionGroup* definitions,
84 ::ActorDefinitionIdentifier const& definitionName,
85 ::EntityContext& entityContext
86 );
87
88 MCAPI void _registerLoopingSounds();
89
90 MCAPI void dropMinecartWithContentsAndRemove(::std::string_view vanillaMinecartName, bool dropMinecartComponents);
91
92 MCAPI_C ::Block const* getDisplayBlock() const;
93
94 MCAPI_C int getDisplayOffset() const;
95
96 MCAPI void postNormalTick(::BlockPos const& preNormalTickBlockPos);
97
98 MCAPI ::BlockPos preNormalTick();
99
100 MCAPI void setDisplayBlock(::Block const& block);
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 // destructor thunk
115 // NOLINTBEGIN
116 MCAPI void $dtor();
117 // NOLINTEND
118
119public:
120 // virtual function thunks
121 // NOLINTBEGIN
122 MCAPI void $reloadHardcoded(::ActorInitializationMethod method, ::VariantParameterList const& params);
123
124 MCAPI void $reloadHardcodedClient(::ActorInitializationMethod method);
125
126 MCAPI void $destroy(::ActorDamageSource const&, bool dropMinecartComponents);
127
128 MCFOLD ::Block const* $getDefaultDisplayBlock() const;
129
130 MCFOLD int $getDefaultDisplayOffset() const;
131
132 MCFOLD float $getShadowRadius() const;
133
134 MCFOLD ::ActorUniqueID $getControllingPlayer() const;
135
136 MCFOLD bool $isInvulnerableTo(::ActorDamageSource const& source) const;
137
138 MCAPI float $getInterpolatedBodyYaw(float) const;
139
140 MCAPI void $readAdditionalSaveData(::CompoundTag const& tag, ::DataLoadHelper& dataLoadHelper);
141
142 MCAPI void $addAdditionalSaveData(::CompoundTag& tag) const;
143
144 MCAPI void $kill();
145
146 MCAPI bool $_hurt(::ActorDamageSource const& source, float damage, bool, bool);
147
148 MCAPI void $applyNaturalSlowdown(::BlockSource&);
149
150 MCAPI void $_lazyInitDisplayBlock();
151
152
153 // NOLINTEND
154
155public:
156 // vftables
157 // NOLINTBEGIN
158 MCAPI static void** $vftable();
159 // NOLINTEND
160};
Definition ActorDamageSource.h:18
Definition ActorDefinitionGroup.h:35
Definition BlockPos.h:19
Definition BlockSource.h:68
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