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;
14class IRandom;
15class ItemDescriptor;
16class ItemStack;
17class Player;
18struct ActorUniqueID;
19struct BreedableType;
21// clang-format on
22
24public:
25 // BreedableComponent inner types declare
26 // clang-format off
27 struct MatingResult;
28 // clang-format on
29
30 // BreedableComponent inner types define
31 struct MatingResult {
32 public:
33 // member variables
34 // NOLINTBEGIN
36 // NOLINTEND
37
38 public:
39 // prevent constructor by default
40 MatingResult& operator=(MatingResult const&);
41 MatingResult(MatingResult const&);
42 MatingResult();
43
44 public:
45 // member functions
46 // NOLINTBEGIN
47 MCAPI ~MatingResult();
48 // NOLINTEND
49
50 public:
51 // destructor thunk
52 // NOLINTBEGIN
53 MCFOLD void $dtor();
54 // NOLINTEND
55 };
56
57public:
58 // member variables
59 // NOLINTBEGIN
60 ::ll::TypedStorage<8, 8, ::BreedableDefinition const*> mStaticData;
61 ::ll::TypedStorage<4, 4, int> mLoveTimer;
62 ::ll::TypedStorage<4, 4, int> mBreedCooldown;
63 ::ll::TypedStorage<4, 4, int> mBreedCooldownTime;
64 ::ll::TypedStorage<1, 1, bool> mCausesPregnancy;
65 ::ll::TypedStorage<8, 8, ::ActorUniqueID> mLoveCause;
66 // NOLINTEND
67
68public:
69 // member functions
70 // NOLINTBEGIN
71 MCAPI bool _canBreed(::Actor& owner, ::Player& player, ::ItemStack const& playerItem);
72
73 MCAPI ::std::optional<::BreedableType> _determineBreedType(::Actor const& partner) const;
74
75 MCAPI ::Actor* _handleMate(::Actor& owner, ::Actor& partner);
76
77 MCAPI void _handlePregnancy(::Actor& owner, ::Actor& partner);
78
79 MCAPI bool _meetsEnvironmentRequirements(::Actor& owner) const;
80
81 MCAPI void _spawnExperienceOrbs(::Actor& owner);
82
83 MCAPI void _spawnLoveParticles(::Actor& owner);
84
85 MCAPI void _useBreedItem(
86 ::Actor& owner,
87 ::Player& player,
88 ::ItemStack const&,
89 ::std::optional<::ItemDescriptor> const& resultItem
90 );
91
92 MCAPI bool getInteraction(::Actor& owner, ::Player& player, ::ActorInteraction& interaction);
93
94 MCAPI ::Player* getLoveCause(::Actor const& owner) const;
95
96 MCAPI ::BreedableComponent::MatingResult mate(::Actor& owner, ::Actor& partner);
97
98 MCAPI bool meetsSittingRequirements(::Actor const& actor) const;
99 // NOLINTEND
100
101public:
102 // static functions
103 // NOLINTBEGIN
104 MCAPI static void setOffspringAttributes(
108 );
109
110 MCAPI static void setOffspringAttributesWithParentCentricBlending(
114 ::IRandom& random,
115 float attributeRangeMin,
116 float attributeRangeMax
117 );
118 // NOLINTEND
119};
Definition ActorInteraction.h:5
Definition Actor.h:105
Definition AttributeInstanceConstRef.h:13
Definition BreedableComponent.h:23
Definition BreedableDefinition.h:23
Definition IRandom.h:13
Definition ItemDescriptor.h:23
Definition ItemStack.h:26
Definition Player.h:125
Definition ActorUniqueID.h:5
Definition BreedableComponent.h:31
Definition BreedableType.h:5
Definition MutableAttributeWithContext.h:9
Definition Alias.h:14