Skip to content
LeviMC
English
AutoLightDark
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
75 ::ActorDefinitionGroup* definitions,
76 ::ActorDefinitionIdentifier const& definitionName,
77 ::EntityContext& entityContext
78 );
79
80 MCNAPI 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 MCNAPI 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 MCNAPI void* $ctor(
103 ::ActorDefinitionGroup* definitions,
104 ::ActorDefinitionIdentifier const& definitionName,
105 ::EntityContext& entityContext
106 );
107 // NOLINTEND
108
109public:
110 // virtual function thunks
111 // NOLINTBEGIN
112 MCNAPI void $reloadHardcoded(::ActorInitializationMethod method, ::VariantParameterList const& params);
113
114 MCNAPI void $addAdditionalSaveData(::CompoundTag& tag) const;
115
116 MCNAPI void $readAdditionalSaveData(::CompoundTag const& tag, ::DataLoadHelper& dataLoadHelper);
117
118 MCAPI void $playerTouch(::Player& player);
119
120 MCNAPI float $getShadowRadius() const;
121
122 MCNAPI bool $isInvulnerableTo(::ActorDamageSource const& source) const;
123
124 MCNAPI ::ActorHurtResult $_hurt(::ActorDamageSource const&, float damage, ::HurtParameters const&);
125
126 MCNAPI void $doWaterSplashEffect();
127
128
129 // NOLINTEND
130};
Definition ActorDamageSource.h:18
Definition ActorDefinitionGroup.h:26
Definition ActorHurtResult.h:5
Definition BlockSource.h:72
Definition CompoundTag.h:18
Definition DataLoadHelper.h:20
Definition EntityContext.h:15
MCAPI bool $isInvulnerableTo(::ActorDamageSource const &source) const
MCAPI void $doWaterSplashEffect()
MCAPI void $addAdditionalSaveData(::CompoundTag &tag) const
MCAPI void * $ctor(::ActorDefinitionGroup *definitions, ::ActorDefinitionIdentifier const &definitionName, ::EntityContext &entityContext)
MCAPI void $reloadHardcoded(::ActorInitializationMethod method, ::VariantParameterList const &params)
MCAPI ExperienceOrb(::ActorDefinitionGroup *definitions, ::ActorDefinitionIdentifier const &definitionName, ::EntityContext &entityContext)
MCAPI void postNormalTick()
MCAPI float $getShadowRadius() const
static MCAPI bool _tryMergeIntoExistingOrbs(::BlockSource &region, ::Vec3 const &pos, int xpValue)
MCAPI::ActorHurtResult $_hurt(::ActorDamageSource const &, float damage, ::HurtParameters const &)
MCAPI void $readAdditionalSaveData(::CompoundTag const &tag, ::DataLoadHelper &dataLoadHelper)
Definition Level.h:255
Definition Player.h:131
Definition Vec3.h:10
Definition ActorDefinitionIdentifier.h:15
Definition HurtParameters.h:8
Definition VariantParameterList.h:17