From 127c6638ad4cbfe102012599218b4b6304d945dc Mon Sep 17 00:00:00 2001 From: David Cernat Date: Mon, 10 Jun 2013 19:06:52 +0300 Subject: [PATCH] Make Spawn's Target argument also work on creatures with old AI. --- .../denizen/scripts/commands/core/SpawnCommand.java | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/main/java/net/aufdemrand/denizen/scripts/commands/core/SpawnCommand.java b/src/main/java/net/aufdemrand/denizen/scripts/commands/core/SpawnCommand.java index 93268e3035..a7ae85846e 100644 --- a/src/main/java/net/aufdemrand/denizen/scripts/commands/core/SpawnCommand.java +++ b/src/main/java/net/aufdemrand/denizen/scripts/commands/core/SpawnCommand.java @@ -13,6 +13,7 @@ import org.bukkit.craftbukkit.v1_5_R3.entity.CraftCreature; import org.bukkit.craftbukkit.v1_5_R3.entity.CraftLivingEntity; +import org.bukkit.entity.Creature; import org.bukkit.entity.Entity; import org.bukkit.entity.EntityType; import org.bukkit.entity.LivingEntity; @@ -49,6 +50,11 @@ else if (aH.matchesLocation(arg)) { } else if (aH.matchesValueArg("TARGET", arg, ArgumentType.Custom)) { target = dEntity.valueOf(aH.getStringFrom(arg)).getBukkitEntity(); + dB.echoDebug("...target set to '%s' at " + + target.getLocation().getBlockX() + "," + + target.getLocation().getBlockY() + "," + + target.getLocation().getBlockZ() + "," + + target.getLocation().getWorld().getName(), arg); } else throw new InvalidArgumentsException(Messages.ERROR_UNKNOWN_ARGUMENT, arg); } @@ -77,11 +83,11 @@ public void execute(final ScriptEntry scriptEntry) throws CommandExecutionExcept // If target is not null and entity is a Creature, make entity go after the target if (target != null && entity instanceof CraftCreature) { - - dB.echoApproval("SETTING TARGET! " + target.getType().toString()); - + ((CraftCreature) entity).getHandle(). setGoalTarget(((CraftLivingEntity) target).getHandle()); + + ((CraftCreature) entity).setTarget(target); } // If entity is a Skeleton, give it a bow