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/deps/core/utility/AutomaticID.h"
7#include "mc/world/item/AbstractCompassItem.h"
8
9// auto generated forward declare list
10// clang-format off
11class Actor;
12class BlockPos;
13class BlockSource;
14class Dimension;
16class ItemStack;
17class ItemStackBase;
18class Level;
20class Mob;
22class Vec3;
23struct ActorUniqueID;
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
34 _useOn(::ItemStack& item, ::Actor& entity, ::BlockPos pos, uchar face, ::Vec3 const& clickPos) const /*override*/;
35
36 virtual ~LodestoneCompassItem() /*override*/ = default;
37 // NOLINTEND
38
39public:
40 // static functions
41 // NOLINTBEGIN
42 MCAPI static ::LodestoneCompassComponent* _tryGetOrAddComponent(
44 ::std::variant<::ActorUniqueID, ::std::pair<::BlockPos, ::DimensionType>> const& calcId
45 );
46
47#ifdef LL_PLAT_C
48 MCAPI static int getCompassFrame(
49 ::std::variant<::ActorUniqueID, ::std::pair<::BlockPos, ::DimensionType>>& calcId,
50 ::ItemStack const& item,
51 ::Level const& level,
52 ::BlockPos const& itemPosition,
53 ::DimensionType const& itemDimension
54 );
55
56 MCAPI static ::PositionTrackingId getPositionTrackingId(::ItemStackBase const& item);
57#endif
58
59 MCAPI static bool linkCompassToLodestone(::ItemStack& item, ::BlockSource& region, ::BlockPos pos);
60 // NOLINTEND
61
62public:
63 // virtual function thunks
64 // NOLINTBEGIN
65 MCAPI int $getAnimationFrameFor(::Mob* holder, bool, ::ItemStack const* item, bool) const;
66
67 MCAPI ::InteractionResult
68 $_useOn(::ItemStack& item, ::Actor& entity, ::BlockPos pos, uchar face, ::Vec3 const& clickPos) const;
69
70
71 // NOLINTEND
72
73public:
74 // vftables
75 // NOLINTBEGIN
76 MCAPI static void** $vftable();
77 // NOLINTEND
78};
Definition AbstractCompassItem.h:17
Definition Actor.h:106
Definition BlockPos.h:19
Definition BlockSource.h:71
Definition Dimension.h:86
Definition InteractionResult.h:5
Definition ItemStackBase.h:44
Definition ItemStack.h:26
Definition Level.h:250
Definition LodestoneCompassComponent.h:20
Definition LodestoneCompassItem.h:27
Definition Mob.h:51
Definition TrackingRecord.h:22
Definition PositionTrackingId.h:5
Definition Vec3.h:10
Definition ActorUniqueID.h:5