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 update(::Actor& actor, bool instant);
34
35 MCAPI int updateFromPosition(
36 ::BlockSource const* region,
37 ::Actor* actor,
38 float x,
39 float z,
40 float yRot,
41 bool isZFlipped,
42 bool instant
43 );
44
45 MCAPI int updateFromPosition(
46 ::BlockSource const*,
47 ::BlockPos const& lookTowards,
48 float x,
49 float z,
50 float yRot,
51 bool isZFlipped,
52 bool instant,
53 bool spin
54 );
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:105
Definition BlockPos.h:19
Definition BlockSource.h:68
Definition CompassSpriteCalculator.h:12