4jcraft/targets/minecraft/world/entity/ai/goal/FloatGoal.cpp

19 lines
605 B
C++

#include "FloatGoal.h"
#include "java/Random.h"
#include "minecraft/world/entity/Mob.h"
#include "minecraft/world/entity/ai/control/Control.h"
#include "minecraft/world/entity/ai/control/JumpControl.h"
#include "minecraft/world/entity/ai/navigation/PathNavigation.h"
FloatGoal::FloatGoal(Mob* mob) {
this->mob = mob;
setRequiredControlFlags(Control::JumpControlFlag);
mob->getNavigation()->setCanFloat(true);
}
bool FloatGoal::canUse() { return (mob->isInWater() || mob->isInLava()); }
void FloatGoal::tick() {
if (mob->getRandom()->nextFloat() < 0.8f) mob->getJumpControl()->jump();
}