LeviLamina
Loading...
Searching...
No Matches
BreedableComponent.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated forward declare list
6// clang-format off
7class Actor;
11class IRandom;
12class ItemStack;
13class Player;
14struct ActorUniqueID;
15struct BreedableType;
17// clang-format on
18
20public:
21 // BreedableComponent inner types declare
22 // clang-format off
23 struct MatingResult;
24 // clang-format on
25
26 // BreedableComponent inner types define
27 struct MatingResult {
28 public:
29 // member variables
30 // NOLINTBEGIN
32 // NOLINTEND
33
34 public:
35 // prevent constructor by default
36 MatingResult& operator=(MatingResult const&);
39
40 public:
41 // member functions
42 // NOLINTBEGIN
43 MCAPI ~MatingResult();
44 // NOLINTEND
45
46 public:
47 // destructor thunk
48 // NOLINTBEGIN
49 MCFOLD void $dtor();
50 // NOLINTEND
51 };
52
53public:
54 // member variables
55 // NOLINTBEGIN
56 ::ll::TypedStorage<8, 8, ::BreedableDefinition const*> mStaticData;
57 ::ll::TypedStorage<4, 4, int> mLoveTimer;
58 ::ll::TypedStorage<4, 4, int> mBreedCooldown;
59 ::ll::TypedStorage<4, 4, int> mBreedCooldownTime;
60 ::ll::TypedStorage<1, 1, bool> mInheritTamed;
61 ::ll::TypedStorage<1, 1, bool> mCausesPregnancy;
62 ::ll::TypedStorage<8, 8, ::ActorUniqueID> mLoveCause;
63 // NOLINTEND
64
65public:
66 // member functions
67 // NOLINTBEGIN
68 MCAPI bool _canBreed(::Actor& owner, ::Player& player, ::ItemStack const& playerItem);
69
70 MCAPI ::std::optional<::BreedableType> _determineBreedType(::Actor const& partner) const;
71
72 MCAPI ::Actor* _handleMate(::Actor& owner, ::Actor& partner);
73
74 MCAPI void _handlePregnancy(::Actor& owner, ::Actor& partner);
75
76 MCAPI bool _meetsEnvironmentRequirements(::Actor& owner) const;
77
78 MCAPI void _spawnExperienceOrbs(::Actor& owner);
79
80 MCAPI void _spawnLoveParticles(::Actor& owner);
81
82 MCAPI void _useBreedItem(::Actor& owner, ::Player& player, ::ItemStack const&);
83
84 MCAPI bool canMate(::Actor const& owner, ::Actor const& partner) const;
85
86 MCAPI bool getInteraction(::Actor& owner, ::Player& player, ::ActorInteraction& interaction);
87
88 MCAPI ::Player* getLoveCause(::Actor const& owner) const;
89
90 MCAPI ::BreedableComponent::MatingResult mate(::Actor& owner, ::Actor& partner);
91
92 MCAPI bool meetsSittingRequirements(::Actor const& actor) const;
93 // NOLINTEND
94
95public:
96 // static functions
97 // NOLINTBEGIN
98 MCAPI static void setOffspringAttributesWithParentCentricBlending(
100 ::AttributeInstance const& owner,
101 ::AttributeInstance const& partner,
102 ::IRandom& random,
103 float attributeRangeMin,
104 float attributeRangeMax
105 );
106 // NOLINTEND
107};
Definition ActorInteraction.h:5
Definition Actor.h:104
Definition AttributeInstance.h:16
Definition BreedableComponent.h:19
Definition BreedableDefinition.h:16
Definition IRandom.h:10
Definition ItemStack.h:25
Definition Player.h:119
Definition ActorUniqueID.h:5
Definition BreedableComponent.h:27
Definition BreedableType.h:5
Definition MutableAttributeWithContext.h:11
Definition Alias.h:14