From c3630c1da39989bf46b285ada8af0af11f64b145 Mon Sep 17 00:00:00 2001 From: fullwall Date: Mon, 15 Oct 2012 18:14:27 +0800 Subject: [PATCH] Implement AttackStrategy --- src/main/java/net/citizensnpcs/npc/ai/MCTargetStrategy.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/main/java/net/citizensnpcs/npc/ai/MCTargetStrategy.java b/src/main/java/net/citizensnpcs/npc/ai/MCTargetStrategy.java index b171060e2..d1aa1f012 100644 --- a/src/main/java/net/citizensnpcs/npc/ai/MCTargetStrategy.java +++ b/src/main/java/net/citizensnpcs/npc/ai/MCTargetStrategy.java @@ -1,5 +1,6 @@ package net.citizensnpcs.npc.ai; +import net.citizensnpcs.api.ai.AttackStrategy; import net.citizensnpcs.api.ai.EntityTarget; import net.citizensnpcs.api.ai.NavigatorParameters; import net.citizensnpcs.api.ai.TargetType; @@ -94,7 +95,9 @@ public class MCTargetStrategy implements PathStrategy, EntityTarget { navigation.a(target, parameters.speed()); NMS.look(handle.getControllerLook(), handle, target); if (aggro && canAttack()) { - if (handle instanceof EntityPlayer) { + AttackStrategy strategy = parameters.attackStrategy(); + if (strategy != null && strategy.handle((LivingEntity) handle.getBukkitEntity(), getTarget())) { + } else if (handle instanceof EntityPlayer) { EntityPlayer humanHandle = (EntityPlayer) handle; humanHandle.attack(target); Util.sendPacketNearby(handle.getBukkitEntity().getLocation(), new Packet18ArmAnimation(