Skip to content
LeviMC
English
AutoLightDark
LeviLamina
Loading...
Searching...
No Matches
LodestoneCompassItem.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/world/item/AbstractCompassItem.h"
7#include "mc/world/item/HandSlot.h"
8
9// auto generated forward declare list
10// clang-format off
11class Actor;
12class BlockPos;
13class BlockSource;
15class ItemStack;
16class ItemStackBase;
17class Level;
19class Mob;
21class Vec3;
22struct ActorUniqueID;
23struct DimensionType;
24namespace PositionTrackingDB { class TrackingRecord; }
25// clang-format on
26
28public:
29 // virtual functions
30 // NOLINTBEGIN
31 virtual int getAnimationFrameFor(::Mob* holder, bool, ::ItemStack const* item, bool) const /*override*/;
32
33 virtual ::InteractionResult _useOn(
34 ::ItemStack& item,
35 ::Actor& entity,
36 ::BlockPos pos,
37 uchar face,
38 ::HandSlot handSlot,
39 ::Vec3 const& clickPos
40 ) const /*override*/;
41 // NOLINTEND
42
43public:
44 // static functions
45 // NOLINTBEGIN
46#ifdef LL_PLAT_C
47 MCNAPI static ::LodestoneCompassComponent* _tryGetOrAddComponent(
49 ::std::variant<::ActorUniqueID, ::std::pair<::BlockPos, ::DimensionType>> const& calcId
50 );
51
52 MCNAPI static int getCompassFrame(
53 ::std::variant<::ActorUniqueID, ::std::pair<::BlockPos, ::DimensionType>>& calcId,
54 ::ItemStack const& item,
55 ::Level const& level,
56 ::BlockPos const& itemPosition,
57 ::DimensionType const& itemDimension
58 );
59
60 MCNAPI static ::PositionTrackingId getPositionTrackingId(::ItemStackBase const& item);
61#endif
62
63 MCNAPI static bool linkCompassToLodestone(::ItemStack& item, ::BlockSource& region, ::BlockPos pos);
64 // NOLINTEND
65
66public:
67 // virtual function thunks
68 // NOLINTBEGIN
69 MCNAPI int $getAnimationFrameFor(::Mob* holder, bool, ::ItemStack const* item, bool) const;
70
71 MCNAPI ::InteractionResult $_useOn(
72 ::ItemStack& item,
73 ::Actor& entity,
74 ::BlockPos pos,
75 uchar face,
76 ::HandSlot handSlot,
77 ::Vec3 const& clickPos
78 ) const;
79
80
81 // NOLINTEND
82
83public:
84 // vftables
85 // NOLINTBEGIN
86 MCNAPI static void** $vftable();
87 // NOLINTEND
88};
Definition AbstractCompassItem.h:17
Definition Actor.h:116
Definition BlockPos.h:14
Definition BlockSource.h:72
Definition InteractionResult.h:5
Definition ItemStackBase.h:45
Definition ItemStack.h:26
Definition Level.h:255
Definition LodestoneCompassComponent.h:18
Definition LodestoneCompassItem.h:27
static MCAPI void ** $vftable()
MCAPI::InteractionResult $_useOn(::ItemStack &item, ::Actor &entity, ::BlockPos pos, uchar face, ::HandSlot handSlot, ::Vec3 const &clickPos) const
static MCAPI bool linkCompassToLodestone(::ItemStack &item, ::BlockSource &region, ::BlockPos pos)
MCAPI int $getAnimationFrameFor(::Mob *holder, bool, ::ItemStack const *item, bool) const
Definition Mob.h:58
Definition TrackingRecord.h:21
Definition PositionTrackingId.h:5
Definition Vec3.h:10
Definition ActorUniqueID.h:5
Definition DimensionType.h:5