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& instance, ::Actor& entity, ::BlockPos pos, uchar face, ::Vec3 const& clickPos) const
35 /*override*/;
36
37 virtual ~LodestoneCompassItem() /*override*/ = default;
38 // NOLINTEND
39
40public:
41 // static functions
42 // NOLINTBEGIN
43 MCAPI static ::LodestoneCompassComponent* _tryGetOrAddComponent(
45 ::std::variant<::ActorUniqueID, ::std::pair<::BlockPos, ::DimensionType>> const& calcId
46 );
47
48 MCAPI_C 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_C static ::PositionTrackingId getPositionTrackingId(::ItemStackBase const& item);
57
58 MCAPI static bool linkCompassToLodestone(::ItemStack& item, ::BlockSource& region, ::BlockPos pos);
59 // NOLINTEND
60
61public:
62 // virtual function thunks
63 // NOLINTBEGIN
64 MCAPI int $getAnimationFrameFor(::Mob* holder, bool, ::ItemStack const* item, bool) const;
65
66 MCAPI ::InteractionResult
67 $_useOn(::ItemStack& instance, ::Actor& entity, ::BlockPos pos, uchar face, ::Vec3 const& clickPos) const;
68
69
70 // NOLINTEND
71
72public:
73 // vftables
74 // NOLINTBEGIN
75 MCAPI static void** $vftable();
76 // NOLINTEND
77};
Definition AbstractCompassItem.h:17
Definition Actor.h:105
Definition BlockPos.h:19
Definition BlockSource.h:68
Definition Dimension.h:85
Definition InteractionResult.h:5
Definition ItemStackBase.h:44
Definition ItemStack.h:26
Definition Level.h:249
Definition LodestoneCompassComponent.h:20
Definition LodestoneCompassItem.h:27
Definition Mob.h:50
Definition TrackingRecord.h:14
Definition PositionTrackingId.h:5
Definition Vec3.h:10
Definition ActorUniqueID.h:5