LeviLamina
Loading...
Searching...
No Matches
CompassSpriteCalculator.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated forward declare list
6// clang-format off
7class Actor;
8class BlockPos;
9class BlockSource;
10// clang-format on
11
13public:
14 // CompassSpriteCalculator inner types define
15 using IsPointingAtTargetFunction = bool (*)(::BlockSource const*, ::Actor*);
16
17 using PointToTargetFunction = ::BlockPos (*)(::BlockSource const*, ::Actor*);
18
19public:
20 // member variables
21 // NOLINTBEGIN
22 ::ll::TypedStorage<8, 8, ::BlockPos (*)(::BlockSource const*, ::Actor*)> mTargetToPointTo;
23 ::ll::TypedStorage<8, 8, bool (*)(::BlockSource const*, ::Actor*)> mIsPointingAtTarget;
24 ::ll::TypedStorage<4, 4, int> mFrame;
25 ::ll::TypedStorage<4, 4, float> mRot;
26 ::ll::TypedStorage<4, 4, float> mRotA;
27 ::ll::TypedStorage<4, 4, int> mLastUpdatedAt;
28 // NOLINTEND
29
30public:
31 // member functions
32 // NOLINTBEGIN
33 MCAPI int updateFromPosition(
34 ::BlockSource const* region,
35 ::Actor* actor,
36 float x,
37 float z,
38 float yRot,
39 bool isZFlipped,
40 bool instant
41 );
42
43#ifdef LL_PLAT_C
44 MCAPI int updateFromPosition(
45 ::BlockSource const*,
46 ::BlockPos const& lookTowards,
47 float x,
48 float z,
49 float yRot,
50 bool isZFlipped,
51 bool instant,
52 bool spin
53 );
54#endif
55 // NOLINTEND
56
57public:
58 // static functions
59 // NOLINTBEGIN
60 MCAPI static bool isInLastDeathDimension(::BlockSource const* region, ::Actor* actor);
61
62 MCAPI static bool isInOverworldDimension(::BlockSource const* region, ::Actor*);
63
64 MCAPI static ::BlockPos pointTowardsLastDeathLocation(::BlockSource const* region, ::Actor* actor);
65
66 MCAPI static ::BlockPos pointTowardsSpawnPoint(::BlockSource const* region, ::Actor*);
67 // NOLINTEND
68};
Definition Actor.h:113
Definition BlockPos.h:17
Definition BlockSource.h:71
Definition CompassSpriteCalculator.h:12