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 · 36 lines
C++
at main
123456789101112131415161718192021222324252627282930313233343536#include "stdafx.h"#include "net.minecraft.world.entity.h"#include "net.minecraft.world.entity.animal.h"#include "OwnerHurtTargetGoal.h"
OwnerHurtTargetGoal::OwnerHurtTargetGoal(TamableAnimal *tameAnimal) : TargetGoal(tameAnimal, 32, false){ this->tameAnimal = tameAnimal; setRequiredControlFlags(TargetGoal::TargetFlag); timestamp = 0;}
bool OwnerHurtTargetGoal::canUse(){ if (!tameAnimal->isTame()) return false; shared_ptr<LivingEntity> owner = dynamic_pointer_cast<LivingEntity>( tameAnimal->getOwner() ); if (owner == NULL) return false; ownerLastHurt = weak_ptr<LivingEntity>(owner->getLastHurtMob()); int ts = owner->getLastHurtMobTimestamp(); shared_ptr<LivingEntity> locked = ownerLastHurt.lock(); return ts != timestamp && canAttack(locked, false) && tameAnimal->wantsToAttack(locked, owner);}
void OwnerHurtTargetGoal::start(){ mob->setTarget(ownerLastHurt.lock());
shared_ptr<LivingEntity> owner = dynamic_pointer_cast<LivingEntity>( tameAnimal->getOwner() ); if (owner != NULL) { timestamp = owner->getLastHurtMobTimestamp();
TargetGoal::start(); }}