LeviLamina
Loading...
Searching...
No Matches
Slime.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/comprehensive/ParticleType.h"
7#include "mc/world/actor/ActorInitializationMethod.h"
8#include "mc/world/actor/monster/Monster.h"
9
10// auto generated forward declare list
11// clang-format off
13class BlockPos;
14class CompoundTag;
15class DataLoadHelper;
16class EntityContext;
19// clang-format on
20
21class Slime : public ::Monster {
22public:
23 // Slime inner types declare
24 // clang-format off
25 struct Parameters;
26 // clang-format on
27
28 // Slime inner types define
29 enum class ClientEvent : schar {
30 None = 0,
31 JustLanded = 1,
32 JustJumped = 2,
33 };
34
35 struct Parameters {
36 public:
37 // member variables
38 // NOLINTBEGIN
39 ::ll::TypedStorage<4, 4, int> mBaseChildrenOnDeathCount;
40 ::ll::TypedStorage<4, 4, int> mMaxRandomAdditionalChildren;
41 ::ll::TypedStorage<4, 4, int> mMinSizeToPlayLandSound;
42 ::ll::TypedStorage<4, 4, float> mDecreaseSquishFactor;
43 ::ll::TypedStorage<4, 4, ::ParticleType> mLandParticleType;
44 // NOLINTEND
45 };
46
47public:
48 // member variables
49 // NOLINTBEGIN
50 ::ll::TypedStorage<4, 20, ::Slime::Parameters const> mParameters;
51 ::ll::TypedStorage<4, 4, float> mTargetSquish;
52 ::ll::TypedStorage<4, 4, float> mSquish;
53 ::ll::TypedStorage<4, 4, float> mOldSquish;
54 // NOLINTEND
55
56public:
57 // prevent constructor by default
58 Slime();
59
60public:
61 // virtual functions
62 // NOLINTBEGIN
63 virtual void reloadHardcoded(::ActorInitializationMethod method, ::VariantParameterList const& params) /*override*/;
64
65 virtual float getShadowRadius() const /*override*/;
66
67 virtual void onSynchedDataUpdate(int dataId) /*override*/;
68
69 virtual void remove() /*override*/;
70
71 virtual bool checkSpawnRules(bool fromSpawner) /*override*/;
72
73 virtual bool _shouldSquish() const;
74
75 virtual bool _shouldPlayJumpSound() const;
76
77 virtual bool _shouldPlayLandSound() const;
78
79 virtual void addAdditionalSaveData(::CompoundTag& tag) const /*override*/;
80
81 virtual void readAdditionalSaveData(::CompoundTag const& tag, ::DataLoadHelper& dataLoadHelper) /*override*/;
82
83 virtual float _getWalkTargetValue(::BlockPos const& pos) /*override*/;
84 // NOLINTEND
85
86public:
87 // member functions
88 // NOLINTBEGIN
89 MCAPI Slime(
90 ::ActorDefinitionGroup* definitions,
91 ::ActorDefinitionIdentifier const& definitionName,
92 ::EntityContext& entityContext,
93 ::Slime::Parameters parameters
94 );
95
96 MCAPI void _emitLandParticles();
97
98 MCAPI void _justJumped();
99
100 MCAPI void _justLanded();
101
102 MCAPI void _setSlimeSize(int size);
103
104 MCAPI void postNormalTick(bool wasOnGround);
105 // NOLINTEND
106
107public:
108 // constructor thunks
109 // NOLINTBEGIN
110 MCAPI void* $ctor(
111 ::ActorDefinitionGroup* definitions,
112 ::ActorDefinitionIdentifier const& definitionName,
113 ::EntityContext& entityContext,
114 ::Slime::Parameters parameters
115 );
116 // NOLINTEND
117
118public:
119 // virtual function thunks
120 // NOLINTBEGIN
121 MCAPI void $reloadHardcoded(::ActorInitializationMethod method, ::VariantParameterList const& params);
122
123 MCAPI float $getShadowRadius() const;
124
125 MCAPI void $onSynchedDataUpdate(int dataId);
126
127 MCAPI void $remove();
128
129 MCAPI bool $checkSpawnRules(bool fromSpawner);
130
131 MCFOLD bool $_shouldSquish() const;
132
133 MCAPI bool $_shouldPlayJumpSound() const;
134
135 MCAPI bool $_shouldPlayLandSound() const;
136
137 MCAPI void $addAdditionalSaveData(::CompoundTag& tag) const;
138
139 MCAPI void $readAdditionalSaveData(::CompoundTag const& tag, ::DataLoadHelper& dataLoadHelper);
140
141 MCAPI float $_getWalkTargetValue(::BlockPos const& pos);
142
143
144 // NOLINTEND
145};
Definition ActorDefinitionGroup.h:27
Definition BlockPos.h:17
Definition CompoundTag.h:18
Definition DataLoadHelper.h:20
Definition EntityContext.h:15
Definition ActorDefinitionIdentifier.h:15
Definition Slime.h:35
Definition VariantParameterList.h:14