29 enum class JumpState : uchar {
41 ::ll::TypedStorage<4, 12, ::BlockPos> targetPos;
42 ::ll::TypedStorage<4, 12, ::Vec3> velocityVector;
43 ::ll::TypedStorage<4, 4, int> mWeight;
50 ::ll::TypedStorage<8, 8, ::Mob&> mMob;
51 ::ll::TypedStorage<1, 1, bool> mDiscardFrictionDefault;
52 ::ll::TypedStorage<8, 8, ::Tick> mCooldownTimeout;
53 ::ll::TypedStorage<8, 8, ::Tick> mNextCandidateCheck;
54 ::ll::TypedStorage<4, 4, int> mCandidateAttemptCounter;
55 ::ll::TypedStorage<1, 1, ::JumpToBlockGoal::JumpState> mState;
56 ::ll::TypedStorage<8, 24, ::std::vector<::Vec3>> mJumpCurve;
57 ::ll::TypedStorage<4, 12, ::BlockPos> mTargetBlockPos;
58 ::ll::TypedStorage<8, 24, ::std::vector<::BlockPos>> mCandidateBlocksPositions;
59 ::ll::TypedStorage<4, 12, ::BlockPos> mStartingPos;
60 ::ll::TypedStorage<8, 24, ::std::vector<::JumpToBlockGoal::WeightedJumpToBlockPos>> mJumpableBlocksPositions;
61 ::ll::TypedStorage<4, 12, ::Vec3> mVelocityVector;
62 ::ll::TypedStorage<8, 8, ::Tick> mFaceJumpTimer;
63 ::ll::TypedStorage<4, 24, ::AABB const> mOriginalAabb;
64 ::ll::TypedStorage<4, 4, int> mSearchWidth;
65 ::ll::TypedStorage<4, 4, int> mSearchHeight;
66 ::ll::TypedStorage<4, 4, int> mMinPathLength;
67 ::ll::TypedStorage<4, 4, int> mMinDistance;
68 ::ll::TypedStorage<4, 8, ::SharedTypes::FloatRange> mCooldownTime;
69 ::ll::TypedStorage<4, 4, float> mScaleFactor;
70 ::ll::TypedStorage<4, 4, float> mMaxVelocity;
71 ::ll::TypedStorage<8, 24, ::std::vector<::ItemDescriptor>> mPreferredBlocks;
72 ::ll::TypedStorage<4, 4, float> mPreferredBlocksChance;
73 ::ll::TypedStorage<8, 24, ::std::vector<::ItemDescriptor>> mForbiddenBlocks;
78 JumpToBlockGoal& operator=(JumpToBlockGoal
const&);
79 JumpToBlockGoal(JumpToBlockGoal
const&);
85 virtual bool canUse() ;
87 virtual bool canContinueToUse() ;
89 virtual void start() ;
95 virtual bool canBeInterrupted() ;
97 virtual void appendDebugInfo(::std::string& str)
const ;
103 MCAPI
explicit JumpToBlockGoal(
::Mob& mob);
105 MCAPI
void _clearGoalState();
109 MCAPI
bool _findJumpableBlocks(
bool useOnlyPreferredBlocksIfAny);
111 MCAPI
bool _findTargetBlock();
119 MCAPI
void* $ctor(
::Mob& mob);
125 MCAPI
bool $canUse();
127 MCAPI
bool $canContinueToUse();
135 MCFOLD
bool $canBeInterrupted();
137 MCAPI
void $appendDebugInfo(::std::string& str)
const;