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;
23struct HurtParameters;
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 method, ::VariantParameterList const& params) /*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
75 _hurt(::ActorDamageSource const& source, float damage, ::HurtParameters const& hurtParameters) /*override*/;
76
77 virtual void applyNaturalSlowdown(::BlockSource& region);
78
79 virtual void _lazyInitDisplayBlock();
80 // NOLINTEND
81
82public:
83 // member functions
84 // NOLINTBEGIN
85 MCAPI Minecart(
86 ::ActorDefinitionGroup* definitions,
87 ::ActorDefinitionIdentifier const& definitionName,
88 ::EntityContext& entityContext
89 );
90
91 MCAPI void _registerLoopingSounds();
92
93 MCAPI void dropMinecartWithContentsAndRemove(::std::string_view vanillaMinecartName, bool dropMinecartComponents);
94
95#ifdef LL_PLAT_C
96 MCAPI ::Block const* getDisplayBlock() const;
97
98 MCAPI int getDisplayOffset() const;
99#endif
100
101 MCAPI void postNormalTick(::BlockPos const& preNormalTickBlockPos);
102
103 MCAPI ::BlockPos preNormalTick();
104
105 MCAPI void setDisplayBlock(::Block const& block);
106 // NOLINTEND
107
108public:
109 // constructor thunks
110 // NOLINTBEGIN
111 MCAPI void* $ctor(
112 ::ActorDefinitionGroup* definitions,
113 ::ActorDefinitionIdentifier const& definitionName,
114 ::EntityContext& entityContext
115 );
116 // NOLINTEND
117
118public:
119 // destructor thunk
120 // NOLINTBEGIN
121 MCAPI void $dtor();
122 // NOLINTEND
123
124public:
125 // virtual function thunks
126 // NOLINTBEGIN
127 MCAPI void $reloadHardcoded(::ActorInitializationMethod method, ::VariantParameterList const& params);
128
129 MCAPI void $reloadHardcodedClient(::ActorInitializationMethod method);
130
131 MCAPI void $destroy(::ActorDamageSource const& source, bool dropMinecartComponents);
132
133 MCFOLD ::Block const* $getDefaultDisplayBlock() const;
134
135 MCFOLD int $getDefaultDisplayOffset() const;
136
137 MCFOLD float $getShadowRadius() const;
138
139 MCFOLD ::ActorUniqueID $getControllingPlayer() const;
140
141 MCFOLD bool $isInvulnerableTo(::ActorDamageSource const& source) const;
142
143 MCAPI float $getInterpolatedBodyYaw(float) const;
144
145 MCAPI void $readAdditionalSaveData(::CompoundTag const& tag, ::DataLoadHelper& dataLoadHelper);
146
147 MCAPI void $addAdditionalSaveData(::CompoundTag& tag) const;
148
149 MCAPI void $kill();
150
151 MCAPI ::ActorHurtResult
152 $_hurt(::ActorDamageSource const& source, float damage, ::HurtParameters const& hurtParameters);
153
154 MCAPI void $applyNaturalSlowdown(::BlockSource& region);
155
156 MCAPI void $_lazyInitDisplayBlock();
157
158
159 // NOLINTEND
160};
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 ActorDefinitionIdentifier.h:15
Definition ActorUniqueID.h:5
Definition HurtParameters.h:8
Definition VariantParameterList.h:14