36 ::ll::TypedStorage<4, 4, int> mSearchWidth;
37 ::ll::TypedStorage<4, 4, int> mSearchHeight;
38 ::ll::TypedStorage<4, 4, int> mMinPathLength;
39 ::ll::TypedStorage<4, 4, int> mMinDistance;
40 ::ll::TypedStorage<4, 8, ::FloatRange> mCooldownTime;
41 ::ll::TypedStorage<4, 4, float> mScaleFactor;
42 ::ll::TypedStorage<4, 4, float> mMaxVelocity;
43 ::ll::TypedStorage<8, 24, ::std::vector<::ItemDescriptor>> mPreferredBlocks;
44 ::ll::TypedStorage<4, 4, float> mPreferredBlocksChance;
45 ::ll::TypedStorage<8, 24, ::std::vector<::ItemDescriptor>> mForbiddenBlocks;
58 MCAPI
static void buildSchema(
59 ::std::string
const& name,
78 enum class JumpState : uchar {
90 ::ll::TypedStorage<4, 12, ::BlockPos> targetPos;
91 ::ll::TypedStorage<4, 12, ::Vec3> velocityVector;
92 ::ll::TypedStorage<4, 4, int> mWeight;
99 ::ll::TypedStorage<8, 8, ::Mob&> mMob;
100 ::ll::TypedStorage<1, 1, bool> mDiscardFrictionDefault;
101 ::ll::TypedStorage<8, 8, ::Tick> mCooldownTimeout;
102 ::ll::TypedStorage<8, 8, ::Tick> mNextCandidateCheck;
103 ::ll::TypedStorage<4, 4, int> mCandidateAttemptCounter;
104 ::ll::TypedStorage<1, 1, ::JumpToBlockGoal::JumpState> mState;
105 ::ll::TypedStorage<8, 24, ::std::vector<::Vec3>> mJumpCurve;
106 ::ll::TypedStorage<4, 12, ::BlockPos> mTargetBlockPos;
107 ::ll::TypedStorage<8, 24, ::std::vector<::BlockPos>> mCandidateBlocksPositions;
108 ::ll::TypedStorage<4, 12, ::BlockPos> mStartingPos;
109 ::ll::TypedStorage<8, 24, ::std::vector<::JumpToBlockGoal::WeightedJumpToBlockPos>> mJumpableBlocksPositions;
110 ::ll::TypedStorage<4, 12, ::Vec3> mVelocityVector;
111 ::ll::TypedStorage<8, 8, ::Tick> mFaceJumpTimer;
112 ::ll::TypedStorage<8, 104, ::JumpToBlockGoal::Definition> mDefinition;
113 ::ll::TypedStorage<4, 24, ::AABB const> mOriginalAabb;
126 virtual bool canUse() ;
129 virtual bool canContinueToUse() ;
132 virtual void start() ;
135 virtual void stop() ;
138 virtual void tick() ;
141 virtual bool canBeInterrupted() ;
144 virtual void appendDebugInfo(::std::string& str)
const ;
155 MCAPI
void _clearGoalState();
159 MCAPI
bool _findJumpableBlocks(
bool useOnlyPreferredBlocksIfAny);
161 MCAPI
bool _findTargetBlock();
163 MCAPI
void resetCooldown();
169 MCAPI
void* $ctor(
::Mob& mob);
181 MCAPI
bool $canUse();
183 MCAPI
bool $canContinueToUse();
191 MCFOLD
bool $canBeInterrupted();
193 MCAPI
void $appendDebugInfo(::std::string& str)
const;