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