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