LeviLamina
Loading...
Searching...
No Matches
ExperienceOrb.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/actor/Actor.h"
8#include "mc/world/actor/ActorInitializationMethod.h"
9
10// auto generated forward declare list
11// clang-format off
14class BlockSource;
15class CompoundTag;
16class DataLoadHelper;
17class EntityContext;
18class Level;
19class Player;
20class Vec3;
23// clang-format on
24
25class ExperienceOrb : public ::Actor {
26public:
27 // ExperienceOrb inner types define
28 enum class DropType : uchar {
29 NoType = 0,
30 FromBlock = 1,
31 FromMob = 2,
32 FromPlayer = 3,
33 };
34
35public:
36 // member variables
37 // NOLINTBEGIN
38 ::ll::TypedStorage<8, 8, ::ActorUniqueID> mFollowingPlayer;
39 ::ll::TypedStorage<4, 4, int> mFollowingTime;
40 ::ll::TypedStorage<4, 4, int> mAge;
41 ::ll::TypedStorage<4, 4, int> mHealth;
42 ::ll::TypedStorage<4, 4, int> mRandomPickupValue;
43 // NOLINTEND
44
45public:
46 // prevent constructor by default
48
49public:
50 // virtual functions
51 // NOLINTBEGIN
52 // vIndex: 2
53 virtual void reloadHardcoded(::ActorInitializationMethod method, ::VariantParameterList const& params) /*override*/;
54
55 // vIndex: 137
56 virtual void addAdditionalSaveData(::CompoundTag& tag) const /*override*/;
57
58 // vIndex: 136
59 virtual void readAdditionalSaveData(::CompoundTag const& tag, ::DataLoadHelper& dataLoadHelper) /*override*/;
60
61 // vIndex: 39
62 virtual void playerTouch(::Player& player) /*override*/;
63
64 // vIndex: 35
65 virtual float getShadowRadius() const /*override*/;
66
67 // vIndex: 64
68 virtual bool isInvulnerableTo(::ActorDamageSource const& source) const /*override*/;
69
70 // vIndex: 135
71 virtual bool _hurt(::ActorDamageSource const&, float damage, bool, bool) /*override*/;
72
73 // vIndex: 132
74 virtual void doWaterSplashEffect() /*override*/;
75
76 // vIndex: 8
77 virtual ~ExperienceOrb() /*override*/ = default;
78 // NOLINTEND
79
80public:
81 // member functions
82 // NOLINTBEGIN
83 MCAPI ExperienceOrb(
84 ::ActorDefinitionGroup* definitions,
85 ::ActorDefinitionIdentifier const& definitionName,
86 ::EntityContext& entityContext
87 );
88
89 MCAPI void _handleMending(::Player& player);
90
91 MCAPI void _tryMergeExistingOrbs();
92
93 MCAPI int getValue() const;
94
95 MCAPI void postNormalTick();
96 // NOLINTEND
97
98public:
99 // static functions
100 // NOLINTBEGIN
101 MCAPI static void _spawnOrb(::BlockSource& region, ::Level& level, ::Vec3 const& pos, int orbXPValue);
102
103 MCAPI static bool _tryMergeIntoExistingOrbs(::BlockSource& region, ::Vec3 const& pos, int xpValue);
104
105 MCAPI static void spawnOrbs(
106 ::BlockSource& region,
107 ::Vec3 const& pos,
108 int xpValue,
109 ::ExperienceOrb::DropType dropType,
110 ::Player* owner
111 );
112 // NOLINTEND
113
114public:
115 // constructor thunks
116 // NOLINTBEGIN
117 MCAPI void* $ctor(
118 ::ActorDefinitionGroup* definitions,
119 ::ActorDefinitionIdentifier const& definitionName,
120 ::EntityContext& entityContext
121 );
122 // NOLINTEND
123
124public:
125 // virtual function thunks
126 // NOLINTBEGIN
127 MCAPI void $reloadHardcoded(::ActorInitializationMethod method, ::VariantParameterList const& params);
128
129 MCAPI void $addAdditionalSaveData(::CompoundTag& tag) const;
130
131 MCAPI void $readAdditionalSaveData(::CompoundTag const& tag, ::DataLoadHelper& dataLoadHelper);
132
133 MCAPI void $playerTouch(::Player& player);
134
135 MCFOLD float $getShadowRadius() const;
136
137 MCAPI bool $isInvulnerableTo(::ActorDamageSource const& source) const;
138
139 MCAPI bool $_hurt(::ActorDamageSource const&, float damage, bool, bool);
140
141 MCFOLD void $doWaterSplashEffect();
142 // NOLINTEND
143
144public:
145 // vftables
146 // NOLINTBEGIN
147 MCNAPI static void** $vftable();
148 // NOLINTEND
149};
Definition ActorDamageSource.h:18
Definition ActorDefinitionGroup.h:29
Definition Actor.h:103
Definition BlockSource.h:67
Definition CompoundTag.h:13
Definition DataLoadHelper.h:20
Definition EntityContext.h:16
Definition ExperienceOrb.h:25
static MCAPI void ** $vftable()
Definition Level.h:238
Definition Player.h:119
Definition Vec3.h:10
Definition ActorDefinitionIdentifier.h:15
Definition VariantParameterList.h:5