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