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 "OwnerHurtByTargetGoal.h"
OwnerHurtByTargetGoal::OwnerHurtByTargetGoal(TamableAnimal *tameAnimal) : TargetGoal(tameAnimal, 32, false){ this->tameAnimal = tameAnimal; timestamp = 0; setRequiredControlFlags(TargetGoal::TargetFlag);}
bool OwnerHurtByTargetGoal::canUse(){ if (!tameAnimal->isTame()) return false; shared_ptr<LivingEntity> owner = dynamic_pointer_cast<LivingEntity>( tameAnimal->getOwner() ); if (owner == NULL) return false; ownerLastHurtBy = weak_ptr<LivingEntity>(owner->getLastHurtByMob()); int ts = owner->getLastHurtByMobTimestamp();
shared_ptr<LivingEntity> locked = ownerLastHurtBy.lock(); return ts != timestamp && canAttack(locked, false) && tameAnimal->wantsToAttack(locked, owner);}
void OwnerHurtByTargetGoal::start(){ mob->setTarget(ownerLastHurtBy.lock());
shared_ptr<LivingEntity> owner = dynamic_pointer_cast<LivingEntity>( tameAnimal->getOwner() ); if (owner != NULL) { timestamp = owner->getLastHurtByMobTimestamp(); }
TargetGoal::start();}