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