Wolves attack a target when shot by their owner

This commit is contained in:
TfT_02 2014-04-18 23:15:20 +02:00
parent e4af611c91
commit 8e5340ebc3
3 changed files with 26 additions and 0 deletions

View File

@ -29,6 +29,7 @@ Version 1.5.01-dev
+ Added magical mod config file import command, for Cauldron 1.7+. Check wiki for usage + Added magical mod config file import command, for Cauldron 1.7+. Check wiki for usage
+ Added particle effects and sounds to "Call of the Wild" (Taming) + Added particle effects and sounds to "Call of the Wild" (Taming)
+ Added summon length to "Call of the Wild". Summons will now commit suicide after their lifespan expires + Added summon length to "Call of the Wild". Summons will now commit suicide after their lifespan expires
+ Added feature which makes tamed wolves attack a target shot by the owner
= Fixed bug where pistons would mess with the block tracking = Fixed bug where pistons would mess with the block tracking
= Fixed bug where the Updater was running on the main thread. = Fixed bug where the Updater was running on the main thread.
= Fixed bug when players would use /ptp without being in a party = Fixed bug when players would use /ptp without being in a party

View File

@ -228,6 +228,25 @@ public class TamingManager extends SkillManager {
} }
} }
public void attackTarget(LivingEntity target) {
double range = 5;
Player player = getPlayer();
for (Entity entity : player.getNearbyEntities(range, range, range)) {
if (entity.getType() != EntityType.WOLF) {
continue;
}
Wolf wolf = (Wolf) entity;
if (!wolf.isTamed() || (wolf.getOwner() != player) || wolf.isSitting()) {
continue;
}
wolf.setTarget(target);
}
}
/** /**
* Handle the Call of the Wild ability. * Handle the Call of the Wild ability.
* *

View File

@ -283,6 +283,12 @@ public final class CombatUtils {
if (!Misc.isNPCEntity(player) && SkillType.ARCHERY.getPermissions(player)) { if (!Misc.isNPCEntity(player) && SkillType.ARCHERY.getPermissions(player)) {
processArcheryCombat(target, player, event, arrow); processArcheryCombat(target, player, event, arrow);
} }
if (target.getType() != EntityType.CREEPER && !Misc.isNPCEntity(player) && SkillType.TAMING.getPermissions(player)) {
McMMOPlayer mcMMOPlayer = UserManager.getPlayer(player);
TamingManager tamingManager = mcMMOPlayer.getTamingManager();
tamingManager.attackTarget(target);
}
} }
} }