summaryrefslogtreecommitdiffstats
path: root/src/main/java/org
diff options
context:
space:
mode:
authorfeildmaster <admin@feildmaster.com>2012-03-08 18:26:46 -0600
committerEvilSeph <evilseph@gmail.com>2012-03-10 02:02:08 -0500
commit06e507f3c67c17435ea06f912a50f81af49cb984 (patch)
tree414b8a54942fb6659545d8f49b8ebfe88d929fde /src/main/java/org
parent101756dcc1301190e486e377fdbcfb4284290390 (diff)
downloadbukkit-06e507f3c67c17435ea06f912a50f81af49cb984.tar
bukkit-06e507f3c67c17435ea06f912a50f81af49cb984.tar.gz
bukkit-06e507f3c67c17435ea06f912a50f81af49cb984.tar.lz
bukkit-06e507f3c67c17435ea06f912a50f81af49cb984.tar.xz
bukkit-06e507f3c67c17435ea06f912a50f81af49cb984.zip
[Bleeding] Add new sub-event for target goals, and DEFEND_VILLAGE TargetReason. Fixes BUKKIT-935
Diffstat (limited to 'src/main/java/org')
-rw-r--r--src/main/java/org/bukkit/event/entity/EntityTargetEvent.java7
-rw-r--r--src/main/java/org/bukkit/event/entity/EntityTargetLivingEntityEvent.java32
2 files changed, 37 insertions, 2 deletions
diff --git a/src/main/java/org/bukkit/event/entity/EntityTargetEvent.java b/src/main/java/org/bukkit/event/entity/EntityTargetEvent.java
index 1329bfd2..6f891acf 100644
--- a/src/main/java/org/bukkit/event/entity/EntityTargetEvent.java
+++ b/src/main/java/org/bukkit/event/entity/EntityTargetEvent.java
@@ -9,14 +9,13 @@ import org.bukkit.event.HandlerList;
*/
public class EntityTargetEvent extends EntityEvent implements Cancellable {
private static final HandlerList handlers = new HandlerList();
- private boolean cancel;
+ private boolean cancel = false;
private Entity target;
private final TargetReason reason;
public EntityTargetEvent(final Entity entity, final Entity target, final TargetReason reason) {
super(entity);
this.target = target;
- this.cancel = false;
this.reason = reason;
}
@@ -113,6 +112,10 @@ public class EntityTargetEvent extends EntityEvent implements Cancellable {
*/
RANDOM_TARGET,
/**
+ * When an entity selects a target while defending a village.
+ */
+ DEFEND_VILLAGE,
+ /**
* For custom calls to the event
*/
CUSTOM
diff --git a/src/main/java/org/bukkit/event/entity/EntityTargetLivingEntityEvent.java b/src/main/java/org/bukkit/event/entity/EntityTargetLivingEntityEvent.java
new file mode 100644
index 00000000..f5010b1e
--- /dev/null
+++ b/src/main/java/org/bukkit/event/entity/EntityTargetLivingEntityEvent.java
@@ -0,0 +1,32 @@
+package org.bukkit.event.entity;
+
+import org.bukkit.entity.Entity;
+import org.bukkit.entity.LivingEntity;
+
+/**
+ * Called when an Entity targets a {@link LivingEntity} and can only target LivingEntity's.
+ */
+public class EntityTargetLivingEntityEvent extends EntityTargetEvent{
+ public EntityTargetLivingEntityEvent(final Entity entity, final LivingEntity target, final TargetReason reason) {
+ super(entity, target, reason);
+ }
+
+ public LivingEntity getTarget() {
+ return (LivingEntity) super.getTarget();
+ }
+
+ /**
+ * Set the Entity that you want the mob to target.
+ * It is possible to be null, null will cause the entity to be
+ * target-less.
+ * <p />
+ * Must be a LivingEntity, or null
+ *
+ * @param target The entity to target
+ */
+ public void setTarget(Entity target) {
+ if (target == null || target instanceof LivingEntity) {
+ super.setTarget(target);
+ }
+ }
+}