LeviLamina
Loading...
Searching...
No Matches
BreedableComponent.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/legacy/ActorUniqueID.h"
7
8// auto generated forward declare list
9// clang-format off
10class Actor;
13class CompoundTag;
14class DataLoadHelper;
16class ItemStack;
17class Player;
18class WeakEntityRef;
20// clang-format on
21
23public:
24 // BreedableComponent inner types define
25 using MatingResult = ::std::vector<::WeakEntityRef>;
26
27public:
28 // member variables
29 // NOLINTBEGIN
30 ::ll::TypedStorage<8, 8, ::BreedableDefinition const*> mStaticData;
31 ::ll::TypedStorage<4, 4, int> mLoveTimer;
32 ::ll::TypedStorage<4, 4, int> mBreedCooldown;
33 ::ll::TypedStorage<4, 4, int> mBreedCooldownTime;
34 ::ll::TypedStorage<8, 8, ::ActorUniqueID> mLoveCause;
35 // NOLINTEND
36
37public:
38 // member functions
39 // NOLINTBEGIN
40 MCAPI bool _canBreed(::Actor& owner, ::Player& player, ::ItemStack const& playerItem);
41
42 MCAPI ::Actor const* _handleMate(::Actor& owner, ::Actor& partner, ::OffspringDefinition const& offspringData);
43
44 MCAPI void _handlePregnancy(::Actor& owner, ::Actor& partner);
45
46 MCAPI bool _meetsEnvironmentRequirements(::Actor& owner) const;
47
48 MCAPI void _spawnExperienceOrbs(::Actor& owner);
49
50 MCAPI void _spawnLoveParticles(::Actor& owner);
51
52 MCAPI void addAdditionalSaveData(::CompoundTag& tag) const;
53
54 MCAPI bool canMate(::Actor const& owner, ::Actor const& partner) const;
55
56 MCFOLD void decrementBreedCooldown();
57
58 MCAPI void decrementLoveTimer();
59
60 MCFOLD int getBreedCooldown() const;
61
62 MCAPI ::InteractionResult getInteraction(::Actor& owner, ::Player& player, ::ActorInteraction& interaction);
63
64 MCFOLD int getLoveTimer() const;
65
66 MCAPI ::std::vector<::WeakEntityRef> mate(::Actor& owner, ::Actor& partner);
67
68 MCAPI bool meetsSittingRequirements(::Actor const& actor) const;
69
70 MCAPI void readAdditionalSaveData(::Actor&, ::CompoundTag const& tag, ::DataLoadHelper&);
71
72 MCAPI void resetLove(::Actor& owner);
73
74 MCAPI void setInLove(::Actor& owner, ::Player const* player);
75
76 MCFOLD void setLoveTimer(int loveTimer);
77 // NOLINTEND
78};
Definition ActorInteraction.h:8
Definition Actor.h:125
Definition BreedableComponent.h:22
Definition BreedableDefinition.h:21
Definition CompoundTag.h:23
Definition DataLoadHelper.h:20
Definition InteractionResult.h:5
Definition ItemStack.h:35
Definition Player.h:137
Definition WeakEntityRef.h:14
Definition OffspringDefinition.h:13