20class TransportItemsGoal :
public ::Goal {
28 enum class Event :
int {
29 StartTakeInteractionWillFail = 0,
30 StartTakeInteractionWillSucceed = 1,
31 StartPlaceInteractionWillFail = 2,
32 StartPlaceInteractionWillSucceed = 3,
33 FinishedInteraction = 4,
36 enum class State :
int {
47 ::ll::TypedStorage<8, 16, ::std::weak_ptr<::ChestBlockActor::ChestCloser>> mChestCloser;
54 ::ll::TypedStorage<8, 8, ::Mob&> mMob;
55 ::ll::TypedStorage<8, 136, ::TransportItemsGoalSettings> mSettings;
56 ::ll::TypedStorage<4, 4, ::TransportItemsGoal::State> mState;
57 ::ll::TypedStorage<4, 4, uint> mCountedPositions;
58 ::ll::TypedStorage<8, 24, ::std::vector<::BlockPos>> mVisitedPositions;
59 ::ll::TypedStorage<8, 16, ::std::optional<::Tick>> mInteractEndTick;
60 ::ll::TypedStorage<8, 16, ::std::optional<::Tick>> mCooldownEndTick;
61 ::ll::TypedStorage<4, 16, ::std::optional<::BlockPos>> mTargetContainerPosition;
62 ::ll::TypedStorage<1, 2, ::std::optional<bool>> mWasHoldingItemLastTick;
63 ::ll::TypedStorage<8, 24, ::std::optional<::TransportItemsGoal::ContainerCloser>> mContainerCloser;
64 ::ll::TypedStorage<1, 1, bool> mCheckLineOfSight;
69 TransportItemsGoal& operator=(TransportItemsGoal
const&);
70 TransportItemsGoal(TransportItemsGoal
const&);
76 virtual bool canUse() ;
78 virtual bool canContinueToUse() ;
80 virtual void start() ;
86 virtual void appendDebugInfo(::std::string& str)
const ;
88 virtual ~TransportItemsGoal() =
default;
94 MCAPI
bool _canSeeTarget(
::BlockPos const& targetPosition)
const;
96 MCAPI
void _executeEvent(::TransportItemsGoal::Event event)
const;
98 MCAPI
void _tickIdle();
100 MCAPI
void _tickQueuing(
::BlockPos const& targetPos);
102 MCAPI
void _tickTravelling(
::BlockPos const& targetPos);
108 MCAPI
static bool _canSeeTarget(
110 ::Vec3 const& mobHeadPosition,
111 ::AABB const& visualShape,
119 MCAPI
bool $canUse();
121 MCAPI
bool $canContinueToUse();
129 MCAPI
void $appendDebugInfo(::std::string& str)
const;