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.8 kB · 62 lines
C++
at master
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162#include "stdafx.h"#include "net.minecraft.world.entity.h"#include "net.minecraft.world.entity.ai.control.h"#include "net.minecraft.world.entity.animal.h"#include "net.minecraft.world.entity.ai.navigation.h"#include "net.minecraft.world.entity.player.h"#include "net.minecraft.world.level.h"#include "RandomPos.h"#include "RunAroundLikeCrazyGoal.h"
RunAroundLikeCrazyGoal::RunAroundLikeCrazyGoal(EntityHorse *mob, double speedModifier){ horse = mob; this->speedModifier = speedModifier; setRequiredControlFlags(Control::MoveControlFlag);}
bool RunAroundLikeCrazyGoal::canUse(){ if (horse->isTamed() || horse->rider.lock() == NULL) return false; Vec3 *pos = RandomPos::getPos(dynamic_pointer_cast<PathfinderMob>(horse->shared_from_this()), 5, 4); if (pos == NULL) return false; posX = pos->x; posY = pos->y; posZ = pos->z; return true;}
void RunAroundLikeCrazyGoal::start(){ horse->getNavigation()->moveTo(posX, posY, posZ, speedModifier);}
bool RunAroundLikeCrazyGoal::canContinueToUse(){ return !horse->getNavigation()->isDone() && horse->rider.lock() != NULL;}
void RunAroundLikeCrazyGoal::tick(){ if (horse->getRandom()->nextInt(50) == 0) {
if ( horse->rider.lock()->instanceof(eTYPE_PLAYER) ) { int temper = horse->getTemper(); int maxTemper = horse->getMaxTemper(); if (maxTemper > 0 && horse->getRandom()->nextInt(maxTemper) < temper) { horse->tameWithName(dynamic_pointer_cast<Player>(horse->rider.lock())); horse->level->broadcastEntityEvent(horse->shared_from_this(), EntityEvent::TAMING_SUCCEEDED); return; } horse->modifyTemper(5); }
horse->rider.lock()->ride(nullptr); horse->rider = weak_ptr<LivingEntity>(); horse->makeMad(); horse->level->broadcastEntityEvent(horse->shared_from_this(), EntityEvent::TAMING_FAILED); }}