Something went wrong. Try again.
the game where you go into mines and start crafting! but for consoles (forked directly from smartcmd's github)
Something went wrong. Try again.
1.1 kB · 40 lines
C++
at main
12345678910111213141516171819202122232425262728293031323334353637383940#include "stdafx.h"#include "net.minecraft.world.entity.ai.control.h"#include "net.minecraft.world.entity.h"#include "LeapAtTargetGoal.h"
LeapAtTargetGoal::LeapAtTargetGoal(Mob *mob, float yd){ target = weak_ptr<LivingEntity>();
this->mob = mob; this->yd = yd; setRequiredControlFlags(Control::JumpControlFlag | Control::MoveControlFlag);}
bool LeapAtTargetGoal::canUse(){ target = weak_ptr<LivingEntity>(mob->getTarget()); if (target.lock() == NULL) return false; double d = mob->distanceToSqr(target.lock()); if (d < 2 * 2 || d > 4 * 4) return false; if (!mob->onGround) return false; if (mob->getRandom()->nextInt(5) != 0) return false; return true;}
bool LeapAtTargetGoal::canContinueToUse(){ return target.lock() != NULL && !mob->onGround;}
void LeapAtTargetGoal::start(){ // TODO: move to control? double xdd = target.lock()->x - mob->x; double zdd = target.lock()->z - mob->z; float dd = sqrt(xdd * xdd + zdd * zdd); mob->xd += (xdd / dd * 0.5f) * 0.8f + mob->xd * 0.2f; mob->zd += (zdd / dd * 0.5f) * 0.8f + mob->zd * 0.2f; mob->yd = yd;}