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
13class ActorHurtResult;
14class BlockSource;
15class CompoundTag;
16class DataLoadHelper;
17class Level;
18class Player;
19class Vec3;
21// clang-format on
22
23class ExperienceOrb : public ::Actor {
24public:
25 // ExperienceOrb inner types define
26 enum class DropType : uchar {
27 NoType = 0,
28 FromBlock = 1,
29 FromMob = 2,
30 FromPlayer = 3,
31 };
32
33public:
34 // member variables
35 // NOLINTBEGIN
36 ::ll::TypedStorage<8, 8, ::ActorUniqueID> mFollowingPlayer;
37 ::ll::TypedStorage<4, 4, int> mFollowingTime;
38 ::ll::TypedStorage<4, 4, int> mAge;
39 ::ll::TypedStorage<4, 4, int> mHealth;
40 ::ll::TypedStorage<4, 4, int> mRandomPickupValue;
41 // NOLINTEND
42
43public:
44 // virtual functions
45 // NOLINTBEGIN
46 virtual void reloadHardcoded(::ActorInitializationMethod method, ::VariantParameterList const& params) /*override*/;
47
48 virtual void addAdditionalSaveData(::CompoundTag& tag) const /*override*/;
49
50 virtual void readAdditionalSaveData(::CompoundTag const& tag, ::DataLoadHelper& dataLoadHelper) /*override*/;
51
52 virtual void playerTouch(::Player& player) /*override*/;
53
54 virtual float getShadowRadius() const /*override*/;
55
56 virtual bool isInvulnerableTo(::ActorDamageSource const& source) const /*override*/;
57
58 virtual ::ActorHurtResult _hurt(::ActorDamageSource const&, float damage, bool, bool) /*override*/;
59
60 virtual void doWaterSplashEffect() /*override*/;
61
62 virtual ~ExperienceOrb() /*override*/ = default;
63 // NOLINTEND
64
65public:
66 // member functions
67 // NOLINTBEGIN
68 MCAPI void _handleMending(::Player& player);
69
70 MCAPI void _tryMergeExistingOrbs();
71
72 MCAPI int getValue() const;
73
74 MCAPI void postNormalTick();
75 // NOLINTEND
76
77public:
78 // static functions
79 // NOLINTBEGIN
80 MCAPI static void _spawnOrb(::BlockSource& region, ::Level& level, ::Vec3 const& pos, int orbXPValue);
81
82 MCAPI static bool _tryMergeIntoExistingOrbs(::BlockSource& region, ::Vec3 const& pos, int xpValue);
83
84 MCAPI static void spawnOrbs(
85 ::BlockSource& region,
86 ::Vec3 const& pos,
87 int xpValue,
88 ::ExperienceOrb::DropType dropType,
89 ::Player* owner
90 );
91 // NOLINTEND
92
93public:
94 // virtual function thunks
95 // NOLINTBEGIN
96 MCAPI void $reloadHardcoded(::ActorInitializationMethod method, ::VariantParameterList const& params);
97
98 MCAPI void $addAdditionalSaveData(::CompoundTag& tag) const;
99
100 MCAPI void $readAdditionalSaveData(::CompoundTag const& tag, ::DataLoadHelper& dataLoadHelper);
101
102 MCAPI void $playerTouch(::Player& player);
103
104 MCFOLD float $getShadowRadius() const;
105
106 MCAPI bool $isInvulnerableTo(::ActorDamageSource const& source) const;
107
108 MCAPI ::ActorHurtResult $_hurt(::ActorDamageSource const&, float damage, bool, bool);
109
110 MCFOLD void $doWaterSplashEffect();
111
112
113 // NOLINTEND
114
115public:
116 // vftables
117 // NOLINTBEGIN
118 MCAPI static void** $vftable();
119 // NOLINTEND
120};
Definition ActorDamageSource.h:18
Definition ActorHurtResult.h:5
Definition BlockSource.h:71
Definition CompoundTag.h:23
Definition DataLoadHelper.h:20
Definition ExperienceOrb.h:23
Definition Level.h:250
Definition Player.h:129
Definition Vec3.h:10
Definition VariantParameterList.h:13