Skip to content
LeviMC
English
AutoLightDark
LeviLamina
Loading...
Searching...
No Matches
HangingActor.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/world/actor/Actor.h"
7#include "mc/world/actor/ActorInitializationMethod.h"
8
9// auto generated forward declare list
10// clang-format off
13class ActorHurtResult;
14class BlockPos;
15class BlockSource;
16class CompoundTag;
17class DataLoadHelper;
18class EntityContext;
21struct HurtParameters;
23// clang-format on
24
25class HangingActor : public ::Actor {
26public:
27 // member variables
28 // NOLINTBEGIN
29 ::ll::TypedStorage<4, 4, int> mDirection;
30 ::ll::TypedStorage<4, 4, int> mTicksToWouldSurviveCheck;
31 ::ll::TypedStorage<4, 4, int> mWouldSurviveCheckCooldown;
32 // NOLINTEND
33
34public:
35 // prevent constructor by default
36 HangingActor();
37
38public:
39 // virtual functions
40 // NOLINTBEGIN
41 virtual void normalTick() /*override*/;
42
43 virtual int getWidth() const = 0;
44
45 virtual int getHeight() const = 0;
46
47 virtual void dropItem() = 0;
48
49 virtual float getBrightness(float a, ::IConstBlockSource const& region) const /*override*/;
50
51 virtual bool placeHangingEntity(::BlockSource& region, int direction);
52
53 virtual bool wouldSurvive(::BlockSource& region);
54
55 virtual bool isInvulnerableTo(::ActorDamageSource const& source) const /*override*/;
56
57 virtual void reloadHardcoded(::ActorInitializationMethod, ::VariantParameterList const&) /*override*/;
58
59 virtual void reloadHardcodedClient(::ActorInitializationMethod method) /*override*/;
60
61 virtual ::ActorHurtResult _hurt(::ActorDamageSource const& source, float, ::HurtParameters const&) /*override*/;
62
63 virtual void addAdditionalSaveData(::CompoundTag& tag) const /*override*/;
64
65 virtual void readAdditionalSaveData(::CompoundTag const& tag, ::DataLoadHelper& dataLoadHelper) /*override*/;
66 // NOLINTEND
67
68public:
69 // member functions
70 // NOLINTBEGIN
72 ::ActorDefinitionGroup* definitions,
73 ::ActorDefinitionIdentifier const& definitionName,
74 ::EntityContext& entityContext,
75 int wouldSurviveCheckCooldown
76 );
77
78 MCNAPI bool _blockContainsObstruction(::BlockSource const& region, ::BlockPos const& blockPos) const;
79
80 MCNAPI bool _blockIsObstruction(::BlockSource const& region, ::BlockPos const& blockPos) const;
81
82 MCNAPI void _calculateAABB();
83
84#ifdef LL_PLAT_S
85 MCNAPI void _calculateActorPositionFromPlacementPosition(::BlockPos const& blockPos);
86#endif
87
88#ifdef LL_PLAT_C
89 MCNAPI void _calculateActorPositionFromPlacementPosition(::BlockPos const& blockPos);
90#endif
91
92#ifdef LL_PLAT_S
93 MCNAPI bool _wouldSurvive(::BlockSource& region, ::BlockPos const& blockPos, bool beingPlaced);
94#endif
95
96#ifdef LL_PLAT_C
97 MCNAPI bool _wouldSurvive(::BlockSource& region, ::BlockPos const& blockPos, bool beingPlaced);
98#endif
99 // NOLINTEND
100
101public:
102 // constructor thunks
103 // NOLINTBEGIN
104 MCNAPI void* $ctor(
105 ::ActorDefinitionGroup* definitions,
106 ::ActorDefinitionIdentifier const& definitionName,
107 ::EntityContext& entityContext,
108 int wouldSurviveCheckCooldown
109 );
110 // NOLINTEND
111
112public:
113 // virtual function thunks
114 // NOLINTBEGIN
115 MCNAPI void $normalTick();
116
117 MCNAPI float $getBrightness(float a, ::IConstBlockSource const& region) const;
118
119 MCNAPI bool $placeHangingEntity(::BlockSource& region, int direction);
120
121 MCNAPI bool $wouldSurvive(::BlockSource& region);
122
123 MCNAPI bool $isInvulnerableTo(::ActorDamageSource const& source) const;
124
125 MCNAPI void $reloadHardcoded(::ActorInitializationMethod, ::VariantParameterList const&);
126
127 MCNAPI void $reloadHardcodedClient(::ActorInitializationMethod method);
128
129 MCNAPI ::ActorHurtResult $_hurt(::ActorDamageSource const& source, float, ::HurtParameters const&);
130
131 MCNAPI void $addAdditionalSaveData(::CompoundTag& tag) const;
132
133 MCNAPI void $readAdditionalSaveData(::CompoundTag const& tag, ::DataLoadHelper& dataLoadHelper);
134
135
136 // NOLINTEND
137};
Definition ActorDamageSource.h:18
Definition ActorDefinitionGroup.h:26
Definition ActorHurtResult.h:5
Definition BlockPos.h:14
Definition BlockSource.h:72
Definition CompoundTag.h:18
Definition DataLoadHelper.h:20
Definition EntityContext.h:15
MCAPI float $getBrightness(float a, ::IConstBlockSource const &region) const
MCAPI void * $ctor(::ActorDefinitionGroup *definitions, ::ActorDefinitionIdentifier const &definitionName, ::EntityContext &entityContext, int wouldSurviveCheckCooldown)
MCAPI void $readAdditionalSaveData(::CompoundTag const &tag, ::DataLoadHelper &dataLoadHelper)
MCAPI bool _blockIsObstruction(::BlockSource const &region, ::BlockPos const &blockPos) const
MCAPI void $normalTick()
MCAPI void _calculateAABB()
MCAPI void $reloadHardcoded(::ActorInitializationMethod, ::VariantParameterList const &)
MCAPI bool _blockContainsObstruction(::BlockSource const &region, ::BlockPos const &blockPos) const
MCAPI bool $isInvulnerableTo(::ActorDamageSource const &source) const
MCAPI void $addAdditionalSaveData(::CompoundTag &tag) const
MCAPI HangingActor(::ActorDefinitionGroup *definitions, ::ActorDefinitionIdentifier const &definitionName, ::EntityContext &entityContext, int wouldSurviveCheckCooldown)
MCAPI bool $wouldSurvive(::BlockSource &region)
MCAPI bool $placeHangingEntity(::BlockSource &region, int direction)
MCAPI void $reloadHardcodedClient(::ActorInitializationMethod method)
MCAPI::ActorHurtResult $_hurt(::ActorDamageSource const &source, float, ::HurtParameters const &)
Definition IConstBlockSource.h:25
Definition ActorDefinitionIdentifier.h:15
Definition HurtParameters.h:8
Definition VariantParameterList.h:17