Skip to content
LeviMC
English
AutoLightDark
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#include "mc/world/item/HandSlot.h"
8
9// auto generated forward declare list
10// clang-format off
11class Actor;
13class CompoundTag;
14class DataLoadHelper;
15class Interaction;
16class ItemStack;
17class Player;
18class WeakEntityRef;
19// clang-format on
20
22public:
23 // BreedableComponent inner types declare
24 // clang-format off
25 struct LoveCauses;
26 // clang-format on
27
28 // BreedableComponent inner types define
29 struct LoveCauses {
30 public:
31 // member variables
32 // NOLINTBEGIN
33 ::ll::TypedStorage<8, 8, ::Player const*> mPrimary;
34 ::ll::TypedStorage<8, 8, ::Player const*> mSecondary;
35 // NOLINTEND
36 };
37
38 using MatingResult = ::std::vector<::WeakEntityRef>;
39
40public:
41 // member variables
42 // NOLINTBEGIN
43 ::ll::TypedStorage<8, 8, ::BreedableDefinition const*> mStaticData;
44 ::ll::TypedStorage<4, 4, int> mLoveTimer;
45 ::ll::TypedStorage<4, 4, int> mBreedCooldown;
46 ::ll::TypedStorage<4, 4, int> mBreedCooldownTime;
47 ::ll::TypedStorage<8, 8, ::ActorUniqueID> mLoveCause;
48 // NOLINTEND
49
50public:
51 // member functions
52 // NOLINTBEGIN
53 MCNAPI bool _canBreed(::Actor& owner, ::Player& player, ::ItemStack const& playerItem, ::HandSlot handSlot);
54
55 MCNAPI void addAdditionalSaveData(::CompoundTag& tag) const;
56
57 MCNAPI bool canMate(::Actor const& owner, ::Actor const& partner) const;
58
59 MCNAPI ::Interaction getInteraction(::Actor& owner, ::Player& player, ::HandSlot handSlot);
60
61 MCAPI ::std::vector<::WeakEntityRef> mate(::Actor& owner, ::Actor& partner);
62
64 // NOLINTEND
65
66public:
67 // static functions
68 // NOLINTBEGIN
69 MCAPI static void _spawnExperienceOrbs(::Actor& owner);
70
71 MCAPI static void _spawnLoveParticles(::Actor& owner);
72
73 MCNAPI static bool meetsSittingRequirements(::Actor const& actor);
74 // NOLINTEND
75};
Definition Actor.h:116
Definition BreedableComponent.h:21
MCAPI bool _canBreed(::Actor &owner, ::Player &player, ::ItemStack const &playerItem, ::HandSlot handSlot)
MCAPI void readAdditionalSaveData(::Actor &, ::CompoundTag const &tag, ::DataLoadHelper &)
static MCAPI bool meetsSittingRequirements(::Actor const &actor)
MCAPI void addAdditionalSaveData(::CompoundTag &tag) const
MCAPI bool canMate(::Actor const &owner, ::Actor const &partner) const
MCAPI::Interaction getInteraction(::Actor &owner, ::Player &player, ::HandSlot handSlot)
Definition BreedableDefinition.h:19
Definition CompoundTag.h:18
Definition DataLoadHelper.h:20
Definition Interaction.h:9
Definition ItemStack.h:26
Definition Player.h:131
Definition WeakEntityRef.h:14
Definition BreedableComponent.h:29